mapfiles.php
3.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
/*
Title: Administração dos mapfiles principais
About: Licença
I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
Este programa é software livre; você pode redistribuí-lo
e/ou modificá-lo sob os termos da Licença Pública Geral
GNU conforme publicada pela Free Software Foundation;
tanto a versão 2 da Licença.
Este programa é distribuído na expectativa de que seja útil,
porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
Consulte a Licença Pública Geral do GNU para mais detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral do
GNU junto com este programa; se não, escreva para a
Free Software Foundation, Inc., no endereço
59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
File: i3geo/admin/mapfiles.php
19/6/2007
*/
require_once("admin.php");
$cp = new cpaint();
//faz a busca da função que deve ser executada
switch ($funcao)
{
//pega os parâmetros do ms_configura
case "pegaParametrosConfigura":
$vs = array(
"FONTSET ",
"SYMBOLSET ",
"SHAPEPATH ",
"EXTENT ",
"IMAGE ",
"IMAGEPATH ",
"IMAGEURL "
);
$par = array();
foreach ($vs as $v)
{
$handle = fopen ($temasaplic."/".$mapfile.".map", "r");
while (!feof ($handle)) {
$buffer = fgets($handle);
if(!(stristr($buffer, $v) === FALSE))
{
$temp = explode(trim($v),$buffer);
if(trim($temp[0]) != "#")
{
$temp = trim($temp[1]);
$par[trim($v)] = $temp;
fclose ($handle);
break;
}
}
}
}
retornaJSON($par);
exit;
break;
//retorna o mapfile atual como texto
case "restauraConfigura":
$cp->register('restauraConfigura');
unlink($temasaplic."/".$mapfile.".map");
copy ($temasaplic."/".$mapfile.".default",$temasaplic."/".$mapfile.".map");
$cp->set_data("ok");
$cp->return_data();
break;
//salva um novo valor para uma variável do ms_configura
case "salvaConfigura":
salvaConfigura($variavel,$valor,$mapfile,$temasaplic);
retornaJSON("ok");
exit;
break;
}
/*
Function: salvaConfigura
Salva um novo valor de uma variável no ms_configura.php
Parameters:
variavel - nome da variável
valor - novo valor
*/
function salvaConfigura($variavel,$valor,$mapfile,$temasaplic)
{
$handle = fopen ($temasaplic."/".$mapfile.".map", "r");
$linhas = array();
$valor = str_replace("\\\"",'"',$valor);
while (!feof ($handle)) {
$buffer = fgets($handle);
if(!(stristr($buffer, $variavel) === FALSE))
{
$temp = explode(trim($variavel),$buffer);
if(trim($temp[0]) != "#")
{
$temp = trim($temp[1]);
$par[trim($variavel)] = $temp;
$linhas[] = $variavel." ".$valor."\n";
$variavel = "______________";
}
else{$linhas[] = $buffer;}
}
else
$linhas[] = $buffer;
}
fclose ($handle);
unlink($temasaplic."/".$mapfile.".map");
$handle = fopen ($temasaplic."/".$mapfile.".map", "w");
foreach ($linhas as $linha)
{
fwrite($handle, $linha);
}
fclose($handle);
}
?>