Commit ba4ca69fc682318ca1c10d15c93afe6cb7c37081

Authored by Edmar Moretti
1 parent cd4a9577
Exists in master

Separacao do codigo utilizado no upload de shp do sistema de administracao e das ferramentas

classesphp/mapa_controle.php
... ... @@ -122,7 +122,7 @@ $interfaceTemp = $interface;
122 122 //TEMA2SLD e usado por datadownload.htm
123 123 //PEGAMAPAS e utilizado em varias funcoes
124 124 //
125   -if ($funcao != "pegaTodosTemas" && $funcao != "download3" && $funcao != "listainterfaces" && $funcao != "pegalistadetemas" && $funcao != "pegalistadeSubgrupos" && $funcao != "procurartemasestrela" && $funcao != "pegalistadegrupos" && $funcao != "pegalistademenus" && $funcao != "criaMapa" && strtoupper($funcao) != "TEMA2SLD" && strtoupper($funcao) != "PEGAMAPAS"){
  125 +if ($funcao != "listaEpsg" && $funcao != "pegaTodosTemas" && $funcao != "download3" && $funcao != "listainterfaces" && $funcao != "pegalistadetemas" && $funcao != "pegalistadeSubgrupos" && $funcao != "procurartemasestrela" && $funcao != "pegalistadegrupos" && $funcao != "pegalistademenus" && $funcao != "criaMapa" && strtoupper($funcao) != "TEMA2SLD" && strtoupper($funcao) != "PEGAMAPAS"){
126 126 session_name("i3GeoPHP");
127 127 if (isset($g_sid) && $g_sid != ""){
128 128 session_id($g_sid);
... ...
ferramentas/upload/index.js
... ... @@ -112,14 +112,6 @@ i3GEOF.upload = {
112 112 '<p class="paragrafo" >dbf: <br><input type="file" size=22 name="i3GEOuploaddbf" style="top:0px;left:0px;cursor:pointer;"></p>' +
113 113 '<p class="paragrafo" >prj (opcional): <br><input type="file" size=22 name="i3GEOuploadprj" style="top:0px;left:0px;cursor:pointer;"></p>' +
114 114 '</fieldset>';
115   - if(i3GEO.parametros.editor === "sim"){
116   - ins += '<fieldset class=subbloco >' +
117   - '<p class="paragrafo" >'+$trad('pastaArmazenamento',i3GEOF.upload.dicionario)+':</p>' +
118   - '<div class="i3geoForm i3geoFormIconeEdita" ><input type="text" name="dirDestino" id="dirDestino" /></div>' +
119   - "&nbsp;<img onclick='i3GEO.util.navegadorDir(\"dirDestino\",false,false,false,true);' src='"+i3GEO.configura.locaplic+"/imagens/ic_zoom.png' style='cursor:pointer;position :relative;top:2px'/></p>" +
120   - '<p class="paragrafo" ><input type=checkbox name=i3GEOuploadCriaMapfile id=i3GEOuploadCriaMapfile />&nbsp;'+$trad('criaMapfile',i3GEOF.upload.dicionario) +
121   - '</fieldset>';
122   - }
123 115 ins += '<fieldset class=subbloco >' +
124 116 '<p class="paragrafo" >'+$trad('tipoGeom',i3GEOF.upload.dicionario)+': </p>' +
125 117 ' <div class=styled-select >' +
... ...
ferramentas/upload/upload.php
... ... @@ -17,6 +17,12 @@ if(isset($_GET[&quot;g_sid&quot;]) &amp;&amp; $_GET[&quot;g_sid&quot;] != &quot;&quot;){
17 17 session_start();
18 18 $map_file = $_SESSION["map_file"];
19 19 }
  20 +else{
  21 + exit;
  22 +}
  23 +if(!file_exists($map_file)){
  24 + exit;
  25 +}
20 26 if (ob_get_level() == 0) ob_start();
21 27 ?>
22 28 <html>
... ... @@ -42,18 +48,10 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;]))
42 48 ob_flush();
43 49 flush();
44 50 sleep(1);
45   - if(isset($map_file)){
46   - $mapa = ms_newMapObj($map_file);
47   - $dirmap = dirname($map_file);
48   - }
49   - if(isset($dirDestino) && $dirDestino != ""){
50   - $dirmap = $dirDestino;
51   - include_once(dirname(__FILE__)."/../../admin/php/login.php");
52   - if(verificaOperacaoSessao("admin/php/editortexto") == false){
53   - echo "Vc nao pode salvar os dados no servidor em uma pasta espec&iacute;fica";exit;
54   - }
55   - if(!file_exists($dirmap))
56   - {echo "<p class='paragrafo' >Pasta n&atilde;o existe no servidor";paraAguarde();exit;}
  51 + $mapa = ms_newMapObj($map_file);
  52 + $dirmap = dirname($map_file);
  53 + if(!file_exists($dirmap)){
  54 + exit;
57 55 }
58 56 //verifica nomes
59 57 verificaNome($_FILES['i3GEOuploadshp']['name']);
... ... @@ -104,6 +102,7 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;]))
104 102  
105 103 $checkphp = fileContemString($dirmap."/".$nomePrefixo.".prj","<?");
106 104 if($checkphp == true){
  105 + echo "Arquivo prj invalido";
107 106 unlink($dirmap."/".$nomePrefixo.".shp");
108 107 unlink($dirmap."/".$nomePrefixo.".dbf");
109 108 unlink($dirmap."/".$nomePrefixo.".shx");
... ... @@ -112,6 +111,7 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;]))
112 111 }
113 112 $checkphp = fileContemString($dirmap."/".$nomePrefixo.".shx","<?");
114 113 if($checkphp == true){
  114 + echo "Arquivo shx invalido";
115 115 unlink($dirmap."/".$nomePrefixo.".shp");
116 116 unlink($dirmap."/".$nomePrefixo.".dbf");
117 117 unlink($dirmap."/".$nomePrefixo.".shx");
... ... @@ -120,6 +120,7 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;]))
120 120 }
121 121 $checkphp = fileContemString($dirmap."/".$nomePrefixo.".dbf","<?");
122 122 if($checkphp == true){
  123 + echo "Arquivo dbf invalido";
123 124 unlink($dirmap."/".$nomePrefixo.".shp");
124 125 unlink($dirmap."/".$nomePrefixo.".dbf");
125 126 unlink($dirmap."/".$nomePrefixo.".shx");
... ... @@ -130,91 +131,59 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;]))
130 131 echo "<p class='paragrafo' >Arquivo enviado.</p>";
131 132 echo "<p class='paragrafo'></p>";
132 133 //nesse caso o formulario de upload esta sendo executado de dentro de um mapa interativo, por isso o mapfile ja existe
133   - if(isset($map_file)){
134   - echo "<p class='paragrafo' >Adicionando tema...</p>";
135   - ob_flush();
136   - flush();
137   - sleep(1);
138   - $novolayer = ms_newLayerObj($mapa);
139   - $novolayer->set("data",$dirmap."/".$nomePrefixo.".shp");
140   - $novolayer->set("name",$_FILES['i3GEOuploadshp']['name']);
141   - $novolayer->setmetadata("TEMA",$_FILES['i3GEOuploadshp']['name']);
142   - $novolayer->setmetadata("DOWNLOAD","SIM");
143   - $sfileObj = ms_newShapefileObj($dirmap."/".$nomePrefixo.".shp", -1);
144   - if(!isset($tipo) || $tipo == "")
145   - {$tipo = $sfileObj->type;}
146   - if ($tipo == 1){$novolayer->set("type",MS_LAYER_POINT);} // ponto
147   - if ($tipo == 3){$novolayer->set("type",MS_LAYER_LINE);}
148   - if ($tipo == 5){$novolayer->set("type",MS_LAYER_POLYGON);}
149   - $novolayer->setmetadata("TEMALOCAL","SIM");
150   - $novolayer->setmetadata("CLASSE","SIM");
151   - $novolayer->setmetadata("TEXTO","NAO");
152   - //if (($tipo != 3) and ($tipo != 8 )){$novolayer->set("type",0);}
153   - $novolayer->setfilter("");
154   - $classe = ms_newClassObj($novolayer);
155   - $classe->set("name","");
156   - $estilo = ms_newStyleObj($classe);
157   - if ($tipo == 1)
158   - {
159   - $estilo->set("symbolname","ponto");
160   - $estilo->set("size",6);
161   - }
162   - $estilo->color->setrgb(200,50,0);
163   - $estilo->outlinecolor->setrgb(0,0,0);
164   - // le os itens
165   - $novolayer->set("status",MS_DEFAULT);
166   - $abriu = $novolayer->open();
167   - $items = $novolayer->getItems();
168   - $fechou = $novolayer->close();
169   - if ($items != "")
170   - {
171   - $its = implode(",",$items);
172   - $novolayer->setmetadata("ITENS",$its);
173   - $novolayer->setmetadata("ITENSDESC",$its);
174   - $novolayer->set("template","none.htm");
175   - }
176   - if(isset($_GET["uploadEPSG"]) && $_GET["uploadEPSG"] != ""){
177   - $novolayer->setProjection("init=epsg:".$_GET["uploadEPSG"]);
178   - }
179   - if(file_exists($dirmap."/".$nomePrefixo.".prj")){
180   - $novolayer->setProjection("AUTO");
181   - }
182   - //$adiciona = ms_newLayerObj($mapa, $novolayer);
183   - $salvo = $mapa->save($map_file);
184   - //grava os templates de cada tema
185   - echo "<b><p class='paragrafo' >Tema criado!!! Redesenhando o mapa.";
186   - echo "<script>window.scrollTo(0,10000);window.parent.i3GEO.atualiza()</script>";
  134 + echo "<p class='paragrafo' >Adicionando tema...</p>";
  135 + ob_flush();
  136 + flush();
  137 + sleep(1);
  138 + $novolayer = ms_newLayerObj($mapa);
  139 + $novolayer->set("data",$dirmap."/".$nomePrefixo.".shp");
  140 + $novolayer->set("name",$_FILES['i3GEOuploadshp']['name']);
  141 + $novolayer->setmetadata("TEMA",$_FILES['i3GEOuploadshp']['name']);
  142 + $novolayer->setmetadata("DOWNLOAD","SIM");
  143 + $sfileObj = ms_newShapefileObj($dirmap."/".$nomePrefixo.".shp", -1);
  144 + if(!isset($tipo) || $tipo == "")
  145 + {$tipo = $sfileObj->type;}
  146 + if ($tipo == 1){$novolayer->set("type",MS_LAYER_POINT);} // ponto
  147 + if ($tipo == 3){$novolayer->set("type",MS_LAYER_LINE);}
  148 + if ($tipo == 5){$novolayer->set("type",MS_LAYER_POLYGON);}
  149 + $novolayer->setmetadata("TEMALOCAL","SIM");
  150 + $novolayer->setmetadata("CLASSE","SIM");
  151 + $novolayer->setmetadata("TEXTO","NAO");
  152 + //if (($tipo != 3) and ($tipo != 8 )){$novolayer->set("type",0);}
  153 + $novolayer->setfilter("");
  154 + $classe = ms_newClassObj($novolayer);
  155 + $classe->set("name","");
  156 + $estilo = ms_newStyleObj($classe);
  157 + if ($tipo == 1)
  158 + {
  159 + $estilo->set("symbolname","ponto");
  160 + $estilo->set("size",6);
187 161 }
188   - elseif($i3GEOuploadCriaMapfile == "on"){
189   - //verifica se o usuario marcou a opcao de cria mapfile
190   - //nesse caso o aplicativo de upload esta sendo executado de dentro do sistema de administracao, e o mapfile devera
191   - //ser criado e registrado no sistema
192   - $nome = $nomePrefixo;
193   - $codigo = $nomePrefixo;
194   - $it = $nomePrefixo;
195   - $en = $nomePrefixo;
196   - $es = $nomePrefixo;
197   - $sfileObj = ms_newShapefileObj($dirmap."/".$nomePrefixo.".shp", -1);
198   - if(!isset($tipo) || $tipo == ""){
199   - $tipo = $sfileObj->type;
200   - }
201   - if ($tipo == 1){
202   - $tipoLayer = "point";
203   - }
204   - if ($tipo == 3){
205   - $tipoLayer = "line";
206   - }
207   - if ($tipo == 5){
208   - $tipoLayer = "polygon";
209   - }
210   - $funcao = "CRIARNOVOMAP";
211   - $output = "retorno";
212   - $data = $dirmap."/".$nomePrefixo.".shp";
213   - include_once($locaplic."/admin/php/editormapfile.php");
214   - echo "<b><p class='paragrafo' >Criado!!!<br>";
215   - echo "Para editar clique: <a href='../../admin/html/editormapfile.html' target=_blank >editar</a>";
216   - echo "<script>window.scrollTo(0,10000);i3GEO.util.insereCookie('I3GEOletraAdmin','".$nomePrefixo."');</script>";
  162 + $estilo->color->setrgb(200,50,0);
  163 + $estilo->outlinecolor->setrgb(0,0,0);
  164 + // le os itens
  165 + $novolayer->set("status",MS_DEFAULT);
  166 + $abriu = $novolayer->open();
  167 + $items = $novolayer->getItems();
  168 + $fechou = $novolayer->close();
  169 + if ($items != "")
  170 + {
  171 + $its = implode(",",$items);
  172 + $novolayer->setmetadata("ITENS",$its);
  173 + $novolayer->setmetadata("ITENSDESC",$its);
  174 + $novolayer->set("template","none.htm");
  175 + }
  176 + if(isset($_GET["uploadEPSG"]) && $_GET["uploadEPSG"] != ""){
  177 + $novolayer->setProjection("init=epsg:".$_GET["uploadEPSG"]);
  178 + }
  179 + if(file_exists($dirmap."/".$nomePrefixo.".prj")){
  180 + $novolayer->setProjection("AUTO");
217 181 }
  182 + //$adiciona = ms_newLayerObj($mapa, $novolayer);
  183 + $salvo = $mapa->save($map_file);
  184 + //grava os templates de cada tema
  185 + echo "<b><p class='paragrafo' >Tema criado!!! Redesenhando o mapa.";
  186 + echo "<script>window.scrollTo(0,10000);window.parent.i3GEO.atualiza()</script>";
218 187 }
219 188 else
220 189 {
... ...