Commit 5f37d8465ac5643db5c88d33599a41421357f642

Authored by Edmar Moretti
1 parent 54122a86

--no commit message

Showing 1 changed file with 284 additions and 280 deletions   Show diff stats
testainstal.php
1 -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
2 -<html>  
3 -<head>  
4 -<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">  
5 -<link rel="stylesheet" type="text/css" href="admin/html/admin.css">  
6 -</head>  
7 -<script>  
8 -try  
9 -{var objhttp1 = new XMLHttpRequest();}  
10 -catch(ee)  
11 -{  
12 - try{var objhttp1 = new ActiveXObject("Msxml2.XMLHTTP");}  
13 - catch(e)  
14 - {  
15 - try{var objhttp1 = new ActiveXObject("Microsoft.XMLHTTP");}  
16 - catch(E)  
17 - {document.write("<H1>Seu navegador não aceita AJAX. O mapa nao vai funcionar!!!</H1><br>");}  
18 - }  
19 -}  
20 -  
21 -</script>  
22 -<body class="yui-skin-sam fundoPonto">  
23 -  
24 -<div class="bordaSuperior" >&nbsp;</div>  
25 -<div class="mascaraPrincipal" id="divGeral" style=text-align:left >  
26 -<?php  
27 -/*  
28 -Title: Testa a instalação do i3Geo  
29 -  
30 -Executa testes e aponta erros na instalação.  
31 -  
32 -Licenca:  
33 -  
34 -GPL2  
35 -  
36 -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet  
37 -  
38 -Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil  
39 -Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br  
40 -  
41 -Este programa é software livre; você pode redistribuí-lo  
42 -e/ou modificá-lo sob os termos da Licença Pública Geral  
43 -GNU conforme publicada pela Free Software Foundation;  
44 -  
45 -Este programa é distribuído na expectativa de que seja útil,  
46 -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita  
47 -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.  
48 -Consulte a Licença Pública Geral do GNU para mais detalhes.  
49 -Você deve ter recebido uma cópia da Licença Pública Geral do  
50 -GNU junto com este programa; se não, escreva para a  
51 -Free Software Foundation, Inc., no endereço  
52 -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.  
53 -  
54 -Arquivo:  
55 -  
56 -i3geo/testainstal.php  
57 -  
58 -*/  
59 -error_reporting(E_ALL);  
60 -  
61 -//echo "<pre>\n";  
62 -echo "<span style=font-size:10px >Observação: se você estiver usando Linux e a biblioteca CAIRO estiver instalada corretamente no Mapserver, edite os arquivos i3geo/aplicmap/geral1fedorav6.map e geral1debianv6.map para remover os comentários do OUTPUTFORMAT que utiliza SVG com o drive Cairo</span><br>\n";  
63 -echo "<br><b>TESTE DE INSTALACAO DO i3Geo</b><br>\n";  
64 -include ("versao.php");  
65 -echo "<br><b>$mensagemInicia </b><br><br> \n";  
66 -//ip  
67 -$ip = "UNKNOWN";  
68 -if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");  
69 -else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");  
70 -else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");  
71 -else $ip = "UNKNOWN";  
72 -echo "<br>Seu endereço IP: ".$ip."<br><br>\n";  
73 -  
74 -echo "<br><br>PHP (a vers&atilde;o deve ser a 5x): ";  
75 -echo "<br>".phpversion()."<br>\n";  
76 -include("classesphp/carrega_ext.php");  
77 -include("classesphp/funcoes_gerais.php");  
78 -$versao = versao();  
79 -$versao = $versao["principal"];  
80 -$exts = get_loaded_extensions();  
81 -echo "MapServer (a vers&atilde;o deve ser &gt;= 5.2 para que a sobreposi&ccedil;&atilde;o de temas funcione na interface Google Maps): <br>";  
82 -if(!function_exists("ms_GetVersion"))  
83 -{  
84 - echo "<br><span style=color:red >O MAPSERVER PARECE NAO ESTAR INSTALADO!!!<br><br>";  
85 -}  
86 -echo "---<br>";  
87 -echo ms_GetVersion()."<br><br>";  
88 -  
89 -  
90 -if (get_cfg_var("safe_mode") == 1){  
91 - echo "<span style=color:red >Problema: safe_mode no php.ini deveria estar como 'Off'. O i3Geo n&atilde;o ir&aacute; funcionar!!!<br></span>";  
92 -}  
93 -echo "<br><pre>Extens&otilde;es:<br>";  
94 -if (!extension_loaded("libxml")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a libxml<br></span>";}  
95 -if (!extension_loaded( "PDO")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a PDO<br></span>";}  
96 -if (!extension_loaded( "pdo_sqlite")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a pdo_sqlite<br></span>";}  
97 -if (!extension_loaded( "SQLite") && !extension_loaded( "sqlite3")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a SQLite<br></span>";}  
98 -if (!extension_loaded( "SimpleXML")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a SimpleXML<br></span>";}  
99 -if (!extension_loaded( "dom")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a dom<br></span>";}  
100 -if (!extension_loaded( "xml")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a xml<br></span>";}  
101 -if (!extension_loaded( "zlib")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a zlib <br></span>";}  
102 -if (!extension_loaded( "gd")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a gd<br></span>";}  
103 -if (!extension_loaded( "gd2")){echo "<span style=color:red >Obs: n&atilde;o est&aacute; instalado a gd2 - o que não é muito crítico....<br></span>";}  
104 -if (!extension_loaded( "mbstring")){echo "<span style=color:red >Obs: n&atilde;o est&aacute; instalado a mbstring<br></span>";}  
105 -  
106 -var_dump( $exts );  
107 -  
108 -echo "</pre>Existe o ms_configura.php? <br>";  
109 -if(file_exists("ms_configura.php")) echo "Sim\n"; else {echo "Nao";saindo(" ms_configura não encontrado");}  
110 -echo "Incluindo...\n<br>";  
111 -include ("ms_configura.php");  
112 -  
113 -echo "Mensagem de inicialização: <b>$mensagemInicia </b><br><br> \n";  
114 -echo "dir_tmp = $dir_tmp \n<br>";  
115 -echo "locmapserv = $locmapserv \n";  
116 -echo "\n<br>";  
117 -if(in_array($ip, $editores)){  
118 - echo "<br>Você é um editor cadastrado<br><br>\n";  
119 - echo "Este php está em ".getcwd()."\n";  
120 -}  
121 -else{  
122 - echo "Você não é um editor cadastrado\n";  
123 -}  
124 -echo "<pre>";  
125 -  
126 -  
127 -  
128 -echo "verificando banco de dados de administra&ccedil;&atilde;o...\n";  
129 -$tabelas = array(  
130 - "i3geoadmin_sistemasf"=>"abrir_funcao,h_funcao,id_funcao,id_sistema,nome_funcao,perfil_funcao,w_funcao",  
131 - "i3geoadmin_tags"=>"id_tag,nome",  
132 - "i3geoadmin_perfis"=>"id_perfil,perfil",  
133 - "i3geoadmin_atlasp"=>"ordem_prancha,desc_prancha,h_prancha,icone_prancha,id_atlas,id_prancha,link_prancha,mapext_prancha,titulo_prancha,w_prancha",  
134 - "i3geoadmin_atlast"=>"ordem_tema,codigo_tema,id_prancha,id_tema,ligado_tema",  
135 - "i3geoadmin_mapas"=>"publicado_mapa,ordem_mapa,perfil_mapa,ligados_mapa,temas_mapa,desc_mapa,ext_mapa,id_mapa,imagem_mapa,linkdireto_mapa,nome_mapa,outros_mapa",  
136 - "i3geoadmin_atlas"=>"publicado_atlas,ordem_atlas,basemapfile_atlas,desc_atlas,h_atlas,icone_atlas,id_atlas,link_atlas,pranchadefault_atlas,template_atlas,tipoguias_atlas,titulo_atlas,w_atlas",  
137 - "i3geoadmin_sistemas"=>"publicado_sistema,id_sistema,nome_sistema,perfil_sistema",  
138 - "i3geoadmin_identifica"=>"publicado_i,abrir_i,id_i,nome_i,target_i",  
139 - "i3geoadmin_raiz"=>"ordem,id_tema,id_menu,id_nivel,id_raiz,nivel,perfil",  
140 - "i3geoadmin_n1"=>"publicado,ordem,id_menu,id_grupo,id_n1,n1_perfil",  
141 - "i3geoadmin_n2"=>"publicado,ordem,id_n1,id_n2,id_subgrupo,n2_perfil",  
142 - "i3geoadmin_n3"=>"publicado,ordem,id_n2,id_n3,id_tema,n3_perfil",  
143 - "i3geoadmin_ws"=>"nacessosok,nacessos,autor_ws,desc_ws,id_ws,link_ws,nome_ws,tipo_ws",  
144 - "i3geoadmin_grupos"=>"it,es,en,desc_grupo,id_grupo,nome_grupo",  
145 - "i3geoadmin_subgrupos"=>"it,es,en,desc_subgrupo,id_subgrupo,nome_subgrupo",  
146 - "i3geoadmin_temas"=>"it,es,en,kmz_tema,id_tema,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema",  
147 - "i3geoadmin_menus"=>"it,es,en,publicado_menu,perfil_menu,aberto,desc_menu,id_menu,nome_menu",  
148 - "i3geoadmin_comentarios"=>"comentario,data,openidnome,openidimagem,openidservico,openidusuario,openidurl,id_tema",  
149 - "i3geoadmin_acessostema"=>"codigo_tema,nacessos,dia,mes,ano"  
150 -);  
151 -include_once("admin/php/conexao.php");  
152 -foreach(array_keys($tabelas) as $tabela)  
153 -{  
154 - echo " Tabela: <b>".$tabela."</b>";  
155 - $sql = "select * from $tabela ";  
156 - $q = $dbh->query($sql,PDO::FETCH_ASSOC);  
157 - if($q !== false)  
158 - {  
159 - $resultado = $q->fetchAll();  
160 - if(count($resultado) > 0)  
161 - {  
162 - echo "...ok\n";  
163 - foreach(explode(",",$tabelas[$tabela]) as $coluna)  
164 - {  
165 - echo " coluna: ".$coluna;  
166 - if(in_array($coluna,array_keys($resultado[0])))  
167 - {echo "...ok\n";}  
168 - else  
169 - {echo "<span style=color:red >..n&atilde;o encontrada. Consulte o i3geo/guia_de_migracao.txt</span>\n";}  
170 - }  
171 - }  
172 - else  
173 - {echo "<span style=color:red >...n&atilde;o existem registros cadastrados</span>\n";}  
174 - }  
175 - else  
176 - {echo "<span style=color:red >..n&atilde;o encontrada. Consulte o i3geo/guia_de_migracao.txt</span>\n";}  
177 -}  
178 -echo "\n";  
179 -echo "</pre>localizando o cgi...\n";  
180 -$proto = "http" . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "") . "://";  
181 -$server = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];  
182 -$enderecocgi = $proto.$server.$locmapserv;  
183 -echo "Voc&ecirc; pode testar o CGI clicando <a href='".$enderecocgi."' target='_blank'>aqui</a>, se o programa responder corretamente, dever&aacute; aparecer na tela algo como 'No query information to decode. QUERY_STRING is set, but empty.'\n" ;  
184 -  
185 -echo "<br>Escrevendo no diret&oacute;rio tempor&aacute;rio...";  
186 -$f = @fopen($dir_tmp."/teste.txt",w);  
187 -@fclose($f);  
188 -if (file_exists($dir_tmp."/teste.txt")) echo "ok\n"; else saindo("\nN&atilde;o foi poss&iacute;vel gravar no diret&oacute;rio tempor&aacute;rio $dir_tmp");  
189 -echo "Existe o geral1.map? ";  
190 -if(file_exists("$locaplic/aplicmap/geral1.map")) echo "Sim\n"; else {echo "Nao";saindo("geral1.map n&atilde;o encontrado");}  
191 -echo " \n";  
192 -echo "Carregando o map_file base...\n";  
193 -$versao = versao();  
194 -$versao = $versao["principal"];  
195 -if(isset($base) && $base != ""){  
196 - if(file_exists($base))  
197 - {$f = $base;}  
198 - else  
199 - {$f = $locaplic."/aplicmap/".$base.".map";}  
200 - if(!file_exists($base)){  
201 - echo "<span style=color:red >ARQUIVO $base NÂO FOI ENCONTRADO. CORRIJA ISSO EM ms_configura.php";  
202 - exit;  
203 - }  
204 -}  
205 -else  
206 -{  
207 - $f = "";  
208 - if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))  
209 - {$f = $locaplic."/aplicmap/geral1windowsv".$versao.".map";}  
210 - else  
211 - {  
212 - if($f == "" && file_exists('/var/www/i3geo/aplicmap/geral1debianv'.$versao.'.map')){  
213 - $f = "/var/www/i3geo/aplicmap/geral1debianv".$versao.".map";  
214 - }  
215 - if($f == "" && file_exists('/var/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){  
216 - $f = "/var/www/html/i3geo/aplicmap/geral1fedorav".$versao.".map";  
217 - }  
218 - if($f == "" && file_exists('/opt/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){  
219 - $f = "/opt/www/html/i3geo/aplicmap/geral1v".$versao.".map";  
220 - }  
221 - if($f == "")  
222 - {$f = $locaplic."/aplicmap/geral1v".$versao.".map";}  
223 - }  
224 -}  
225 -$mapa = ms_newMapObj($f);  
226 -echo "<br>O arquivo mapfile de inicilização é: $f<br>\n";  
227 -echo "<b>E agora..desenhando o mapa (se o mapa n&atilde;o aparecer &eacute; um problema...\nverifique os caminhos no ms_configura.php e no $f):</b>\n";  
228 -$imgo = $mapa->draw();  
229 -$nome = ($imgo->imagepath)."teste.png";  
230 -echo "<p>Nome da imagem gerada: $nome </p>";  
231 -$imgo->saveImage($nome);  
232 -$nome = ($imgo->imageurl).basename($nome);  
233 -echo "<p><img src=$nome /></p>";  
234 -  
235 -echo " \n";  
236 -$error = "";  
237 -ms_ResetErrorList();  
238 -echo "Carregando o map_file geral1... e acrescentando os limites estaduais (aplicmap/estadosl...) \n";  
239 -if(isset($estadosl))  
240 -{$maptemp = ms_newMapObj($locaplic."/aplicmap/".$estadosl.".map");}  
241 -else{  
242 - if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))  
243 - {$maptemp = ms_newMapObj($locaplic."/aplicmap/estadoslwindows.map");}  
244 - else  
245 - {$maptemp = ms_newMapObj($locaplic."/aplicmap/estadosl.map");}  
246 -}  
247 -while($error && $error->code != MS_NOERR)  
248 -{  
249 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
250 - $error = $error->next();  
251 -}  
252 -echo "<b>E agora..desenhando o mapa (se o mapa n&atilde;o aparecer &eacute; um problema...\nverifique os caminhos no ms_configura.php e no estadosl.map ou estadoslwindows.map):</b>\n";  
253 -echo "Um problema bastante comum &eacute; o n&atilde;o reconhecimento do diret&oacute;rio ms_tmp pelo Apache. \nO diretório ms_tmp é utilizado pelo Mapserver e pelo i3geo para armazenar dados temporários. \nÉ nesse diretório que ficam as imagens do mapa.\n";  
254 -echo "Quando o Apache n&atilde;o consegue utilizar esse diret&oacute;rio, a imagem n&atilde;o ser&aacute; mostrada,\n apesar de ser gerada dentro do ms_tmp (vc pode verificar se as imagens do \nmapa estão sendo criadas no ms_tmp após rodar o testainstal.php).\n";  
255 -echo "Para solucionar esse problema, vc pode criar um link simb&oacute;lico (nos sistemas linux),\n no mesmo local onde está instalado o i3geo, apontando para o local \nfísico onde está o ms_tmp.\n";  
256 -echo "<b>O nome do link simbólico deve ser o mesmo que estiver definido em aplicmap/geral1.map ou geral1debian.map na linha IMAGEURL. Esse nome por default é definido como ms_tmp.\n";  
257 -echo "No wiki do portal do software p&uacute;blico vc poder&aacute; encontrar mais detalhes sobre isso.\n";  
258 -  
259 -for($i=0;$i<($maptemp->numlayers);$i++)  
260 -{  
261 - $layern = $maptemp->getLayer($i);  
262 - if ($layern->name == "estadosl")  
263 - {$layern->set("data",$locaplic."/aplicmap/dados/estados.shp");}  
264 - ms_newLayerObj($mapa, $layern);  
265 -}  
266 -$imgo = $mapa->draw();  
267 -$nome = ($imgo->imagepath)."teste1.png";  
268 -echo "<p>Nome da imagem gerada: $nome </p>";  
269 -$imgo->saveImage($nome);  
270 -$nome = ($imgo->imageurl).basename($nome);  
271 -echo "<p><img src=$nome /></p></body></html>";  
272 -  
273 -function saindo($men){echo "<span style=color:red ><br><b>Erro. Saindo...".$men;}  
274 -?>  
275 -</div>  
276 -<script>  
277 -if(screen.availWidth > 700)  
278 -{document.getElementById("divGeral").style.width = "700px";}  
279 -</script>  
280 -</body> 1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2 +<html>
  3 +<head>
  4 +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
  5 +<link rel="stylesheet" type="text/css" href="admin/html/admin.css">
  6 +</head>
  7 +<script>
  8 +try
  9 +{var objhttp1 = new XMLHttpRequest();}
  10 +catch(ee)
  11 +{
  12 + try{var objhttp1 = new ActiveXObject("Msxml2.XMLHTTP");}
  13 + catch(e)
  14 + {
  15 + try{var objhttp1 = new ActiveXObject("Microsoft.XMLHTTP");}
  16 + catch(E)
  17 + {document.write("<H1>Seu navegador não aceita AJAX. O mapa nao vai funcionar!!!</H1><br>");}
  18 + }
  19 +}
  20 +
  21 +</script>
  22 +<body class="yui-skin-sam fundoPonto" >
  23 +<center>
  24 +<div class="bordaSuperior" >&nbsp;</div>
  25 +<div class="mascaraPrincipal" id="divGeral" style=text-align:left >
  26 +<?php
  27 +/*
  28 +Title: Testa a instalação do i3Geo
  29 +
  30 +Executa testes e aponta erros na instalação.
  31 +
  32 +Licenca:
  33 +
  34 +GPL2
  35 +
  36 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  37 +
  38 +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
  39 +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
  40 +
  41 +Este programa é software livre; você pode redistribuí-lo
  42 +e/ou modificá-lo sob os termos da Licença Pública Geral
  43 +GNU conforme publicada pela Free Software Foundation;
  44 +
  45 +Este programa é distribuído na expectativa de que seja útil,
  46 +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
  47 +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
  48 +Consulte a Licença Pública Geral do GNU para mais detalhes.
  49 +Você deve ter recebido uma cópia da Licença Pública Geral do
  50 +GNU junto com este programa; se não, escreva para a
  51 +Free Software Foundation, Inc., no endereço
  52 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  53 +
  54 +Arquivo:
  55 +
  56 +i3geo/testainstal.php
  57 +
  58 +*/
  59 +error_reporting(E_ALL);
  60 +
  61 +//echo "<pre>\n";
  62 +echo "<span style=font-size:10px >Observação: se você estiver usando Linux e a biblioteca CAIRO estiver instalada corretamente no Mapserver, edite os arquivos i3geo/aplicmap/geral1fedorav6.map e geral1debianv6.map para remover os comentários do OUTPUTFORMAT que utiliza SVG com o drive Cairo</span><br>\n";
  63 +echo "<br><b>TESTE DE INSTALACAO DO i3Geo</b><br>\n";
  64 +include ("versao.php");
  65 +echo "<br><b>$mensagemInicia </b><br><br> \n";
  66 +//ip
  67 +$ip = "UNKNOWN";
  68 +if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
  69 +else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
  70 +else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
  71 +else $ip = "UNKNOWN";
  72 +echo "<br>Seu endereço IP: ".$ip."<br><br>\n";
  73 +
  74 +echo "<br><br>PHP (a vers&atilde;o deve ser a 5x): ";
  75 +echo "<br>".phpversion()."<br>\n";
  76 +include("classesphp/carrega_ext.php");
  77 +include("classesphp/funcoes_gerais.php");
  78 +$versao = versao();
  79 +$versao = $versao["principal"];
  80 +$exts = get_loaded_extensions();
  81 +echo "MapServer (a vers&atilde;o deve ser &gt;= 5.2 para que a sobreposi&ccedil;&atilde;o de temas funcione na interface Google Maps): <br>";
  82 +echo ms_GetVersion()."<br><br>";
  83 +if(!function_exists("ms_GetVersion"))
  84 +{echo "<span style=color:red >O MAPSERVER PARECE NAO ESTAR INSTALADO!!!<br><br>";}
  85 +echo "---<br>";
  86 +
  87 +if (get_cfg_var("safe_mode") == 1){
  88 + echo "<span style=color:red >Problema: safe_mode no php.ini deveria estar como 'Off'. O i3Geo n&atilde;o ir&aacute; funcionar!!!<br></span>";
  89 +}
  90 +echo "<br><pre>Extens&otilde;es:<br>";
  91 +if (!extension_loaded("curl")){
  92 + echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a curl que pode afetar algumas funcionalidades do i3Geo<br></span>";
  93 +}
  94 +if (!extension_loaded("libxml")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a libxml<br></span>";}
  95 +if (!extension_loaded( "PDO")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a PDO<br></span>";}
  96 +if (!extension_loaded( "pdo_sqlite")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a pdo_sqlite<br></span>";}
  97 +if (!extension_loaded( "SQLite") && !extension_loaded( "sqlite3")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a SQLite<br></span>";}
  98 +if (!extension_loaded( "SimpleXML")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a SimpleXML<br></span>";}
  99 +if (!extension_loaded( "dom")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a dom<br></span>";}
  100 +if (!extension_loaded( "xml")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a xml<br></span>";}
  101 +if (!extension_loaded( "zlib")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a zlib <br></span>";}
  102 +if (!extension_loaded( "gd")){echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a gd<br></span>";}
  103 +if (!extension_loaded( "gd2")){echo "<span style=color:red >Obs: n&atilde;o est&aacute; instalado a gd2 - o que não é muito crítico....<br></span>";}
  104 +if (!extension_loaded( "mbstring")){echo "<span style=color:red >Obs: n&atilde;o est&aacute; instalado a mbstring<br></span>";}
  105 +
  106 +var_dump( $exts );
  107 +
  108 +echo "</pre>Existe o ms_configura.php? <br>";
  109 +if(file_exists("ms_configura.php")) echo "Sim\n"; else {echo "Nao";saindo(" ms_configura não encontrado");}
  110 +echo "Incluindo...\n<br>";
  111 +include ("ms_configura.php");
  112 +echo "Mensagem de inicialização: <b>$mensagemInicia </b><br><br> \n";
  113 +echo "dir_tmp = $dir_tmp \n<br>";
  114 +echo "locmapserv = $locmapserv \n";
  115 +echo "\n<br>";
  116 +if(in_array($ip, $editores)){
  117 + echo "<br>Você é um editor cadastrado<br><br>\n";
  118 + echo "Este php está em ".getcwd()."\n";
  119 + echo "<br>O diretório de arquivos SESSION temporário é: ".session_save_path()."<br>\n";
  120 +}
  121 +else{
  122 + echo "Você não é um editor cadastrado\n";
  123 +}
  124 +echo "<pre>";
  125 +
  126 +echo "verificando banco de dados de administra&ccedil;&atilde;o...\n";
  127 +$tabelas = array(
  128 + "i3geoadmin_sistemasf"=>"abrir_funcao,h_funcao,id_funcao,id_sistema,nome_funcao,perfil_funcao,w_funcao",
  129 + "i3geoadmin_tags"=>"id_tag,nome",
  130 + "i3geoadmin_perfis"=>"id_perfil,perfil",
  131 + "i3geoadmin_atlasp"=>"ordem_prancha,desc_prancha,h_prancha,icone_prancha,id_atlas,id_prancha,link_prancha,mapext_prancha,titulo_prancha,w_prancha",
  132 + "i3geoadmin_atlast"=>"ordem_tema,codigo_tema,id_prancha,id_tema,ligado_tema",
  133 + "i3geoadmin_mapas"=>"publicado_mapa,ordem_mapa,perfil_mapa,ligados_mapa,temas_mapa,desc_mapa,ext_mapa,id_mapa,imagem_mapa,linkdireto_mapa,nome_mapa,outros_mapa",
  134 + "i3geoadmin_atlas"=>"publicado_atlas,ordem_atlas,basemapfile_atlas,desc_atlas,h_atlas,icone_atlas,id_atlas,link_atlas,pranchadefault_atlas,template_atlas,tipoguias_atlas,titulo_atlas,w_atlas",
  135 + "i3geoadmin_sistemas"=>"publicado_sistema,id_sistema,nome_sistema,perfil_sistema",
  136 + "i3geoadmin_identifica"=>"publicado_i,abrir_i,id_i,nome_i,target_i",
  137 + "i3geoadmin_raiz"=>"ordem,id_tema,id_menu,id_nivel,id_raiz,nivel,perfil",
  138 + "i3geoadmin_n1"=>"publicado,ordem,id_menu,id_grupo,id_n1,n1_perfil",
  139 + "i3geoadmin_n2"=>"publicado,ordem,id_n1,id_n2,id_subgrupo,n2_perfil",
  140 + "i3geoadmin_n3"=>"publicado,ordem,id_n2,id_n3,id_tema,n3_perfil",
  141 + "i3geoadmin_ws"=>"nacessosok,nacessos,autor_ws,desc_ws,id_ws,link_ws,nome_ws,tipo_ws",
  142 + "i3geoadmin_grupos"=>"it,es,en,desc_grupo,id_grupo,nome_grupo",
  143 + "i3geoadmin_subgrupos"=>"it,es,en,desc_subgrupo,id_subgrupo,nome_subgrupo",
  144 + "i3geoadmin_temas"=>"it,es,en,kmz_tema,id_tema,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema",
  145 + "i3geoadmin_menus"=>"it,es,en,publicado_menu,perfil_menu,aberto,desc_menu,id_menu,nome_menu",
  146 + "i3geoadmin_comentarios"=>"comentario,data,openidnome,openidimagem,openidservico,openidusuario,openidurl,id_tema",
  147 + "i3geoadmin_acessostema"=>"codigo_tema,nacessos,dia,mes,ano"
  148 +);
  149 +include_once("admin/php/conexao.php");
  150 +foreach(array_keys($tabelas) as $tabela)
  151 +{
  152 + echo " Tabela: <b>".$tabela."</b>";
  153 + $sql = "select * from $tabela ";
  154 + $q = $dbh->query($sql,PDO::FETCH_ASSOC);
  155 + if($q !== false)
  156 + {
  157 + $resultado = $q->fetchAll();
  158 + if(count($resultado) > 0)
  159 + {
  160 + echo "...ok\n";
  161 + foreach(explode(",",$tabelas[$tabela]) as $coluna)
  162 + {
  163 + echo " coluna: ".$coluna;
  164 + if(in_array($coluna,array_keys($resultado[0])))
  165 + {echo "...ok\n";}
  166 + else
  167 + {echo "<span style=color:red >..n&atilde;o encontrada. Consulte o i3geo/guia_de_migracao.txt</span>\n";}
  168 + }
  169 + }
  170 + else
  171 + {echo "<span style=color:red >...n&atilde;o existem registros cadastrados</span>\n";}
  172 + }
  173 + else
  174 + {echo "<span style=color:red >..n&atilde;o encontrada. Consulte o i3geo/guia_de_migracao.txt</span>\n";}
  175 +}
  176 +echo "\n";
  177 +echo "</pre>localizando o cgi...\n";
  178 +$proto = "http" . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "") . "://";
  179 +$server = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];
  180 +$enderecocgi = $proto.$server.$locmapserv;
  181 +echo "Voc&ecirc; pode testar o CGI clicando <a href='".$enderecocgi."' target='_blank'>aqui</a>, se o programa responder corretamente, dever&aacute; aparecer na tela algo como 'No query information to decode. QUERY_STRING is set, but empty.'\n" ;
  182 +
  183 +echo "<br>Escrevendo nos diret&oacute;rios tempor&aacute;rios...<br>";
  184 +$f = @fopen($dir_tmp."/teste.txt",w);
  185 +@fclose($f);
  186 +if (file_exists($dir_tmp."/teste.txt")) echo "do Mapserver ok<br>\n"; else saindo("\nN&atilde;o foi poss&iacute;vel gravar no diret&oacute;rio tempor&aacute;rio $dir_tmp");
  187 +
  188 +$f = @fopen(session_save_path()."/teste.txt",w);
  189 +@fclose($f);
  190 +if (file_exists(session_save_path()."/teste.txt")) echo "da SESSION PHP ok<br>\n"; else saindo("\nN&atilde;o foi poss&iacute;vel gravar no diret&oacute;rio tempor&aacute;rio da SESSION");
  191 +
  192 +
  193 +echo "<br>Existe o geral1.map? ";
  194 +if(file_exists("$locaplic/aplicmap/geral1.map")) echo "Sim\n"; else {echo "Nao";saindo("geral1.map n&atilde;o encontrado");}
  195 +echo " \n";
  196 +echo "Carregando o map_file base...\n";
  197 +$versao = versao();
  198 +$versao = $versao["principal"];
  199 +if(isset($base) && $base != ""){
  200 + if(file_exists($base))
  201 + {$f = $base;}
  202 + else
  203 + {$f = $locaplic."/aplicmap/".$base.".map";}
  204 + if(!file_exists($base)){
  205 + echo "<span style=color:red >ARQUIVO $base NÂO FOI ENCONTRADO. CORRIJA ISSO EM ms_configura.php";
  206 + exit;
  207 + }
  208 +}
  209 +else
  210 +{
  211 + $f = "";
  212 + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
  213 + {$f = $locaplic."/aplicmap/geral1windowsv".$versao.".map";}
  214 + else
  215 + {
  216 + if($f == "" && file_exists('/var/www/i3geo/aplicmap/geral1debianv'.$versao.'.map')){
  217 + $f = "/var/www/i3geo/aplicmap/geral1debianv".$versao.".map";
  218 + }
  219 + if($f == "" && file_exists('/var/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){
  220 + $f = "/var/www/html/i3geo/aplicmap/geral1fedorav".$versao.".map";
  221 + }
  222 + if($f == "" && file_exists('/opt/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){
  223 + $f = "/opt/www/html/i3geo/aplicmap/geral1v".$versao.".map";
  224 + }
  225 + if($f == "")
  226 + {$f = $locaplic."/aplicmap/geral1v".$versao.".map";}
  227 + }
  228 +}
  229 +$mapa = ms_newMapObj($f);
  230 +echo "<br>O arquivo mapfile de inicilização é: $f<br>\n";
  231 +echo "<b>E agora..desenhando o mapa (se o mapa n&atilde;o aparecer &eacute; um problema...\nverifique os caminhos no ms_configura.php e no $f):</b>\n";
  232 +$imgo = $mapa->draw();
  233 +$nome = ($imgo->imagepath)."teste.png";
  234 +echo "<p>Nome da imagem gerada: $nome </p>";
  235 +$imgo->saveImage($nome);
  236 +$nome = ($imgo->imageurl).basename($nome);
  237 +echo "<p><img src=$nome /></p>";
  238 +
  239 +echo " \n";
  240 +$error = "";
  241 +ms_ResetErrorList();
  242 +echo "Carregando o map_file geral1... e acrescentando os limites estaduais (aplicmap/estadosl...) \n";
  243 +if(isset($estadosl))
  244 +{$maptemp = ms_newMapObj($locaplic."/aplicmap/".$estadosl.".map");}
  245 +else{
  246 + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
  247 + {$maptemp = ms_newMapObj($locaplic."/aplicmap/estadoslwindows.map");}
  248 + else
  249 + {$maptemp = ms_newMapObj($locaplic."/aplicmap/estadosl.map");}
  250 +}
  251 +while($error && $error->code != MS_NOERR)
  252 +{
  253 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  254 + $error = $error->next();
  255 +}
  256 +echo "<b>E agora..desenhando o mapa (se o mapa n&atilde;o aparecer &eacute; um problema...\nverifique os caminhos no ms_configura.php e no estadosl.map ou estadoslwindows.map):</b>\n";
  257 +echo "Um problema bastante comum &eacute; o n&atilde;o reconhecimento do diret&oacute;rio ms_tmp pelo Apache. \nO diretório ms_tmp é utilizado pelo Mapserver e pelo i3geo para armazenar dados temporários. \nÉ nesse diretório que ficam as imagens do mapa.\n";
  258 +echo "Quando o Apache n&atilde;o consegue utilizar esse diret&oacute;rio, a imagem n&atilde;o ser&aacute; mostrada,\n apesar de ser gerada dentro do ms_tmp (vc pode verificar se as imagens do \nmapa estão sendo criadas no ms_tmp após rodar o testainstal.php).\n";
  259 +echo "Para solucionar esse problema, vc pode criar um link simb&oacute;lico (nos sistemas linux),\n no mesmo local onde está instalado o i3geo, apontando para o local \nfísico onde está o ms_tmp.\n";
  260 +echo "<b>O nome do link simbólico deve ser o mesmo que estiver definido em aplicmap/geral1.map ou geral1debian.map na linha IMAGEURL. Esse nome por default é definido como ms_tmp.\n";
  261 +echo "No wiki do portal do software p&uacute;blico vc poder&aacute; encontrar mais detalhes sobre isso.\n";
  262 +
  263 +for($i=0;$i<($maptemp->numlayers);$i++)
  264 +{
  265 + $layern = $maptemp->getLayer($i);
  266 + if ($layern->name == "estadosl")
  267 + {$layern->set("data",$locaplic."/aplicmap/dados/estados.shp");}
  268 + ms_newLayerObj($mapa, $layern);
  269 +}
  270 +$imgo = $mapa->draw();
  271 +$nome = ($imgo->imagepath)."teste1.png";
  272 +echo "<p>Nome da imagem gerada: $nome </p>";
  273 +$imgo->saveImage($nome);
  274 +$nome = ($imgo->imageurl).basename($nome);
  275 +echo "<p><img src=$nome /></p></body></html>";
  276 +
  277 +function saindo($men){echo "<span style=color:red ><br><b>Erro. Saindo...".$men;}
  278 +?>
  279 +</div>
  280 +<script>
  281 +if(screen.availWidth > 700)
  282 +{document.getElementById("divGeral").style.width = "700px";}
  283 +</script>
  284 +</body>
281 </html> 285 </html>
282 \ No newline at end of file 286 \ No newline at end of file