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 | 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 | 304 | Function: core_ativaPainelAjuda |
| 268 | 305 | |
| 269 | 306 | Parameters: | ... | ... |
admin/js/editormapfile.js
| ... | ... | @@ -231,6 +231,7 @@ function montaNosRaiz(redesenha) |
| 231 | 231 | for (var i=0, j=$mapfiles.length; i<j; i++) |
| 232 | 232 | { |
| 233 | 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 | 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 | 236 | conteudo += " <img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"editorTemaMapfile('"+$mapfiles[i].codigo+"')\" title='editar tema associado' src=\"../imagens/06.png\" />" |
| 236 | 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 | 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 | 863 | Function: excluirLayer |
| 822 | 864 | |
| 823 | 865 | Exclui um layer | ... | ... |
admin/php/editormapfile.php
| ... | ... | @@ -192,7 +192,8 @@ switch (strtoupper($funcao)) |
| 192 | 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 | 193 | //pega oid do tema |
| 194 | 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 | 197 | $tabela = "mapfiles"; |
| 197 | 198 | $coluna = "id_tema"; |
| 198 | 199 | $f = verificaFilhos(); |
| ... | ... | @@ -203,9 +204,11 @@ switch (strtoupper($funcao)) |
| 203 | 204 | } |
| 204 | 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 | 209 | $tabela = "i3geoadmin_temas"; |
| 208 | - exclui(); | |
| 210 | + if($id) | |
| 211 | + {exclui();} | |
| 209 | 212 | retornaJSON("ok"); |
| 210 | 213 | exit; |
| 211 | 214 | } |
| ... | ... | @@ -232,7 +235,28 @@ switch (strtoupper($funcao)) |
| 232 | 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 | 236 | retornaJSON(refazerLayer()); |
| 234 | 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 | 261 | Valor: CRIARNOVOLAYER |
| 238 | 262 | |
| ... | ... | @@ -934,6 +958,20 @@ switch (strtoupper($funcao)) |
| 934 | 958 | exit; |
| 935 | 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 | 975 | function refazerLayer() |
| 938 | 976 | { |
| 939 | 977 | global $nomelayer, $codigomap, $maporigem, $locaplic; | ... | ... |