Commit 538ca12b939c9ca31cd071b8238894ee34e954db
1 parent
6c64b69b
Exists in
master
and in
7 other branches
Incluida opção para clonar um mapfile no sistema de admnistração
Showing
5 changed files
with
121 additions
and
4 deletions
Show diff stats
admin/admin.db
No preview for this file type
779 Bytes
admin/js/core.js
@@ -264,6 +264,43 @@ function core_dialogoContinua(handleYes,handleNo,mensagem,largura) | @@ -264,6 +264,43 @@ function core_dialogoContinua(handleYes,handleNo,mensagem,largura) | ||
264 | YAHOO.continua.container.simpledialog1.show(); | 264 | YAHOO.continua.container.simpledialog1.show(); |
265 | } | 265 | } |
266 | /* | 266 | /* |
267 | +Function: core_dialogoPergunta | ||
268 | + | ||
269 | +Mostra um diálogo do tipo sim não com uma pergunta | ||
270 | + | ||
271 | +Parameters: | ||
272 | + | ||
273 | +handleYes - função para sim | ||
274 | + | ||
275 | +handleNo - função para não | ||
276 | + | ||
277 | +mensagem - mensagem do diálogo | ||
278 | + | ||
279 | +largura - largura do diálogo em px | ||
280 | +*/ | ||
281 | +function core_dialogoPergunta(handleYes,handleNo,mensagem,largura) | ||
282 | +{ | ||
283 | + // Instantiate the Dialog | ||
284 | + YAHOO.namespace("continua.container"); | ||
285 | + YAHOO.continua.container.simpledialog1 = | ||
286 | + new YAHOO.widget.SimpleDialog("simpledialog1", | ||
287 | + { width: largura+"px", | ||
288 | + fixedcenter: true, | ||
289 | + visible: false, | ||
290 | + draggable: false, | ||
291 | + close: true, | ||
292 | + text: mensagem, | ||
293 | + icon: "", | ||
294 | + modal: true, | ||
295 | + constraintoviewport: true, | ||
296 | + buttons: [ { text:"Continua", handler:handleYes, isDefault:true }, | ||
297 | + { text:"Cancela", handler:handleNo } ] | ||
298 | + } ); | ||
299 | + //YAHOO.continua.container.simpledialog1.setHeader("Tem certeza?"); | ||
300 | + YAHOO.continua.container.simpledialog1.render(document.body); | ||
301 | + YAHOO.continua.container.simpledialog1.show(); | ||
302 | +} | ||
303 | +/* | ||
267 | Function: core_ativaPainelAjuda | 304 | Function: core_ativaPainelAjuda |
268 | 305 | ||
269 | Parameters: | 306 | Parameters: |
admin/js/editormapfile.js
@@ -231,6 +231,7 @@ function montaNosRaiz(redesenha) | @@ -231,6 +231,7 @@ function montaNosRaiz(redesenha) | ||
231 | for (var i=0, j=$mapfiles.length; i<j; i++) | 231 | for (var i=0, j=$mapfiles.length; i<j; i++) |
232 | { | 232 | { |
233 | conteudo = " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"excluirMapfile('"+$mapfiles[i].codigo+"')\" title=excluir src=\"../imagens/01.png\" />" | 233 | conteudo = " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"excluirMapfile('"+$mapfiles[i].codigo+"')\" title=excluir src=\"../imagens/01.png\" />" |
234 | + conteudo += " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"clonarMapfile('"+$mapfiles[i].codigo+"')\" title='cria uma cópia' src=\"../imagens/clonar.png\" />" | ||
234 | conteudo += " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"limparCacheMapfile('"+$mapfiles[i].codigo+"')\" title='limpa o chache de imagens se houver' src=\"../imagens/limparcache.png\" />" | 235 | conteudo += " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"limparCacheMapfile('"+$mapfiles[i].codigo+"')\" title='limpa o chache de imagens se houver' src=\"../imagens/limparcache.png\" />" |
235 | conteudo += " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"editorTemaMapfile('"+$mapfiles[i].codigo+"')\" title='editar tema associado' src=\"../imagens/06.png\" />" | 236 | conteudo += " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"editorTemaMapfile('"+$mapfiles[i].codigo+"')\" title='editar tema associado' src=\"../imagens/06.png\" />" |
236 | conteudo += " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfile('"+$mapfiles[i].codigo+"')\" title='testar!' src=\"../imagens/41.png\" /><b> <span>"+$mapfiles[i].codigo+" <span style=color:gray >"+$mapfiles[i].nome+"</span></span>" | 237 | conteudo += " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfile('"+$mapfiles[i].codigo+"')\" title='testar!' src=\"../imagens/41.png\" /><b> <span>"+$mapfiles[i].codigo+" <span style=color:gray >"+$mapfiles[i].nome+"</span></span>" |
@@ -818,6 +819,47 @@ function excluirMapfile(codigoMap) | @@ -818,6 +819,47 @@ function excluirMapfile(codigoMap) | ||
818 | core_excluiNoTree(sUrl,no,mensagem) | 819 | core_excluiNoTree(sUrl,no,mensagem) |
819 | } | 820 | } |
820 | /* | 821 | /* |
822 | +Function: clonarMapfile | ||
823 | + | ||
824 | +Exclui um mapfile | ||
825 | + | ||
826 | +<CLONARMAPFILE> | ||
827 | +*/ | ||
828 | +function clonarMapfile(codigoMap) | ||
829 | +{ | ||
830 | + var mensagem = " clonando "+codigoMap; | ||
831 | + var sUrl = "../php/editormapfile.php?funcao=clonarMapfile&codigomap="+codigoMap; | ||
832 | + var handleYes = function() | ||
833 | + { | ||
834 | + var novonome = $i("clonarComo").value; | ||
835 | + this.hide(); | ||
836 | + if(novonome == "") | ||
837 | + {return;} | ||
838 | + core_carregando("ativa"); | ||
839 | + core_carregando("Copiando..."); | ||
840 | + var callback = | ||
841 | + { | ||
842 | + success:function(o) | ||
843 | + { | ||
844 | + try | ||
845 | + { | ||
846 | + core_carregando("desativa"); | ||
847 | + initMenu(); | ||
848 | + } | ||
849 | + catch(e){core_handleFailure(o,o.responseText);} | ||
850 | + }, | ||
851 | + failure:core_handleFailure, | ||
852 | + argument: { foo:"foo", bar:"bar" } | ||
853 | + }; | ||
854 | + core_makeRequest(sUrl+"&novomap="+novonome,callback) | ||
855 | + }; | ||
856 | + var handleNo = function() | ||
857 | + {this.hide();}; | ||
858 | + var mensagem = "Nome do novo arquivo:<br><input type=text value='' id=clonarComo />"; | ||
859 | + var largura = "300" | ||
860 | + core_dialogoPergunta(handleYes,handleNo,mensagem,largura) | ||
861 | +} | ||
862 | +/* | ||
821 | Function: excluirLayer | 863 | Function: excluirLayer |
822 | 864 | ||
823 | Exclui um layer | 865 | Exclui um layer |
admin/php/editormapfile.php
@@ -192,7 +192,8 @@ switch (strtoupper($funcao)) | @@ -192,7 +192,8 @@ switch (strtoupper($funcao)) | ||
192 | {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} | 192 | {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} |
193 | //pega oid do tema | 193 | //pega oid do tema |
194 | $dados = pegaDados("SELECT id_tema from i3geoadmin_temas WHERE codigo_tema = '".$codigoMap."'"); | 194 | $dados = pegaDados("SELECT id_tema from i3geoadmin_temas WHERE codigo_tema = '".$codigoMap."'"); |
195 | - $id = $dados[0]["id_tema"]; | 195 | + if(count($dados) > 0) |
196 | + {$id = $dados[0]["id_tema"];} | ||
196 | $tabela = "mapfiles"; | 197 | $tabela = "mapfiles"; |
197 | $coluna = "id_tema"; | 198 | $coluna = "id_tema"; |
198 | $f = verificaFilhos(); | 199 | $f = verificaFilhos(); |
@@ -203,9 +204,11 @@ switch (strtoupper($funcao)) | @@ -203,9 +204,11 @@ switch (strtoupper($funcao)) | ||
203 | } | 204 | } |
204 | else | 205 | else |
205 | { | 206 | { |
206 | - unlink("$locaplic/temas/".$codigoMap.".map"); | 207 | + if(file_exists("$locaplic/temas/".$codigoMap.".map")) |
208 | + {unlink("$locaplic/temas/".$codigoMap.".map");} | ||
207 | $tabela = "i3geoadmin_temas"; | 209 | $tabela = "i3geoadmin_temas"; |
208 | - exclui(); | 210 | + if($id) |
211 | + {exclui();} | ||
209 | retornaJSON("ok"); | 212 | retornaJSON("ok"); |
210 | exit; | 213 | exit; |
211 | } | 214 | } |
@@ -232,7 +235,28 @@ switch (strtoupper($funcao)) | @@ -232,7 +235,28 @@ switch (strtoupper($funcao)) | ||
232 | {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} | 235 | {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} |
233 | retornaJSON(refazerLayer()); | 236 | retornaJSON(refazerLayer()); |
234 | exit; | 237 | exit; |
235 | - break; | 238 | + break; |
239 | + /* | ||
240 | + Valor: CLONARMAPFILE | ||
241 | + | ||
242 | + Copia um mapfile existente | ||
243 | + | ||
244 | + Parametros: | ||
245 | + | ||
246 | + codigomap {string} - nome do mapfile existente em i3geo/temas que será clonado (sem .map) | ||
247 | + | ||
248 | + novomap {string} - nome do mapfile que será criado | ||
249 | + | ||
250 | + Retorno: | ||
251 | + | ||
252 | + {JSON} | ||
253 | + */ | ||
254 | + case "CLONARMAPFILE": | ||
255 | + if(verificaEditores($editores) == "nao") | ||
256 | + {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} | ||
257 | + retornaJSON(clonarMapfile()); | ||
258 | + exit; | ||
259 | + break; | ||
236 | /* | 260 | /* |
237 | Valor: CRIARNOVOLAYER | 261 | Valor: CRIARNOVOLAYER |
238 | 262 | ||
@@ -934,6 +958,20 @@ switch (strtoupper($funcao)) | @@ -934,6 +958,20 @@ switch (strtoupper($funcao)) | ||
934 | exit; | 958 | exit; |
935 | break; | 959 | break; |
936 | } | 960 | } |
961 | +function clonarMapfile() | ||
962 | +{ | ||
963 | + global $novomap, $codigomap, $locaplic; | ||
964 | + error_reporting(E_ALL); | ||
965 | + $arqtema = $locaplic."/temas/".$codigomap.".map"; | ||
966 | + $novotema = $locaplic."/temas/".$novomap.".map"; | ||
967 | + copy($arqtema,$novotema); | ||
968 | + $mapa = ms_newMapObj($novotema); | ||
969 | + $layer = @$mapa->getlayerbyname($codigomap); | ||
970 | + $layer->set("name",$novomap); | ||
971 | + $mapa->save($novotema); | ||
972 | + removeCabecalho($novotema); | ||
973 | + return array("data"=>"ok"); | ||
974 | +} | ||
937 | function refazerLayer() | 975 | function refazerLayer() |
938 | { | 976 | { |
939 | global $nomelayer, $codigomap, $maporigem, $locaplic; | 977 | global $nomelayer, $codigomap, $maporigem, $locaplic; |