From 93b798350da2549ba70272d6dabae21cc6f8eea2 Mon Sep 17 00:00:00 2001
From: Edmar Moretti Grupos existentes: (clique na célula para editar e salve a linha editada) Temas existentes: Sub-grupos existentes: (clique na célula para editar e salve a linha editada)Administração do i3geo - grupos
+
+
+ Você pode criar vários grupos para poder montar a árvore de temas de cada menu.
+ Cada grupo é mostrado como nós de um ou mais menus das árvores mostradas na guia de adição de temas do i3geo.
+ A lista de grupos é baseada no banco admin.db e os usuários que não são editores podem
+ ver apenas os grupos publicados.
+ A lista de IPs dos usuários que podem editar os menu é definida no
+ arquivo i3geo/ms_configura.php
+
+Administração do i3geo - menu de temas
-
-Administração do i3geo - menu de temas
-
-Administração do i3geo - temas
+
+
+ Você pode criar vários temas para poder montar a árvore de temas de cada menu.
+ Cada tema é vínculado a um arquivo mapfile, possuindo um nome e alguns parâmetros,
+ como possibilidade de download, geração de Web Services, etc.
+ A lista de temas é baseada no banco admin.db.
+ A lista de IPs dos usuários que podem editar os menu é definida no
+ arquivo i3geo/ms_configura.php
+
+Administração do i3geo - sub-grupos
+
+
+ Você pode criar vários sub-grupos para poder montar a árvore de temas de cada menu.
+ Cada sub-grupo é mostrado como nós de um ou mais menus das árvores mostradas na guia de adição de temas do i3geo.
+ A lista de sub-grupos é baseada no banco admin.db e os usuários que não são editores podem
+ ver apenas os sub-grupos publicados.
+ A lista de IPs dos usuários que podem editar os menu é definida no
+ arquivo i3geo/ms_configura.php
+
+
" + oData + "
"; + }; + var formatTextoId = function(elCell, oRecord, oColumn, oData) + { + elCell.innerHTML = "" + oData + "
"; + }; + + var formatSalva = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = ""; + }; + var formatExclui = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = "";//onclick='excluiLinha(\""+oRecord.getData("id_menu")+"\",\""+oRecord.getId()+"\")'>"; + }; + var myColumnDefs = [ + {key:"excluir",label:"excluir",formatter:formatExclui}, + {label:"salvar",formatter:formatSalva}, + {label:"id",key:"id_grupo", formatter:formatTextoId}, + {label:"nome",resizeable:true,key:"nome_grupo", formatter:formatTexto, editor:"textbox"}, + {label:"descrição",resizeable:true,key:"desc_grupo", formatter:formatTexto, editor:"textbox"} + ]; + myDataSource = new YAHOO.util.DataSource(dados); + myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; + myDataSource.responseSchema = + { + fields: ["desc_grupo","id_grupo","nome_grupo"] + }; + myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); + // Set up editing flow + myDataTable.highlightEditableCell = function(oArgs) + { + var elCell = oArgs.target; + var column = myDataTable.getColumn(oArgs.target); + //if(column.editor != "null") + if(!YAHOO.lang.isNull(column.editor)) + { + YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted'); + } + }; + myDataTable.unhighlightEditableCell = function(oArgs) + { + var elCell = oArgs.target; + if(elCell.style.cursor="pointer") + { + YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted'); + } + }; + myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell); + myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell); + myDataTable.subscribe('cellClickEvent',function(ev) + { + var target = YAHOO.util.Event.getTarget(ev); + var column = this.getColumn(target); + if(YAHOO.example.container.panelCK) + { + YAHOO.example.container.panelCK.destroy(); + YAHOO.example.container.panelCK = null; + } + if (column.key == 'excluir') + { + var record = this.getRecord(target); + excluiLinha(record.getData('id_grupo'),target); + } + else + {this.onEventShowCellEditor(ev);} + }); + // Hook into custom event to customize save-flow of "radio" editor + myDataTable.subscribe("editorUpdateEvent", function(oArgs) + { + if(oArgs.editor.column.key === "active") + { + this.saveCellEditor(); + + } + }); + myDataTable.subscribe("editorBlurEvent", function(oArgs) + { + this.cancelCellEditor(); + }); + }; + core_carregando("desativa"); +} +function gravaLinha(row) +{ + var r = myDataTable.getRecordSet().getRecord(row); + var id_grupo = r.getData("id_grupo"); + var nome_grupo = r.getData("nome_grupo"); + var desc_grupo = r.getData("desc_grupo"); + core_carregando("ativa"); + core_carregando(" gravando registro do id= "+id_grupo); + var sUrl = "../php/menutemas.php?funcao=alteraGrupos&nome="+nome_grupo+"&desc="+desc_grupo+"&id="+id_grupo; + var callback = + { + success:function(o) + { + core_carregando("desativa"); + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) +} +function excluiLinha(id,row) +{ + //dialogo + // Define various event handlers for Dialog + var handleYes = function() { + this.hide(); + core_carregando("ativa"); + core_carregando(" excluindo o registro do id= "+id); + var sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=grupos"; + var callback = + { + success:function(o) + { + try + { + if(YAHOO.lang.JSON.parse(o.responseText) == "erro") + { + core_carregando("Não foi possível excluir. Verifique se não existem sub-grupos vinculados a este grupo"); + setTimeout("core_carregando('desativa')",3000) + } + else + { + myDataTable.deleteRow(row); + core_carregando("desativa"); + } + } + catch(e){core_handleFailure(o,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) + }; + var handleNo = function() + { + this.hide(); + }; + var mensagem = "Exclui o registro?"; + var largura = "300" + core_dialogoContinua(handleYes,handleNo,mensagem,largura) +} +YAHOO.util.Event.addListener(window, "load", initMenu); \ No newline at end of file diff --git a/admin/js/listatemas.js b/admin/js/listatemas.js new file mode 100644 index 0000000..f035e1e --- /dev/null +++ b/admin/js/listatemas.js @@ -0,0 +1,333 @@ +YAHOO.namespace("example.container"); +function initMenu() +{ + ativaBotaoAdicionaTema() + core_carregando("ativa"); + core_ativaPainelAjuda("ajuda","botaoAjuda"); + core_pegaPerfis("pegaTemas()"); +} +function ativaBotaoAdicionaTema() +{ + var adicionalinha = function() + { + core_carregando("ativa"); + core_carregando(" adicionando um novo registro"); + var sUrl = "../php/menutemas.php?funcao=alteraTemas"; + var callback = + { + success:function(o) + { + try + { + myDataTable.addRow(YAHOO.lang.JSON.parse(o.responseText)[0],0); + core_carregando("desativa"); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) + }; + //cria o botão de adição de um novo menu + var adiciona = new YAHOO.widget.Button("adiciona",{ onclick: { fn: adicionalinha } }); +} +function pegaTemas() +{ + core_carregando("buscando temas..."); + var sUrl = "../php/menutemas.php?funcao=pegaTemas2"; + var callback = + { + success:function(o) + { + try + {montaTabela(YAHOO.lang.JSON.parse(o.responseText));} + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) +} +function montaTabela(dados) +{ + YAHOO.example.InlineCellEditing = new function() + { + // Custom formatter for "address" column to preserve line breaks + var formatTextoId = function(elCell, oRecord, oColumn, oData) + { + elCell.innerHTML = "" + oData + "
"; + }; + + var formatMais = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = ""; + }; + var formatExclui = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = ""; + }; + var myColumnDefs = [ + {key:"excluir",label:"excluir",formatter:formatExclui}, + {key:"mais",label:"mais",formatter:formatMais}, + {label:"id",key:"id_tema", formatter:formatTextoId}, + {label:"codigo (mapfile)",key:"codigo_tema", formatter:formatTextoId}, + {label:"nome",key:"nome_tema", formatter:formatTextoId}, + ]; + myDataSource = new YAHOO.util.DataSource(dados); + myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; + myDataSource.responseSchema = + { + fields: ["nome_tema","codigo_tema","id_tema"] + }; + myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); + // Set up editing flow + myDataTable.subscribe('cellClickEvent',function(ev) + { + var target = YAHOO.util.Event.getTarget(ev); + var column = this.getColumn(target); + if (column.key == 'excluir') + { + var record = this.getRecord(target); + excluiLinha(record.getData('id_tema'),target); + } + if (column.key == 'mais') + { + var record = this.getRecord(target); + core_carregando("ativa"); + core_carregando("buscando dados..."); + $clicouId = record.getData('id_tema'); + $recordid = record.getId(); + var sUrl = "../php/menutemas.php?funcao=pegaTemas&id_tema="+record.getData('id_tema'); + var callback = + { + success:function(o) + { + try + { + montaEditorTema(YAHOO.lang.JSON.parse(o.responseText),$clicouId,$recordid); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) + } + + }); + // Hook into custom event to customize save-flow of "radio" editor + myDataTable.subscribe("editorUpdateEvent", function(oArgs) + { + if(oArgs.editor.column.key === "active") + { + this.saveCellEditor(); + } + }); + myDataTable.subscribe("editorBlurEvent", function(oArgs) + { + this.cancelCellEditor(); + }); + }; + core_carregando("desativa"); +} +function montaEditorTema(dados,id,recordid) +{ + function on_editorCheckBoxChange(p_oEvent) + { + var ins = ""; + if(p_oEvent.newValue.get("value") == "OK") + { + gravaDadosTema(id,recordid); + } + else + { + YAHOO.example.container.panelEditorTema.destroy(); + YAHOO.example.container.panelEditorTema = null; + } + }; + if(!YAHOO.example.container.panelEditorTema) + { + var novoel = document.createElement("div"); + novoel.id = "janela_editor"; + var ins = 'Nome do tema:
";
+ ins += "
Mapfile (código do mapfile que será utilizado para criar a camada no i3geo):" + ins += "
Descrição:
";
+ ins += "
Link para a fonte:
";
+ ins += "
Tags (separe com espaço). Você pode digitar novos tags ou pegar da lista abaixo:"
+ ins += "
"
+ ins += "
Tipo:
"
+ ins += ""
+ ins += ""
+ ins += "
Permite acesso via WMS/WFS?
"
+ ins += "
Permite o download na aplicação datadownload.htm?
"
+ ins += "
Permite acesso via kml?
"
+ ins += "
" + oData + "
"; + }; + var formatTextoId = function(elCell, oRecord, oColumn, oData) + { + elCell.innerHTML = "" + oData + "
"; + }; + + var formatSalva = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = ""; + }; + var formatExclui = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = "";//onclick='excluiLinha(\""+oRecord.getData("id_menu")+"\",\""+oRecord.getId()+"\")'>"; + }; + var myColumnDefs = [ + {key:"excluir",label:"excluir",formatter:formatExclui}, + {label:"salvar",formatter:formatSalva}, + {label:"id",key:"id_subgrupo", formatter:formatTextoId}, + {label:"nome",resizeable:true,key:"nome_subgrupo", formatter:formatTexto, editor:"textbox"}, + {label:"descrição",resizeable:true,key:"desc_subgrupo", formatter:formatTexto, editor:"textbox"} + ]; + myDataSource = new YAHOO.util.DataSource(dados); + myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; + myDataSource.responseSchema = + { + fields: ["desc_subgrupo","id_subgrupo","nome_subgrupo"] + }; + myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); + // Set up editing flow + myDataTable.highlightEditableCell = function(oArgs) + { + var elCell = oArgs.target; + var column = myDataTable.getColumn(oArgs.target); + //if(column.editor != "null") + if(!YAHOO.lang.isNull(column.editor)) + { + YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted'); + } + }; + myDataTable.unhighlightEditableCell = function(oArgs) + { + var elCell = oArgs.target; + if(elCell.style.cursor="pointer") + { + YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted'); + } + }; + myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell); + myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell); + myDataTable.subscribe('cellClickEvent',function(ev) + { + var target = YAHOO.util.Event.getTarget(ev); + var column = this.getColumn(target); + if(YAHOO.example.container.panelCK) + { + YAHOO.example.container.panelCK.destroy(); + YAHOO.example.container.panelCK = null; + } + if (column.key == 'excluir') + { + var record = this.getRecord(target); + excluiLinha(record.getData('id_subgrupo'),target); + } + else + {this.onEventShowCellEditor(ev);} + }); + // Hook into custom event to customize save-flow of "radio" editor + myDataTable.subscribe("editorUpdateEvent", function(oArgs) + { + if(oArgs.editor.column.key === "active") + { + this.saveCellEditor(); + + } + }); + myDataTable.subscribe("editorBlurEvent", function(oArgs) + { + this.cancelCellEditor(); + }); + }; + core_carregando("desativa"); +} +function gravaLinha(row) +{ + var r = myDataTable.getRecordSet().getRecord(row); + var id_subgrupo = r.getData("id_subgrupo"); + var nome_subgrupo = r.getData("nome_subgrupo"); + var desc_subgrupo = r.getData("desc_subgrupo"); + core_carregando("ativa"); + core_carregando(" gravando registro do id= "+id_subgrupo); + var sUrl = "../php/menutemas.php?funcao=alteraSubGrupos&nome="+nome_subgrupo+"&desc="+desc_subgrupo+"&id="+id_subgrupo; + var callback = + { + success:function(o) + { + core_carregando("desativa"); + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) +} +function excluiLinha(id,row) +{ + //dialogo + // Define various event handlers for Dialog + var handleYes = function() { + this.hide(); + core_carregando("ativa"); + core_carregando(" excluindo o registro do id= "+id); + var sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=subgrupos"; + var callback = + { + success:function(o) + { + try + { + if(YAHOO.lang.JSON.parse(o.responseText) == "erro") + { + core_carregando("Não foi possível excluir. Verifique se não existem temas vinculados a este sub-grupo"); + setTimeout("core_carregando('desativa')",3000) + } + else + { + myDataTable.deleteRow(row); + core_carregando("desativa"); + } + } + catch(e){core_handleFailure(o,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) + }; + var handleNo = function() + { + this.hide(); + }; + var mensagem = "Exclui o registro?"; + var largura = "300" + core_dialogoContinua(handleYes,handleNo,mensagem,largura) +} +YAHOO.util.Event.addListener(window, "load", initMenu); \ No newline at end of file diff --git a/admin/php/admin.php b/admin/php/admin.php index 6e2ae55..cf389e9 100644 --- a/admin/php/admin.php +++ b/admin/php/admin.php @@ -156,4 +156,60 @@ function pegaDados($sql) return "Error!: " . $e->getMessage(); } } +/* +Function: verificaFilhos + +Verifica se o pai tem filhos +*/ +function verificaFilhos() +{ + global $tabela,$id; + try + { + $res = false; + if($tabela == "i3geoadmin_n2") + { + $r = pegaDados("select * from i3geoadmin_n3 where id_n2=$id"); + if(count($r) > 0) + $res = true; + } + if($tabela == "i3geoadmin_n1") + { + $r = pegaDados("select * from i3geoadmin_n2 where id_n1=$id"); + if(count($r) > 0) + $res = true; + } + if($tabela == "i3geoadmin_menus") + { + $r = pegaDados("select * from i3geoadmin_n1 where id_menu=$id"); + if(count($r) > 0) + $res = true; + } + if($tabela == "i3geoadmin_grupos") + { + $r = pegaDados("select n1.id_grupo from i3geoadmin_n1 as n1, i3geoadmin_n2 as n2 where n1.id_n1 = n2.id_n1 and n1.id_grupo = '$id'"); + if(count($r) > 0) + $res = true; + } + if($tabela == "i3geoadmin_subgrupos") + { + $r = pegaDados("select n2.id_subgrupo from i3geoadmin_n3 as n3, i3geoadmin_n2 as n2 where n2.id_n2 = n3.id_n3 and n2.id_subgrupo = '$id'"); + if(count($r) > 0) + $res = true; + } + if($tabela == "i3geoadmin_temas") + { + $r = pegaDados("select id_tema from i3geoadmin_n3 where id_tema = '$id'"); + if(count($r) > 0) + $res = true; + } + + return $res; + } + catch (PDOException $e) + { + return "Error!: " . $e->getMessage(); + } +} + ?> \ No newline at end of file diff --git a/admin/php/arvore.php b/admin/php/arvore.php index 709669c..44346f6 100644 --- a/admin/php/arvore.php +++ b/admin/php/arvore.php @@ -88,36 +88,6 @@ switch ($funcao) break; } /* -Function: verificaFilhos - -Verifica se o pai tem filhos -*/ -function verificaFilhos() -{ - global $tabela,$coluna,$id; - try - { - $res = false; - if($tabela == "i3geoadmin_n2") - { - $r = pegaDados("select * from i3geoadmin_n3 where id_n2=$id"); - if(count($r) > 0) - $res = true; - } - if($tabela == "i3geoadmin_n1") - { - $r = pegaDados("select * from i3geoadmin_n2 where id_n1=$id"); - if(count($r) > 0) - $res = true; - } - return $res; - } - catch (PDOException $e) - { - return "Error!: " . $e->getMessage(); - } -} -/* Function: alteraN3 Altera o registro de um nível 3 (temas) diff --git a/admin/php/menutemas.php b/admin/php/menutemas.php index 896977b..b2ffd87 100644 --- a/admin/php/menutemas.php +++ b/admin/php/menutemas.php @@ -43,70 +43,75 @@ switch ($funcao) $cp->set_data(importarXmlMenu()); $cp->return_data(); break; - - case "pegaMenus": - $cp->set_data(pegaDados('SELECT * from i3geoadmin_menus order by nome_menu')); - $cp->return_data(); - break; - case "pegaMenusYUI": + case "pegaMenus": $dados = pegaDados('SELECT * from i3geoadmin_menus order by nome_menu'); retornaJSON($dados); break; case "pegaTags": - $cp->set_data(pegaDados('SELECT * from i3geoadmin_tags order by nome')); - $cp->return_data(); + $sql = "SELECT * from i3geoadmin_tags order by nome"; + retornaJSON(pegaDados($sql)); + exit; break; case "pegaPerfis": - $cp->set_data(pegaDados('SELECT * from i3geoadmin_perfis order by perfil')); - $cp->return_data(); - break; - - case "pegaPerfisYUI": $dados = pegaDados('SELECT * from i3geoadmin_perfis order by perfil'); retornaJSON($dados); break; case "alteraMenus": - alteraMenus(); + $novo = alteraMenus(); + $sql = "SELECT * from i3geoadmin_menus WHERE id_menu = '".$novo."'"; + retornaJSON(pegaDados($sql)); exit; break; case "pegaGrupos": - $cp->set_data(pegaDados('SELECT * from i3geoadmin_grupos order by nome_grupo')); - $cp->return_data(); + $dados = pegaDados('SELECT * from i3geoadmin_grupos order by nome_grupo'); + retornaJSON($dados); + exit; break; - + case "alteraGrupos": - $cp->set_data(alteraGrupos()); - $cp->return_data(); + $novo = alteraGrupos(); + $sql = "SELECT * from i3geoadmin_grupos WHERE id_grupo = '".$novo."'"; + retornaJSON(pegaDados($sql)); + exit; break; - + case "pegaSubGrupos": - $cp->set_data(pegaDados('SELECT * from i3geoadmin_subgrupos order by nome_subgrupo')); - $cp->return_data(); + $dados = pegaDados('SELECT * from i3geoadmin_subgrupos order by nome_subgrupo'); + retornaJSON($dados); + exit; break; case "alteraSubGrupos": - $cp->set_data(alteraSubGrupos()); - $cp->return_data(); + $novo = alteraSubGrupos(); + $sql = "SELECT * from i3geoadmin_subgrupos WHERE id_subgrupo = '".$novo."'"; + retornaJSON(pegaDados($sql)); + exit; break; case "pegaTemas": - $cp->set_data(pegaTemas()); - $cp->return_data(); + $sql = "SELECT * from i3geoadmin_temas where id_tema = '$id_tema'"; + retornaJSON(pegaDados($sql)); + exit; break; case "pegaTemas2": - $cp->set_data(pegaTemas2()); - $cp->return_data(); - break; + retornaJSON(pegaTemas2()); + exit; + break; case "alteraTemas": - $cp->set_data(alteraTemas()); - $cp->return_data(); + //$r será igual ao novo id criado, no caso de inserção de um novo tema + $r = alteraTemas(); + if($id == "") + retornaJSON($r); + else + retornaJSON(pegaDados("select * from i3geoadmin_temas where id_tema = '$id'")); + exit; break; case "alteraTags": @@ -118,32 +123,63 @@ switch ($funcao) $cp->set_data(alteraPerfis()); $cp->return_data(); break; - - case "pegaSubXGrupos": - $cp->set_data(pegaSubXGrupos()); - $cp->return_data(); - break; case "excluirRegistro": if($tabela == "grupos") - {$tabela = "i3geoadmin_grupos";$coluna = "id_grupo";} + { + $tabela = "i3geoadmin_grupos"; + $coluna = "id_grupo"; + $filhos = verificaFilhos(); + if($filhos) + { + retornaJSON("erro"); + exit; + } + } if($tabela == "tags") {excluiTagTemas($id);$tabela = "i3geoadmin_tags";$coluna = "id_tag";} if($tabela == "perfis") {excluiPerfil($perfil);$tabela = "i3geoadmin_perfis";$coluna = "perfil";} if($tabela == "subgrupos") - {$tabela = "i3geoadmin_subgrupos";$coluna = "id_subgrupo";} + { + $tabela = "i3geoadmin_subgrupos"; + $coluna = "id_subgrupo"; + $filhos = verificaFilhos(); + if($filhos) + { + retornaJSON("erro"); + exit; + } + } if($tabela == "temas") - {$tabela = "i3geoadmin_temas";$coluna = "id_tema";} + { + $tabela = "i3geoadmin_temas"; + $coluna = "id_tema"; + $filhos = verificaFilhos(); + if($filhos) + { + retornaJSON("erro"); + exit; + } + } if($tabela == "menus") - {$tabela = "i3geoadmin_menus";$coluna = "id_menu";} - $cp->set_data(exclui()); - $cp->return_data(); + { + $tabela = "i3geoadmin_menus"; + $coluna = "id_menu"; + $filhos = verificaFilhos(); + if($filhos) + { + retornaJSON("erro"); + exit; + } + } + retornaJSON(exclui()); + exit; break; case "listaMapsTemas": - $cp->set_data(listaMapsTemas()); - $cp->return_data(); + retornaJSON(listaMapsTemas()); + exit; break; } function retornaJSON($obj) @@ -282,7 +318,7 @@ function pegaTemas2() { $resultado = array(); require_once("conexao.php"); - foreach($dbh->query('SELECT codigo_tema,nome_tema from i3geoadmin_temas order by nome_tema') as $row) + foreach($dbh->query('SELECT codigo_tema,nome_tema,id_tema from i3geoadmin_temas order by nome_tema') as $row) { $continua = true; if(isset($filtro) && $filtro != "") @@ -298,7 +334,8 @@ function pegaTemas2() if ($continua) $resultado[] = array( "nome_tema"=>$row['nome_tema'], - "codigo_tema"=>$row['codigo_tema'] + "codigo_tema"=>$row['codigo_tema'], + "id_tema"=>$row['id_tema'] ); } $dbh = null; @@ -310,26 +347,6 @@ function pegaTemas2() return "Error!: " . $e->getMessage(); } } - -/* -Function: pegaSubXGrupos - -Pega a lista de sub-grupos por grupos -*/ -function pegaSubXGrupos() -{ -/* -select i3geoadmin_subxgrupos.id_subxgrupo,i3geoadmin_grupos.nome_grupo,i3geoadmin_subgrupos.nome_subgrupo -from -i3geoadmin_grupos,i3geoadmin_subgrupos,i3geoadmin_subxgrupos -where -i3geoadmin_grupos.id_grupo = i3geoadmin_subxgrupos.id_grupo -and -i3geoadmin_subgrupos.id_subgrupo = i3geoadmin_subxgrupos.id_subgrupo -order by nome_grupo,nome_subgrupo -*/ - -} /* Function: alteraMenus @@ -340,18 +357,26 @@ function alteraMenus() global $nome,$desc,$id,$aberto,$perfil,$publicado_menu; try { - $nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); - $desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); + //$nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); + //$desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); + $retorna = ""; include("conexao.php"); if($id != "") { $dbhw->query("UPDATE i3geoadmin_menus SET publicado_menu = '$publicado_menu',aberto = '$aberto', nome_menu = '$nome', desc_menu = '$desc', perfil_menu = '$perfil' WHERE id_menu = $id"); + $retorna = "ok"; } else - $dbhw->query("INSERT INTO i3geoadmin_menus (publicado_menu, nome_menu, desc_menu, aberto, perfil_menu) VALUES ('','', '','SIM','')"); + { + $dbhw->query("INSERT INTO i3geoadmin_menus (publicado_menu, nome_menu, desc_menu, aberto, perfil_menu) VALUES ('','', '','SIM','')"); + $id_menu = $dbhw->query("SELECT * FROM i3geoadmin_menus"); + $id_menu = $id_menu->fetchAll(); + $id_menu = intval($id_menu[count($id_menu)-1]['id_menu']); + $retorna = $id_menu; + } $dbhw = null; $dbh = null; - return "ok"; + return $retorna; } catch (PDOException $e) { @@ -448,7 +473,7 @@ function alteraTags() try { $dbh = ""; - $nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); + //$nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); include("conexao.php"); if($id != "") { @@ -489,18 +514,26 @@ function alteraGrupos() global $nome,$desc,$id; try { - $nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); - $desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); + //$nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); + //$desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); include("conexao.php"); + $retorna = ""; if($id != "") { $dbhw->query("UPDATE i3geoadmin_grupos SET nome_grupo = '$nome', desc_grupo = '$desc' WHERE id_grupo = $id"); + $retorna = "ok"; } else - $dbhw->query("INSERT INTO i3geoadmin_grupos (nome_grupo, desc_grupo) VALUES ('', '')"); + { + $dbhw->query("INSERT INTO i3geoadmin_grupos (nome_grupo, desc_grupo) VALUES ('', '')"); + $id_grupo = $dbh->query("SELECT * FROM i3geoadmin_grupos"); + $id_grupo = $id_grupo->fetchAll(); + $id_grupo = intval($id_grupo[count($id_grupo)-1]['id_grupo']); + $retorna = $id_grupo; + } $dbhw = null; $dbh = null; - return "ok"; + return $retorna; } catch (PDOException $e) { @@ -517,18 +550,26 @@ function alteraSubGrupos() global $nome,$desc,$id; try { - $nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); - $desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); + //$nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); + //$desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); require_once("conexao.php"); + $retorna = ""; if($id != "") { $dbhw->query("UPDATE i3geoadmin_subgrupos SET nome_subgrupo = '$nome', desc_subgrupo = '$desc' WHERE id_subgrupo = $id"); + $retorna = "ok"; } else - $dbhw->query("INSERT INTO i3geoadmin_subgrupos (nome_subgrupo, desc_subgrupo) VALUES ('', '')"); + { + $dbhw->query("INSERT INTO i3geoadmin_subgrupos (nome_subgrupo, desc_subgrupo) VALUES ('', '')"); + $id = $dbh->query("SELECT * FROM i3geoadmin_subgrupos"); + $id = $id->fetchAll(); + $id = intval($id[count($id)-1]['id_subgrupo']); + $retorna = $id; + } $dbhw = null; $dbh = null; - return "ok"; + return $retorna; } catch (PDOException $e) { @@ -545,16 +586,23 @@ function alteraTemas() global $nome,$desc,$id,$codigo,$tipoa,$download,$ogc,$kml,$link,$tags; try { - $nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); - $desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); - $tags = mb_convert_encoding($tags,"UTF-8","ISO-8859-1"); + $retorna = "ok"; + //$nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); + //$desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); + //$tags = mb_convert_encoding($tags,"UTF-8","ISO-8859-1"); require_once("conexao.php"); if($id != "") { $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='$tags', link_tema='$link', nome_tema ='$nome',desc_tema='$desc',codigo_tema='$codigo',tipoa_tema='$tipoa',download_tema='$download',ogc_tema='$ogc',kml_tema='$kml' WHERE id_tema = $id"); } else - $dbhw->query("INSERT INTO i3geoadmin_temas (link_tema,kml_tema,ogc_tema,download_tema,nome_tema,desc_tema,codigo_tema,tipoa_tema,tags_tema) VALUES ('','', '','','','','','','')"); + { + $dbhw->query("INSERT INTO i3geoadmin_temas (link_tema,kml_tema,ogc_tema,download_tema,nome_tema,desc_tema,codigo_tema,tipoa_tema,tags_tema) VALUES ('','', '','','','','','','')"); + $id = $dbh->query("SELECT * FROM i3geoadmin_temas"); + $id = $id->fetchAll(); + $id = intval($id[count($id)-1]['id_tema']); + $retorna = $id; + } //verifica se é necessário adicionar algum tag novo $tags = explode(" ",$tags); foreach($tags as $tag) @@ -566,7 +614,7 @@ function alteraTemas() } $dbhw = null; $dbh = null; - return "ok"; + return $retorna; } catch (PDOException $e) { diff --git a/admin/php/parsemapfile.php b/admin/php/parsemapfile.php index 5f568d7..532cd29 100644 --- a/admin/php/parsemapfile.php +++ b/admin/php/parsemapfile.php @@ -1,7 +1,9 @@ getalllayernames(); -$xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; -$xml .= "\n