upload.php
3.84 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
<?php
require_once(dirname(__FILE__)."/../../classesphp/pega_variaveis.php");
require_once(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php");
include_once (dirname(__FILE__)."/../../classesphp/carrega_ext.php");
error_reporting(0);
session_name("i3GeoPHP");
if (isset($g_sid))
{session_id($g_sid);}
session_start();
foreach(array_keys($_SESSION) as $k)
{eval("\$".$k."='".$_SESSION[$k]."';");}
$postgis_mapa = $_SESSION["postgis_mapa"];
if (ob_get_level() == 0) ob_start();
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../css/input.css" />
<link rel="stylesheet" type="text/css" href="../../css/geral.css" />
<title></title>
</head>
<body bgcolor="white" style="background-color:white;text-align:left;">
<p>
<?php
if (isset($_FILES['i3GEOuploadkml']['name']))
{
//$ndir = dirname($filen);
require_once (dirname(__FILE__)."/../../ms_configura.php");
$mapa = ms_newMapObj($map_file);
echo "<p class='paragrafo' >Carregando o arquivo...</p>";
ob_flush();
flush();
sleep(1);
$dirmap = dirname($map_file);
//verifica nomes
verificaNome($_FILES['i3GEOuploadkml']['name']);
//sobe arquivo
$Arquivo = $_FILES['i3GEOuploadkml']['tmp_name'];
$status = move_uploaded_file($Arquivo,$dirmap."/".$_FILES['i3GEOuploadkml']['name']);
if($status != 1)
{echo "<p class='paragrafo' >Ocorreu um erro no envio do arquivo kml";paraAguarde();exit;}
if($status == 1)
{
echo "<p class='paragrafo' >Arquivo enviado. Adicionando tema...</p>";
ob_flush();
flush();
sleep(1);
$tipos = array("pontos","linhas","poligonos");
foreach($tipos as $tipo){
$novolayer = ms_newLayerObj($mapa);
$novolayer->set("connection",$dirmap."/".$_FILES['i3GEOuploadkml']['name']);
if(ms_GetVersionInt() > 50201)
{$novolayer->setconnectiontype(MS_OGR);}
else
{$novolayer->set("connectiontype",MS_OGR);}
$nome = str_replace(".","",$_FILES['i3GEOuploadkml']['name']);
$novolayer->set("name",$nome.$tipo);
$novolayer->setmetadata("TEMA",$_FILES['i3GEOuploadkml']['name']." ".$tipo);
$novolayer->setmetadata("DOWNLOAD","SIM");
$novolayer->setmetadata("CLASSE","SIM");
$novolayer->setmetadata("TEXTO","NAO");
if($tipo == "pontos")
{$novolayer->set("type",MS_LAYER_POINT);}
if($tipo == "linhas")
{$novolayer->set("type",MS_LAYER_LINE);}
if($tipo == "poligonos")
{$novolayer->set("type",MS_LAYER_POLYGON);}
$novolayer->set("type",$tipo);
$novolayer->set("data",$layerkml);
$novolayer->setmetadata("TEMALOCAL","SIM");
$novolayer->setfilter("");
$classe = ms_newClassObj($novolayer);
$classe->set("name","");
$estilo = ms_newStyleObj($classe);
if($tipo == "pontos")
{
$estilo->set("symbolname","ponto");
$estilo->set("size",6);
}
$estilo->color->setrgb(200,50,0);
$estilo->outlinecolor->setrgb(0,0,0);
// le os itens
$novolayer->set("status",MS_DEFAULT);
$novolayer->set("template","none.htm");
if(isset($uploadkmlEPSG) && $uploadkmlEPSG != "")
{$novolayer->setProjection("init=epsg:".$uploadkmlEPSG);}
//$adiciona = ms_newLayerObj($mapa, $novolayer);
}
$salvo = $mapa->save($map_file);
//grava os templates de cada tema
echo "<b><p class='paragrafo' >Camadas criadas!!! Redesenhando o mapa.";
echo "<script>window.scrollTo(0,10000);window.parent.i3GEO.atualiza()</script>";
}
else
{
echo "<p class='paragrafo' >Erro ao enviar o arquivo.</p>";
paraAguarde();
exit;
}
}
else
{
echo "<p class='paragrafo' >Erro ao enviar o arquivo. Talvez o tamanho do arquivo seja maior do que o permitido.</p>";
}
paraAguarde();
function paraAguarde(){
echo "<script>window.scrollTo(0,10000);window.parent.i3GEOF.uploadkml.aguarde.visibility='hidden';</script>";
}
function verificaNome($nome)
{
$nome = strtolower($nome);
$lista = explode(".",$nome);
$extensao = $lista[count($lista) - 1];
if($extensao != "kml")
{
echo "Nome de arquivo inválido.";
paraAguarde();
exit;
}
}
?>
</body>
</html>