pega as variáveis da seção->verifica se o debug deve ser ativado->carrega as extensões doPHP->cria o objeto cpaint->carrega as funções de uso mais comuns->faz uma cópia de segurança do map_file->roda a função desejada->retorna os valores obtidos 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. About: Parâmetros funcao - opção que será executada. Retorno: cp - o resultado da operação será retornado em um objeto CPAINT. Exemplo de chamada CPAINT (Ajax) do lado do cliente (javascript): var p = "classesphp/mapa_controle.php?funcao=crialente&resolucao=1.5&g_sid="+g_sid var cp = new cpaint() cp.set_response_type("JSON") cp.call(p,"lente",ajaxabrelente) About: Variáveis de Seção dir_tmp - diretório, no servidor, temporário utilizado pelo I3Geo, exemplo: c:/ms4w/tmp/ms_tmp temasdir - diretório, no servidor, onde ficam os arquivos map_file de cada tema, exemplo: c:/ms4w/apache/htdocs/i3geo/temas temasaplic - diretório, no servidor, onde ficam os arquivos de inicialização, exemplo: c:\ms4w\apache\htdocs\i3geo\aplicmap locmapserv - localização, no servidor, do CGI, exemplo: /cgi-bin/mapserv.exe locaplic - localização, no servidor, do I3Geo, exemplo: c:/ms4w/apache/htdocs/i3geo locsistemas - localização do xml com a llista de temas, exemplo: /menutemas/sistemas.xml locidentifica - localilzação do xml que define os sistemas adicionais incluídos na opção de identificação, exemplo: /menutemas/identifica.xml R_path - localização, no servidor, do executável do pacote R, exemplo: c:/ms4w/apache/htdocs/i3geo/pacotes/r/win/bin/R.exe imgurl - url das imagens geradas pelo mapa, exemplo: http://localhost/ms_tmp/imgTVHbdijFMk/ tmpurl - url do diretório temporário, exemplo: http://localhost/ms_tmp/ map_file - endereço, no servidor, do mapfile atual, exemplo: c:/ms4w/tmp/ms_tmp/TVHbdijFMk/TVHbdijFMk.map mapext - extensão geográfica do mapa atual, exemplo: -76.5125927 -39.3925675209 -29.5851853 9.49014852081 perfil - nome do perfil para controlar os temas que serão visíveis na lista de temas. mapdir - localização, no servidor, do diretório com o mapfile temporário do mapa atual. imgdir - localização, no servidor, das imagens temporárias do mapa atual. debug - (pode ser definido como "sim" indica se o erro_reporting deve ser definido como E_ALL File: i3geo/classesphp/mapa_controle.php 19/6/2007 Include: , , , , , */ error_reporting(0); //sleep(5); // //pega as variaveis passadas com get ou post // $tempo = microtime(1); include_once("pega_variaveis.php"); // //inicializa a sessão // if ($funcao != "criaMapa") { session_name("i3GeoPHP"); if (isset($g_sid) && $g_sid != "") { session_id($g_sid); } session_start(); foreach(array_keys($_SESSION) as $k) { eval("\$".$k."='".$_SESSION[$k]."';"); } if(isset($fingerprint)) { if (md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id()) != $fingerprint) {exit;} } } // //verifica se deve ativar o debug // if (isset($debug) && $debug == "sim") {error_reporting(E_ALL);} // //ativa o php mapscript e as extensões necessárias //se as extensões já estiverem carregadas no PHP, vc pode comentar essa linha para que o processamento fique mais rápido // include_once ("carrega_ext.php"); include_once("../pacotes/cpaint/cpaint2.inc.php"); // //cria objeto cpaint para uso com ajax // $cp = new cpaint(); $cp->set_data(""); /* // //grava na sessão o PID do processo PHP // if ($funcao == "terminaProcesso") { $pid = $_SESSION["ultimopid"]; @exec("taskkill /f /PID $pid 2>&1"); $cp->set_data($pid); $cp->return_data(); } $_SESSION["ultimopid"] = getmypid(); */ if ($funcao == "criaMapa") { session_destroy(); // //primeiro é necessário carregar o ms_configura.php para pegar a variável $locaplic // $d = ""; if(!file_exists($d."ms_configura.php")) $d = "../"; include_once($d."ms_configura.php"); // //é necessário mudar o diretório em função dos includes que são feitos pelo ms_criamapa.php // chdir($locaplic); $interface = "mashup"; include_once("ms_criamapa.php"); $cp->set_data(session_id()); $cp->return_data(); return; } if (!isset($map_file)) { //nesse caso é necessário criar o diretório temporário e iniciar o mapa $cp->set_data("linkquebrado"); $cp->return_data(); exit; } include_once("classe_vermultilayer.php"); include_once("classe_estatistica.php"); include_once("funcoes_gerais.php"); // //substitui a string de conexão // substituiCon($map_file,$postgis_mapa); //set_time_limit(240); // //faz a busca da função que deve ser executada // switch ($funcao) { /* Section: Inicialização Inicia o mapa. */ /* Property: inicia Inicia o mapa, pegando os parâmetros necessários para a montagem inicial. Include: */ case "inicia": include_once("mapa_inicia.php"); $cp->register('iniciaMapa'); $cp->start(); if ($cp->get_data() == "") {$cp->set_data("erro");} break; /* Property: montaFlamingo Gera o arquivo xml de configuração para a interface Flamingo. O arquivo xml é gravado no diretório temporário do mapserver e contém a string de conexão com o gerador de webservices classesphp/flamingoogc.php Esse gerador, recebe como parâmetro o id da seção atual e transforma o mapfile atual em um webservcie capaz de ser entendido pelo flamingo. */ case "montaFlamingo": $string1 = ""; $string1 .= '