Commit 5f37d8465ac5643db5c88d33599a41421357f642
1 parent
54122a86
Exists in
master
and in
7 other branches
--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" > </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ã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ão deve ser >= 5.2 para que a sobreposiçã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ão irá funcionar!!!<br></span>"; | |
| 92 | -} | |
| 93 | -echo "<br><pre>Extensões:<br>"; | |
| 94 | -if (!extension_loaded("libxml")){echo "<span style=color:red >Problema: não está instalado a libxml<br></span>";} | |
| 95 | -if (!extension_loaded( "PDO")){echo "<span style=color:red >Problema: não está instalado a PDO<br></span>";} | |
| 96 | -if (!extension_loaded( "pdo_sqlite")){echo "<span style=color:red >Problema: não está instalado a pdo_sqlite<br></span>";} | |
| 97 | -if (!extension_loaded( "SQLite") && !extension_loaded( "sqlite3")){echo "<span style=color:red >Problema: não está instalado a SQLite<br></span>";} | |
| 98 | -if (!extension_loaded( "SimpleXML")){echo "<span style=color:red >Problema: não está instalado a SimpleXML<br></span>";} | |
| 99 | -if (!extension_loaded( "dom")){echo "<span style=color:red >Problema: não está instalado a dom<br></span>";} | |
| 100 | -if (!extension_loaded( "xml")){echo "<span style=color:red >Problema: não está instalado a xml<br></span>";} | |
| 101 | -if (!extension_loaded( "zlib")){echo "<span style=color:red >Problema: não está instalado a zlib <br></span>";} | |
| 102 | -if (!extension_loaded( "gd")){echo "<span style=color:red >Problema: não está instalado a gd<br></span>";} | |
| 103 | -if (!extension_loaded( "gd2")){echo "<span style=color:red >Obs: não está instalado a gd2 - o que não é muito crítico....<br></span>";} | |
| 104 | -if (!extension_loaded( "mbstring")){echo "<span style=color:red >Obs: não está 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çã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ão encontrada. Consulte o i3geo/guia_de_migracao.txt</span>\n";} | |
| 170 | - } | |
| 171 | - } | |
| 172 | - else | |
| 173 | - {echo "<span style=color:red >...não existem registros cadastrados</span>\n";} | |
| 174 | - } | |
| 175 | - else | |
| 176 | - {echo "<span style=color:red >..nã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ê pode testar o CGI clicando <a href='".$enderecocgi."' target='_blank'>aqui</a>, se o programa responder corretamente, deverá aparecer na tela algo como 'No query information to decode. QUERY_STRING is set, but empty.'\n" ; | |
| 184 | - | |
| 185 | -echo "<br>Escrevendo no diretório temporá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ão foi possível gravar no diretório temporá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ã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ão aparecer é 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ão aparecer é um problema...\nverifique os caminhos no ms_configura.php e no estadosl.map ou estadoslwindows.map):</b>\n"; | |
| 253 | -echo "Um problema bastante comum é o não reconhecimento do diretó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ão consegue utilizar esse diretório, a imagem não será 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ó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úblico vc poderá 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" > </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ã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ão deve ser >= 5.2 para que a sobreposiçã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ão irá funcionar!!!<br></span>"; | |
| 89 | +} | |
| 90 | +echo "<br><pre>Extensões:<br>"; | |
| 91 | +if (!extension_loaded("curl")){ | |
| 92 | + echo "<span style=color:red >Problema: não está 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ão está instalado a libxml<br></span>";} | |
| 95 | +if (!extension_loaded( "PDO")){echo "<span style=color:red >Problema: não está instalado a PDO<br></span>";} | |
| 96 | +if (!extension_loaded( "pdo_sqlite")){echo "<span style=color:red >Problema: não está instalado a pdo_sqlite<br></span>";} | |
| 97 | +if (!extension_loaded( "SQLite") && !extension_loaded( "sqlite3")){echo "<span style=color:red >Problema: não está instalado a SQLite<br></span>";} | |
| 98 | +if (!extension_loaded( "SimpleXML")){echo "<span style=color:red >Problema: não está instalado a SimpleXML<br></span>";} | |
| 99 | +if (!extension_loaded( "dom")){echo "<span style=color:red >Problema: não está instalado a dom<br></span>";} | |
| 100 | +if (!extension_loaded( "xml")){echo "<span style=color:red >Problema: não está instalado a xml<br></span>";} | |
| 101 | +if (!extension_loaded( "zlib")){echo "<span style=color:red >Problema: não está instalado a zlib <br></span>";} | |
| 102 | +if (!extension_loaded( "gd")){echo "<span style=color:red >Problema: não está instalado a gd<br></span>";} | |
| 103 | +if (!extension_loaded( "gd2")){echo "<span style=color:red >Obs: não está instalado a gd2 - o que não é muito crítico....<br></span>";} | |
| 104 | +if (!extension_loaded( "mbstring")){echo "<span style=color:red >Obs: não está 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çã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ão encontrada. Consulte o i3geo/guia_de_migracao.txt</span>\n";} | |
| 168 | + } | |
| 169 | + } | |
| 170 | + else | |
| 171 | + {echo "<span style=color:red >...não existem registros cadastrados</span>\n";} | |
| 172 | + } | |
| 173 | + else | |
| 174 | + {echo "<span style=color:red >..nã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ê pode testar o CGI clicando <a href='".$enderecocgi."' target='_blank'>aqui</a>, se o programa responder corretamente, deverá aparecer na tela algo como 'No query information to decode. QUERY_STRING is set, but empty.'\n" ; | |
| 182 | + | |
| 183 | +echo "<br>Escrevendo nos diretórios temporá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ão foi possível gravar no diretório temporá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ão foi possível gravar no diretório temporá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ã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ão aparecer é 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ão aparecer é um problema...\nverifique os caminhos no ms_configura.php e no estadosl.map ou estadoslwindows.map):</b>\n"; | |
| 257 | +echo "Um problema bastante comum é o não reconhecimento do diretó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ão consegue utilizar esse diretório, a imagem não será 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ó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úblico vc poderá 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 | 285 | </html> |
| 282 | 286 | \ No newline at end of file | ... | ... |