safe.php
3.2 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
<?php
include_once (dirname(__FILE__)."/../classesphp/sani_request.php");
error_reporting(0);
$_GET = array_merge($_GET,$_POST);
//
//$fingerprint e usado para verificar se o usuario veio do i3geo
//
if(!empty($_GET["g_sid"])){
$g_sid = $_GET["g_sid"];
session_name("i3GeoPHP");
session_id($g_sid);
session_start();
$statusFerramentas = $_SESSION["statusFerramentas"];
$imgurl = $_SESSION["imgurl"];
$tmpurl = $_SESSION["tmpurl"];
$map_file = $_SESSION["map_file"];
$mapext = $_SESSION["mapext"];
$locaplic = $_SESSION["locaplic"];
$ler_extensoes = $_SESSION["ler_extensoes"];
$perfil = $_SESSION["perfil"];
$interface = $_SESSION["interface"];
if(isset($_SESSION["kmlurl"])){
$kmlurl = $_SESSION["kmlurl"];
}
$mapdir = $_SESSION["mapdir"];
$imgdir = $_SESSION["imgdir"];
$contadorsalva = $_SESSION["contadorsalva"];
$fingerprint = $_SESSION['fingerprint'];
}
else{
$g_sid = "";
$fingerprint = "";
}
//variaveis mais utilizadas
$tema = @$_GET["tema"];
if(isset($_GET["ext"])){
$ext = $_GET["ext"];
}
$funcao = @$_GET["funcao"];
include_once(dirname(__FILE__)."/../classesphp/funcoes_gerais.php");
if(!empty($fingerprint) && !empty($g_sid)) {
$f = explode(",",$fingerprint);
if($f[0] != md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id())){
cpjson(". Tentativa de acesso nao permitida. Inicie um novo mapa.");
return;
}
}
include_once(dirname(__FILE__)."/../ms_configura.php");
include_once(dirname(__FILE__)."/blacklist.php");
include_once(dirname(__FILE__)."/../classesphp/classe_vermultilayer.php");
include_once(dirname(__FILE__)."/../classesphp/classe_estatistica.php");
if(isset($logExec) && $logExec["ferramentas"] == true){
i3GeoLog("prog: ferramentas url: ".implode("&",array_merge($_GET,$_POST)),$_SESSION["dir_tmp"]);
}
//
//substitui a string de conexão
//
if(!substituiCon($map_file,$postgis_mapa)){
unlink($map_file);
cpjson("erro",$cp);
return;
}
//
function redesenhaMapa()
{
global $map_file,$tipoimagem,$cp,$postgis_mapa,$utilizacgi,$locmapserv,$interface,$mapexten;
substituiCon($map_file,$postgis_mapa);
if($tipoimagem != "nenhum" && $tipoimagem != "")
{$utilizacgi = "nao";}
if (connection_aborted()){exit();}
if($interface == "googleearth" && $mapexten != ""){
include_once(dirname(__FILE__)."/../classesphp/classe_navegacao.php");
$m = new Navegacao($map_file);
$m->mudaExtensao($mapexten);
$m->salva();
}
include_once(dirname(__FILE__)."/../classesphp/classe_mapa.php");
$m = New Mapa($map_file);
$par = $m->parametrosTemas();
//
//na interface googlemaps não é necessário gerar a imagem
//
$e = $m->mapa->extent;
$ext = $e->minx." ".$e->miny." ".$e->maxx." ".$e->maxy;
$res["mapimagem"] = "";
$res["mapexten"] = $ext;
$res["mapres"] = "";
$res["erro"] = "";
$res["mapscale"] = "";
$res["pixelsize"] = "";
$res["mapimagem"] = "";
$res["w"] = $m->mapa->width;
$res["h"] = $m->mapa->height;
$res["mappath"] = "";
$res["mapurl"] = "";
$res["mensagens"] = $m->pegaMensagens();
$res["tempo"] = "";
restauraCon($map_file,$postgis_mapa);
ob_clean();
if ($par == "")
{$retorno = "erro";}
else
{$retorno = array("variaveis"=>$res,"temas"=>$par);}
cpjson($retorno);
}
?>