Commit 664b1eb5b4f7c1887b73ab635c392ca61368919c

Authored by Edmar Moretti
1 parent ff223ab6

Adaptação do editor de menus para bootstrap

admin/admin.db
No preview for this file type
admin/php/classe_arvore.php
... ... @@ -92,7 +92,7 @@ class Arvore
92 92 else{
93 93 $coluna = $idioma;
94 94 }
95   - $this->sql_grupos = "select CASE i3geoadmin_grupos.$coluna WHEN '' THEN nome_grupo ELSE i3geoadmin_grupos.$coluna END as nome_grupo,id_n1,id_menu,i3geoadmin_n1.publicado,n1_perfil,ordem from ".$this->esquemaadmin."i3geoadmin_n1 LEFT JOIN ".$this->esquemaadmin."i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo ";
  95 + $this->sql_grupos = "select CASE i3geoadmin_grupos.$coluna WHEN '' THEN nome_grupo ELSE i3geoadmin_grupos.$coluna END as nome_grupo,i3geoadmin_grupos.id_grupo, id_n1,id_menu,i3geoadmin_n1.publicado,n1_perfil,ordem from ".$this->esquemaadmin."i3geoadmin_n1 LEFT JOIN ".$this->esquemaadmin."i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo ";
96 96 if($filtro === "ogc" || $filtro === "download"){
97 97 //esse sql retorna tambem os grupos dos temas que estao na raiz do grupo
98 98 $this->sql_grupos = "select DISTINCT * from (select CASE grupos.$coluna WHEN '' THEN nome_grupo ELSE grupos.$coluna END as nome_grupo,gr.id_n1,gr.id_menu,gr.publicado,gr.n1_perfil, 0 as ordem from ".$this->esquemaadmin."i3geoadmin_grupos as grupos, ".$this->esquemaadmin."i3geoadmin_n1 as gr, ".$this->esquemaadmin."i3geoadmin_n2 as sg, ".$this->esquemaadmin."i3geoadmin_n3 as t, ".$this->esquemaadmin."i3geoadmin_temas as temas where gr.id_grupo = grupos.id_grupo AND sg.id_n1 = gr.id_n1 AND t.id_n2 = sg.id_n2 AND t.id_tema = temas.id_tema AND (temas.ogc_tema NOT IN ('NAO','nao') OR temas.download_tema NOT IN ('NAO','nao') ) UNION select c.nome_grupo as nome_grupo,a.id_nivel as id_n1,a.id_menu,'SIM' as publicado,a.perfil as n1_perfil, 0 as ordem from ".$this->esquemaadmin."i3geoadmin_raiz as a, ".$this->esquemaadmin."i3geoadmin_temas as b, ".$this->esquemaadmin."i3geoadmin_grupos as c, ".$this->esquemaadmin."i3geoadmin_n1 as d where nivel = 1 AND a.id_tema = b.id_tema AND a.id_nivel = d.id_n1 AND d.id_grupo = c.id_grupo) as s ";
... ... @@ -104,7 +104,7 @@ class Arvore
104 104 else{
105 105 $coluna = $idioma;
106 106 }
107   - $this->sql_subgrupos = "select CASE i3geoadmin_subgrupos.$coluna WHEN '' THEN nome_subgrupo ELSE i3geoadmin_subgrupos.$coluna END as nome_subgrupo,i3geoadmin_n2.id_n2,i3geoadmin_n2.publicado,i3geoadmin_n2.n2_perfil from ".$this->esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$this->esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo ";
  107 + $this->sql_subgrupos = "select CASE i3geoadmin_subgrupos.$coluna WHEN '' THEN nome_subgrupo ELSE i3geoadmin_subgrupos.$coluna END as nome_subgrupo,i3geoadmin_subgrupos.id_subgrupo,i3geoadmin_n2.id_n2,i3geoadmin_n2.publicado,i3geoadmin_n2.n2_perfil from ".$this->esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$this->esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo ";
108 108  
109 109 if($idioma == "pt"){
110 110 $coluna = "nome_tema";
... ... @@ -201,6 +201,54 @@ class Arvore
201 201 return $resultado;
202 202 }
203 203 /*
  204 + Function: pegaListaDeTiposGrupos
  205 +
  206 + Retorna a lista de grupos de um menu
  207 +
  208 + Parametros:
  209 +
  210 + id_menu {string}
  211 +
  212 + Return:
  213 +
  214 + {array}
  215 + */
  216 + function pegaListaDeTiposGrupos(){
  217 + if($this->idioma == "pt"){
  218 + $coluna = "nome_grupo";
  219 + }
  220 + else{
  221 + $coluna = $this->idioma;
  222 + }
  223 + $sql = "select CASE i3geoadmin_grupos.$coluna WHEN '' THEN nome_grupo ELSE i3geoadmin_grupos.$coluna END as nome_grupo, id_grupo from ".$this->esquemaadmin."i3geoadmin_grupos ORDER by nome_grupo ";
  224 + $grupos = $this->execSQL($sql);
  225 + return $grupos;
  226 + }
  227 + /*
  228 + Function: pegaListaDeTiposSubGrupos
  229 +
  230 + Retorna a lista de grupos de um menu
  231 +
  232 + Parametros:
  233 +
  234 + id_menu {string}
  235 +
  236 + Return:
  237 +
  238 + {array}
  239 + */
  240 + function pegaListaDeTiposSubGrupos(){
  241 + if($this->idioma == "pt"){
  242 + $coluna = "nome_subgrupo";
  243 + }
  244 + else{
  245 + $coluna = $this->idioma;
  246 + }
  247 + $sql = "select CASE i3geoadmin_subgrupos.$coluna WHEN '' THEN nome_subgrupo ELSE i3geoadmin_subgrupos.$coluna END as nome_subgrupo, id_subgrupo from ".$this->esquemaadmin."i3geoadmin_subgrupos ORDER by nome_subgrupo ";
  248 + $subgrupos = $this->execSQL($sql);
  249 + return $subgrupos;
  250 + }
  251 + /*
204 252 Function: procuraTemas
205 253  
206 254 Localiza temas conforme uma palavra de busca
... ...
admin1/cadastros/identifica/index.php
... ... @@ -141,18 +141,11 @@ include "../../head.php";
141 141 //traducao
142 142 var t = $("#titulo");
143 143 //complementa dicionario
144   - i3GEOadmin.identifica.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
145   - i3GEOadmin.identifica.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
146   - i3GEOadmin.identifica.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
147   - i3GEOadmin.identifica.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
148   - i3GEOadmin.identifica.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
149   - i3GEOadmin.identifica.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
150   - i3GEOadmin.identifica.dicionario.nome = i3GEOadmin.core.dicionario.nome;
151   - i3GEOadmin.identifica.dicionario.tipo = i3GEOadmin.core.dicionario.tipo;
152   - i3GEOadmin.identifica.dicionario.descricao = i3GEOadmin.core.dicionario.descricao;
153   - i3GEOadmin.identifica.dicionario.sim = i3GEOadmin.core.dicionario.sim;
154   - i3GEOadmin.identifica.dicionario.nao = i3GEOadmin.core.dicionario.nao;
155   - i3GEOadmin.identifica.dicionario.publicado = i3GEOadmin.core.dicionario.publicado;
  144 + i3GEOadmin.identifica.dicionario = $.extend(
  145 + {},
  146 + i3GEOadmin.identifica.dicionario,
  147 + i3GEOadmin.core.dicionario
  148 + );
156 149  
157 150 i3GEOadmin.core.dicionario = null;
158 151  
... ...
admin1/cadastros/perfis/index.php
... ... @@ -101,15 +101,11 @@ include "../../head.php";
101 101 //traducao
102 102 var t = $("#titulo");
103 103 //complementa dicionario
104   - i3GEOadmin.perfis.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
105   - i3GEOadmin.perfis.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
106   - i3GEOadmin.perfis.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
107   - i3GEOadmin.perfis.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
108   - i3GEOadmin.perfis.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
109   - i3GEOadmin.perfis.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
110   - i3GEOadmin.perfis.dicionario.txtPerfil = i3GEOadmin.core.dicionario.txtPerfil;
111   - i3GEOadmin.perfis.dicionario.sim = i3GEOadmin.core.dicionario.sim;
112   - i3GEOadmin.perfis.dicionario.nao = i3GEOadmin.core.dicionario.nao;
  104 + i3GEOadmin.perfis.dicionario = $.extend(
  105 + {},
  106 + i3GEOadmin.perfis.dicionario,
  107 + i3GEOadmin.core.dicionario
  108 + );
113 109  
114 110 i3GEOadmin.core.dicionario = null;
115 111  
... ...
admin1/cadastros/servicos/index.php
... ... @@ -76,13 +76,13 @@ include "../../head.php";
76 76 <div class="col-md-12">
77 77 <h4>{{{nome_ws}}}</h4>
78 78 <div class="form-group form-group-lg">
79   - <label class="col-md-2 control-label" for="nome_ws" >{{{nome}}}</label>
  79 + <label class="col-md-2 control-label" for="nome_ws" >{{{nomeTxt}}}</label>
80 80 <div class="col-md-10">
81 81 <input type="text" value="{{{nome_ws}}}" class="form-control" name="nome_ws" required>
82 82 </div>
83 83 </div>
84 84 <div class="form-group form-group-lg">
85   - <label class="col-md-2 control-label" for="login">{{{descricao}}}</label>
  85 + <label class="col-md-2 control-label" for="login">{{{descricaoTxt}}}</label>
86 86 <div class="col-md-10">
87 87 <input type="text" value="{{{desc_ws}}}" class="form-control" name="desc_ws" >
88 88 </div>
... ... @@ -142,17 +142,11 @@ include &quot;../../head.php&quot;;
142 142 //traducao
143 143 var t = $("#titulo");
144 144 //complementa dicionario
145   - i3GEOadmin.webservices.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
146   - i3GEOadmin.webservices.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
147   - i3GEOadmin.webservices.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
148   - i3GEOadmin.webservices.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
149   - i3GEOadmin.webservices.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
150   - i3GEOadmin.webservices.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
151   - i3GEOadmin.webservices.dicionario.nome = i3GEOadmin.core.dicionario.nome;
152   - i3GEOadmin.webservices.dicionario.tipo = i3GEOadmin.core.dicionario.tipo;
153   - i3GEOadmin.webservices.dicionario.descricao = i3GEOadmin.core.dicionario.descricao;
154   - i3GEOadmin.webservices.dicionario.sim = i3GEOadmin.core.dicionario.sim;
155   - i3GEOadmin.webservices.dicionario.nao = i3GEOadmin.core.dicionario.nao;
  145 + i3GEOadmin.webservices.dicionario = $.extend(
  146 + {},
  147 + i3GEOadmin.webservices.dicionario,
  148 + i3GEOadmin.core.dicionario
  149 + );
156 150  
157 151 i3GEOadmin.core.dicionario = null;
158 152  
... ...
admin1/cadastros/tags/index.php
... ... @@ -101,15 +101,11 @@ include &quot;../../head.php&quot;;
101 101 //traducao
102 102 var t = $("#titulo");
103 103 //complementa dicionario
104   - i3GEOadmin.tags.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
105   - i3GEOadmin.tags.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
106   - i3GEOadmin.tags.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
107   - i3GEOadmin.tags.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
108   - i3GEOadmin.tags.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
109   - i3GEOadmin.tags.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
110   - i3GEOadmin.tags.dicionario.txtTag = i3GEOadmin.core.dicionario.txtTag;
111   - i3GEOadmin.tags.dicionario.sim = i3GEOadmin.core.dicionario.sim;
112   - i3GEOadmin.tags.dicionario.nao = i3GEOadmin.core.dicionario.nao;
  104 + i3GEOadmin.tags.dicionario = $.extend(
  105 + {},
  106 + i3GEOadmin.tags.dicionario,
  107 + i3GEOadmin.core.dicionario
  108 + );
113 109  
114 110 i3GEOadmin.core.dicionario = null;
115 111  
... ...
admin1/catalogo/atlas/index.php
... ... @@ -204,17 +204,11 @@ include &quot;../../head.php&quot;;
204 204 //traducao
205 205 var t = $("#titulo");
206 206 //complementa dicionario
207   - i3GEOadmin.atlas.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
208   - i3GEOadmin.atlas.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
209   - i3GEOadmin.atlas.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
210   - i3GEOadmin.atlas.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
211   - i3GEOadmin.atlas.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
212   - i3GEOadmin.atlas.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
213   - i3GEOadmin.atlas.dicionario.nome = i3GEOadmin.core.dicionario.nome;
214   - i3GEOadmin.atlas.dicionario.tipo = i3GEOadmin.core.dicionario.tipo;
215   - i3GEOadmin.atlas.dicionario.descricao = i3GEOadmin.core.dicionario.descricao;
216   - i3GEOadmin.atlas.dicionario.sim = i3GEOadmin.core.dicionario.sim;
217   - i3GEOadmin.atlas.dicionario.nao = i3GEOadmin.core.dicionario.nao;
  207 + i3GEOadmin.atlas.dicionario = $.extend(
  208 + {},
  209 + i3GEOadmin.atlas.dicionario,
  210 + i3GEOadmin.core.dicionario
  211 + );
218 212  
219 213 i3GEOadmin.core.dicionario = null;
220 214  
... ...
admin1/catalogo/atlas/pranchas/index.php
... ... @@ -162,17 +162,11 @@ $titulo_atlas = filter_var($_GET[&quot;titulo_atlas&quot;], FILTER_SANITIZE_STRING);
162 162 //traducao
163 163 var t = $("#titulo");
164 164 //complementa dicionario
165   - i3GEOadmin.prancha.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
166   - i3GEOadmin.prancha.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
167   - i3GEOadmin.prancha.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
168   - i3GEOadmin.prancha.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
169   - i3GEOadmin.prancha.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
170   - i3GEOadmin.prancha.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
171   - i3GEOadmin.prancha.dicionario.nome = i3GEOadmin.core.dicionario.nome;
172   - i3GEOadmin.prancha.dicionario.tipo = i3GEOadmin.core.dicionario.tipo;
173   - i3GEOadmin.prancha.dicionario.descricao = i3GEOadmin.core.dicionario.descricao;
174   - i3GEOadmin.prancha.dicionario.sim = i3GEOadmin.core.dicionario.sim;
175   - i3GEOadmin.prancha.dicionario.nao = i3GEOadmin.core.dicionario.nao;
  165 + i3GEOadmin.prancha.dicionario = $.extend(
  166 + {},
  167 + i3GEOadmin.prancha.dicionario,
  168 + i3GEOadmin.core.dicionario
  169 + );
176 170  
177 171 i3GEOadmin.core.dicionario = null;
178 172  
... ...
admin1/catalogo/atlas/pranchas/temas/index.php
... ... @@ -121,17 +121,11 @@ $id_atlas = filter_var($_GET[&quot;id_atlas&quot;], FILTER_SANITIZE_NUMBER_INT);
121 121 //traducao
122 122 var t = $("#titulo");
123 123 //complementa dicionario
124   - i3GEOadmin.prancha.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
125   - i3GEOadmin.prancha.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
126   - i3GEOadmin.prancha.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
127   - i3GEOadmin.prancha.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
128   - i3GEOadmin.prancha.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
129   - i3GEOadmin.prancha.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
130   - i3GEOadmin.prancha.dicionario.nome = i3GEOadmin.core.dicionario.nome;
131   - i3GEOadmin.prancha.dicionario.tipo = i3GEOadmin.core.dicionario.tipo;
132   - i3GEOadmin.prancha.dicionario.descricao = i3GEOadmin.core.dicionario.descricao;
133   - i3GEOadmin.prancha.dicionario.sim = i3GEOadmin.core.dicionario.sim;
134   - i3GEOadmin.prancha.dicionario.nao = i3GEOadmin.core.dicionario.nao;
  124 + i3GEOadmin.prancha.dicionario = $.extend(
  125 + {},
  126 + i3GEOadmin.prancha.dicionario,
  127 + i3GEOadmin.core.dicionario
  128 + );
135 129  
136 130 i3GEOadmin.core.dicionario = null;
137 131  
... ...
admin1/catalogo/mapas/index.php
... ... @@ -200,17 +200,11 @@ include &quot;../../head.php&quot;;
200 200 //traducao
201 201 var t = $("#titulo");
202 202 //complementa dicionario
203   - i3GEOadmin.mapas.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
204   - i3GEOadmin.mapas.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
205   - i3GEOadmin.mapas.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
206   - i3GEOadmin.mapas.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
207   - i3GEOadmin.mapas.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
208   - i3GEOadmin.mapas.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
209   - i3GEOadmin.mapas.dicionario.nome = i3GEOadmin.core.dicionario.nome;
210   - i3GEOadmin.mapas.dicionario.tipo = i3GEOadmin.core.dicionario.tipo;
211   - i3GEOadmin.mapas.dicionario.descricao = i3GEOadmin.core.dicionario.descricao;
212   - i3GEOadmin.mapas.dicionario.sim = i3GEOadmin.core.dicionario.sim;
213   - i3GEOadmin.mapas.dicionario.nao = i3GEOadmin.core.dicionario.nao;
  203 + i3GEOadmin.mapas.dicionario = $.extend(
  204 + {},
  205 + i3GEOadmin.mapas.dicionario,
  206 + i3GEOadmin.core.dicionario
  207 + );
214 208  
215 209 i3GEOadmin.core.dicionario = null;
216 210  
... ...
admin1/catalogo/menus/grupos/exec.php
1 1 <?php
  2 +//
  3 +//Executa as operacoes para um grupo de um menu
  4 +//
2 5 /*
3 6 * Licenca:
4 7 *
... ... @@ -44,7 +47,7 @@ include (dirname ( __FILE__ ) . &quot;/../../../../admin/php/conexao.php&quot;);
44 47 $funcao = strtoupper ( $funcao );
45 48 switch ($funcao) {
46 49 case "ADICIONAR" :
47   - $novo = adicionar( $id_atlas, $titulo_prancha, $ordem_prancha, $desc_prancha, $h_prancha, $icone_prancha, $link_prancha, $mapext_prancha, $w_prancha, $dbhw );
  50 + $novo = adicionar( $id_grupo, $id_menu, $publicado, $n1_perfil, $ordem, $dbhw );
48 51 if ($novo === false) {
49 52 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
50 53 exit ();
... ... @@ -52,12 +55,12 @@ switch ($funcao) {
52 55 exit ();
53 56 break;
54 57 case "ALTERAR" :
55   - $novo = alterar ( $id_atlas, $id_prancha, $titulo_prancha, $ordem_prancha, $desc_prancha, $h_prancha, $icone_prancha, $link_prancha, $mapext_prancha, $w_prancha, $dbhw );
  58 + $novo = alterar ( $id_n1, $id_grupo, $id_menu, $publicado, $n1_perfil, $ordem, $dbhw );
56 59 if ($novo === false) {
57 60 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
58 61 exit ();
59 62 }
60   - $dados = pegaDados ( "SELECT id_prancha from ".$esquemaadmin."i3geoadmin_atlasp WHERE id_prancha = $id_prancha", $dbh, false );
  63 + $dados = pegaDados ( "SELECT id_n1 from ".$esquemaadmin."i3geoadmin_n1 WHERE id_n1 = $id_n1", $dbh, false );
61 64  
62 65 if ($dados === false) {
63 66 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
... ... @@ -76,78 +79,71 @@ switch ($funcao) {
76 79 $arvore = new Arvore($locaplic);
77 80 $grupos = $arvore->pegaGruposMenu($id_menu);
78 81 $temas = $arvore->pegaTodosTemas(true);
  82 + $tiposGrupos = $arvore->pegaListaDeTiposGrupos();
79 83 unset($arvore);
80 84 $grupos["perfis"] = $perfis;
81 85 $grupos["temas"] = $temas;
  86 + $grupos["tiposGrupos"] = $tiposGrupos;
82 87 retornaJSON($grupos);
83 88 break;
84 89 case "EXCLUIR" :
85   - $temas = pegaDados("SELECT id_tema from ".$esquemaadmin."i3geoadmin_atlast where id_prancha = '$id_prancha'");
86   - if(count($temas) > 0){
87   - header ( "HTTP/1.1 500 erro ao excluir. Exclua os temas da prancha primeiro" );
  90 + $r = pegaDados("SELECT id_n2 from ".$esquemaadmin."i3geoadmin_n2 where id_n1 ='$id'");
  91 + if(count($r) > 0){
  92 + header ( "HTTP/1.1 500 erro ao excluir. Exclua os subgrupos primeiro" );
  93 + exit ();
  94 + }
  95 + $r = pegaDados("SELECT id_raiz from ".$esquemaadmin."i3geoadmin_raiz where nivel='1' and id_nivel ='$id'");
  96 + if(count($r) > 0){
  97 + header ( "HTTP/1.1 500 erro ao excluir. Exclua os temas na raiz do grupo primeiro" );
88 98 exit ();
89 99 }
90   - $retorna = excluir ( $id_prancha, $dbhw );
  100 + $retorna = excluir ( $id_n1, $dbhw );
91 101 $dbhw = null;
92 102 $dbh = null;
93 103 if ($retorna === false) {
94 104 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
95 105 exit ();
96 106 }
97   - retornaJSON ( $id_prancha );
  107 + retornaJSON ( $id_n1 );
98 108 exit ();
99 109 break;
100 110 }
101 111 cpjson ( $retorno );
102 112  
103   -function adicionar( $id_atlas, $titulo_prancha, $ordem_prancha, $desc_prancha, $h_prancha, $icone_prancha, $link_prancha, $mapext_prancha, $w_prancha, $dbhw) {
  113 +function adicionar( $id_grupo, $id_menu, $publicado, $n1_perfil, $ordem, $dbhw) {
104 114 global $esquemaadmin;
105 115 try {
106 116 $dataCol = array(
107   - "ordem_prancha"=>0,
108   - "mapext_prancha"=>'',
109   - "desc_prancha"=>'',
110   - "h_prancha"=>$h_prancha == "" ? 0 : $h_prancha,
111   - "w_prancha"=>$w_prancha == "" ? 0 : $w_prancha,
112   - "icone_prancha"=>'',
113   - "link_prancha"=>'',
114   - "titulo_prancha"=>'',
115   - "id_atlas"=>$id_atlas
  117 + "id_menu" => $id_menu,
  118 + "publicado" => 'NAO',
  119 + "ordem" => 0,
  120 + "n1_perfil" => ''
116 121 );
117   - $id_prancha = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_atlasp",$dataCol,"titulo_prancha","id_prancha");
118   - $retorna = alterar ( $id_atlas, $id_prancha, $titulo_prancha, $ordem_prancha, $desc_prancha, $h_prancha, $icone_prancha, $link_prancha, $mapext_prancha, $w_prancha, $dbhw );
119   -
  122 + $id_n1 = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_n1",$dataCol,"n1_perfil","id_n1");
  123 + $retorna = alterar ( $id_n1, $id_grupo, $id_menu, $publicado, $n1_perfil, $ordem, $dbhw );
120 124 return $retorna;
121 125 } catch ( PDOException $e ) {
122 126 return false;
123 127 }
124 128 }
125 129 // $papeis deve ser um array
126   -function alterar($id_atlas, $id_prancha, $titulo_prancha, $ordem_prancha, $desc_prancha, $h_prancha, $icone_prancha, $link_prancha, $mapext_prancha, $w_prancha, $dbhw) {
  130 +function alterar($id_n1, $id_grupo, $id_menu, $publicado, $n1_perfil, $ordem, $dbhw) {
127 131 global $esquemaadmin;
128   - if($convUTF){
129   - $desc_prancha = utf8_encode($desc_prancha);
130   - $titulo_prancha = utf8_encode($titulo_prancha);
131   - }
132 132 $dataCol = array(
133   - "ordem_prancha"=>$ordem_prancha,
134   - "mapext_prancha"=>$mapext_prancha,
135   - "desc_prancha"=>$desc_prancha,
136   - "h_prancha"=>$h_prancha == "" ? 0 : $h_prancha,
137   - "w_prancha"=>$w_prancha == "" ? 0 : $w_prancha,
138   - "icone_prancha"=>$icone_prancha,
139   - "link_prancha"=>$link_prancha,
140   - "titulo_prancha"=>$titulo_prancha
  133 + "publicado" => $publicado,
  134 + "id_grupo" => $id_grupo,
  135 + "ordem" => $ordem,
  136 + "n1_perfil" => $n1_perfil
141 137 );
142   - $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_atlasp", $dataCol, "WHERE id_prancha = $id_prancha AND id_atlas = $id_atlas" );
  138 + $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_n1",$dataCol,"WHERE id_n1 = $id_n1");
143 139 if ($resultado === false) {
144 140 return false;
145 141 }
146   - return $id_atlas;
  142 + return $id_n1;
147 143 }
148   -function excluir($id_prancha, $dbhw) {
  144 +function excluir($id_n1, $dbhw) {
149 145 global $esquemaadmin;
150   - $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_atlasp", "id_prancha", $id_prancha, $dbhw, false );
  146 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_n1", "id_n1", $id_n1, $dbhw, false );
151 147 if ($resultado === false) {
152 148 return false;
153 149 }
... ...
admin1/catalogo/menus/grupos/execraiz.php 0 → 100755
... ... @@ -0,0 +1,134 @@
  1 +<?php
  2 +//
  3 +//executa as operacoes para os temas na reiz de um menu
  4 +//
  5 +/*
  6 + * Licenca:
  7 + *
  8 + * GPL2
  9 + *
  10 + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  11 + *
  12 + * Direitos Autorais Reservados (c) 2006 Edmar Moretti
  13 + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  14 + *
  15 + * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  16 + * e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  17 + * GNU conforme publicada pela Free Software Foundation;
  18 + *
  19 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  20 + * por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  21 + * de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  22 + * Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  23 + * Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  24 + * GNU junto com este programa; se n&atilde;o, escreva para a
  25 + * Free Software Foundation, Inc., no endere&ccedil;o
  26 + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  27 + */
  28 +error_reporting ( 0 );
  29 +//
  30 +// pega as variaveis passadas com get ou post
  31 +//
  32 +
  33 +include_once (dirname ( __FILE__ ) . "/../../../../admin/php/login.php");
  34 +$funcoesEdicao = array (
  35 + "ADICIONAR",
  36 + "ALTERAR",
  37 + "EXCLUIR"
  38 +);
  39 +if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
  40 + if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
  41 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
  42 + exit ();
  43 + }
  44 +}
  45 +include (dirname ( __FILE__ ) . "/../../../../admin/php/conexao.php");
  46 +
  47 +$funcao = strtoupper ( $funcao );
  48 +switch ($funcao) {
  49 + case "ADICIONAR" :
  50 + if (empty ( $id_tema ) || empty ( $id_menu )) {
  51 + header ( "HTTP/1.1 500 erro nos parametros" );
  52 + exit ();
  53 + }
  54 + $novo = adicionar ( $id_menu, $id_tema, $ordem, $perfil, $dbhw );
  55 + if ($novo === false) {
  56 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  57 + exit ();
  58 + }
  59 + exit ();
  60 + break;
  61 + case "ALTERAR" :
  62 + $novo = alterar ( $id_raiz, $id_tema, $ordem, $perfil, $dbhw );
  63 + if ($novo === false) {
  64 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  65 + exit ();
  66 + }
  67 + $dados = pegaDados ( "SELECT id_raiz from " . $esquemaadmin . "i3geoadmin_raiz WHERE id_raiz = $id_raiz", $dbh, false );
  68 +
  69 + if ($dados === false) {
  70 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  71 + exit ();
  72 + }
  73 + $dbhw = null;
  74 + $dbh = null;
  75 + retornaJSON ( $dados );
  76 + exit ();
  77 + break;
  78 + case "EXCLUIR" :
  79 + $retorna = excluir ( $id_raiz, $dbhw );
  80 + $dbhw = null;
  81 + $dbh = null;
  82 + if ($retorna === false) {
  83 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  84 + exit ();
  85 + }
  86 + retornaJSON ( $id_raiz );
  87 + exit ();
  88 + break;
  89 +}
  90 +cpjson ( $retorno );
  91 +function adicionar($id_menu, $id_tema, $ordem, $perfil, $dbhw) {
  92 + global $esquemaadmin;
  93 + try {
  94 + $dataCol = array (
  95 + "id_menu" => $id_menu,
  96 + "id_nivel" => 0,
  97 + "nivel" => 0,
  98 + "ordem" => 0,
  99 + "perfil" => ''
  100 + );
  101 + $id_raiz = i3GeoAdminInsertUnico ( $dbhw, "i3geoadmin_raiz", $dataCol, "perfil", "id_raiz" );
  102 +
  103 + $retorna = alterar ( $id_raiz, $id_tema, $ordem, $perfil, $dbhw );
  104 +
  105 + return $retorna;
  106 + } catch ( PDOException $e ) {
  107 + return false;
  108 + }
  109 +}
  110 +// $papeis deve ser um array
  111 +function alterar($id_raiz, $id_tema, $ordem, $perfil, $dbhw) {
  112 + global $esquemaadmin;
  113 +
  114 + $dataCol = array(
  115 + "id_tema" => $id_tema,
  116 + "perfil" => $perfil,
  117 + "ordem" => $ordem
  118 + );
  119 + $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_raiz",$dataCol,"WHERE id_raiz = $id_raiz");
  120 + $retorna = $id;
  121 + if ($resultado === false) {
  122 + return false;
  123 + }
  124 + return $id_raiz;
  125 +}
  126 +function excluir($id_raiz, $dbhw) {
  127 + global $esquemaadmin;
  128 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_raiz", "id_raiz", $id_raiz, $dbhw, false );
  129 + if ($resultado === false) {
  130 + return false;
  131 + }
  132 + return $resultado;
  133 +}
  134 +?>
... ...
admin1/catalogo/menus/grupos/index.js
... ... @@ -24,10 +24,12 @@ Free Software Foundation, Inc., no endere&amp;ccedil;o
24 24 */
25 25 i3GEOadmin.grupos = {
26 26 id_menu: "",
  27 + nome_menu: "",
27 28 ondeRaiz: "",
28 29 ondeNos: "",
29 30 //conteudo html do formulario de adicao na raiz
30 31 formAdicionaRaiz: "",
  32 + formAdicionaNo: "",
31 33 init: function(ondenos,onderaiz){
32 34 i3GEOadmin.grupos.ondeRaiz = onderaiz;
33 35 i3GEOadmin.grupos.ondeNos = ondenos;
... ... @@ -50,7 +52,7 @@ i3GEOadmin.grupos = {
50 52 {"data":json["perfis"]}
51 53 );
52 54 i3GEOadmin.grupos.listaRaiz(json["raiz"],opcoesPerfil,json["temas"]);
53   - i3GEOadmin.grupos.listaNos(json["grupos"],opcoesPerfil);
  55 + i3GEOadmin.grupos.listaNos(json["grupos"],opcoesPerfil,json["tiposGrupos"]);
54 56 $.material.init();
55 57 }
56 58 )
... ... @@ -77,15 +79,15 @@ i3GEOadmin.grupos = {
77 79 var id = "";
78 80 //marca o selecionado
79 81 $(temas).each(
80   - function(i,el){
81   - if(el.codigo_tema == p){
82   - temas[i]["selected"] = "selected";
83   - id = i;
84   - }
85   - else{
86   - temas[i]["selected"] = "";
87   - }
  82 + function(i,el){
  83 + if(el.codigo_tema == p){
  84 + temas[i]["selected"] = "selected";
  85 + id = i;
88 86 }
  87 + else{
  88 + temas[i]["selected"] = "";
  89 + }
  90 + }
89 91 );
90 92 var html = '<option value="">---</option>' + Mustache.to_html(
91 93 "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}",
... ... @@ -127,9 +129,7 @@ i3GEOadmin.grupos = {
127 129 i3GEOadmin.grupos.formAdicionaRaiz = html;
128 130 }
129 131 },
130   - listaNos: function(dados,opcoesPerfil){
131   - //{"nome_grupo":"_Grupo teste","id_n1":"3","id_menu":"4","publicado":"SIM","n1_perfil":""}
132   -
  132 + listaNos: function(dados,opcoesPerfil,grupos){
133 133 var templateNos = $("#templateNos").html();
134 134 var html = Mustache.to_html(
135 135 "{{#data}}" + templateNos + "{{/data}}",
... ... @@ -141,15 +141,43 @@ i3GEOadmin.grupos = {
141 141 "opcoesPerfil": opcoesPerfil,
142 142 "onExcluir": "i3GEOadmin.grupos.excluirNoDialogo",//funcao
143 143 "onSalvar": "i3GEOadmin.grupos.salvarNoDialogo",//funcao
  144 + "opcoesPublicado": function(){
  145 + var hash = {};
  146 + hash[this.publicado + "-sel"] = "selected";
  147 + hash["sim"] = i3GEOadmin.grupos.dicionario.sim;
  148 + hash["nao"] = i3GEOadmin.grupos.dicionario.nao;
  149 + return Mustache.to_html(
  150 + $("#templateOpcoesPublicado").html(),
  151 + hash
  152 + );
  153 + },
144 154 "opcoesNo": function(){
145   -
  155 + var p = this.id_grupo;
  156 + var id = "";
  157 + //marca o selecionado
  158 + $(grupos).each(
  159 + function(i,el){
  160 + if(el.id_grupo == p){
  161 + grupos[i]["selected"] = "selected";
  162 + id = i;
  163 + }
  164 + else{
  165 + grupos[i]["selected"] = "";
  166 + }
  167 + }
  168 + );
  169 + var html = '<option value="">---</option>' + Mustache.to_html(
  170 + "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}",
  171 + {"data":grupos}
  172 + );
  173 + //volta ao normal
  174 + grupos[id]["selected"] = "";
  175 + return html;
146 176 }
147 177 }
148 178 )
149 179 );
150 180 i3GEOadmin.grupos.ondeNos.html(html);
151   -
152   -
153 181 //valor do filtro atual
154 182 var filtro = i3GEOadmin.core.valorFiltro();
155 183 //filtro
... ... @@ -161,7 +189,41 @@ i3GEOadmin.grupos = {
161 189 $("#filtro").combobox();
162 190 if(filtro != ""){
163 191 i3GEOadmin.core.defineFiltro(filtro);
164   - i3GEOadmin.core.filtra(i3GEOadmin.grupos.pegaFiltro());
  192 + i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro());
  193 + }
  194 + if(i3GEOadmin.grupos.formAdicionaNo == ""){
  195 + html = Mustache.to_html(
  196 + templateNos,
  197 + $.extend(
  198 + {},
  199 + i3GEOadmin.grupos.dicionario,
  200 + {
  201 + "id_n1": "modal",
  202 + "escondido": "hidden",
  203 + "excluir": i3GEOadmin.grupos.dicionario.cancelar,
  204 + "opcoesPerfil": opcoesPerfil,
  205 + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao
  206 + "onSalvar": "i3GEOadmin.grupos.adicionaNo",//funcao
  207 + "opcoesPublicado": function(){
  208 + var hash = {};
  209 + hash["sim"] = i3GEOadmin.grupos.dicionario.sim;
  210 + hash["nao"] = i3GEOadmin.grupos.dicionario.nao;
  211 + return Mustache.to_html(
  212 + $("#templateOpcoesPublicado").html(),
  213 + hash
  214 + );
  215 + },
  216 + "opcoesNo": function(){
  217 + var html = '<option value="">---</option>' + Mustache.to_html(
  218 + "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}",
  219 + {"data":grupos}
  220 + );
  221 + return html;
  222 + }
  223 + }
  224 + )
  225 + );
  226 + i3GEOadmin.grupos.formAdicionaNo = html;
165 227 }
166 228 },
167 229 adicionaTemaDialogo: function(){
... ... @@ -170,7 +232,96 @@ i3GEOadmin.grupos = {
170 232 },
171 233 // os parametros sao obtidos do formulario aberto do modal
172 234 adicionaTemaRaiz: function(){
173   - var parametros = $("#form-modal form").serialize();
  235 + var parametros = $("#formRaiz-modal form").serialize();
  236 + i3GEOadmin.core.fechaModalGeral();
  237 + i3GEOadmin.core.modalAguarde(true);
  238 + $.post(
  239 + "execraiz.php?funcao=adicionar",
  240 + parametros + "&id_menu=" + i3GEOadmin.grupos.id_menu
  241 + )
  242 + .done(
  243 + function(data, status){
  244 + i3GEOadmin.core.modalAguarde(false);
  245 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.grupos.ondeRaiz);
  246 + i3GEOadmin.grupos.lista();
  247 + }
  248 + )
  249 + .fail(
  250 + function(data){
  251 + i3GEOadmin.core.modalAguarde(false);
  252 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  253 + }
  254 + );
  255 + },
  256 + excluirTemaDialogo: function(id){
  257 + var hash = {
  258 + "mensagem": i3GEOadmin.grupos.dicionario.confirma,
  259 + "onBotao1": "i3GEOadmin.grupos.excluirTema('"+id+"')",
  260 + "botao1": i3GEOadmin.grupos.dicionario.sim,
  261 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  262 + "botao2": i3GEOadmin.grupos.dicionario.nao
  263 + };
  264 + i3GEOadmin.core.abreModalConfirma(hash);
  265 + },
  266 + excluirTema: function(id){
  267 + i3GEOadmin.core.modalAguarde(true);
  268 + $.post(
  269 + "execraiz.php?funcao=excluir",
  270 + "id_raiz=" + id + "&id_menu=" + i3GEOadmin.grupos.id_menu
  271 + )
  272 + .done(
  273 + function(data, status){
  274 + i3GEOadmin.core.modalAguarde(false);
  275 + var json = jQuery.parseJSON(data)*1;
  276 + $("#formRaiz-" + json).remove();
  277 + }
  278 + )
  279 + .fail(
  280 + function(data){
  281 + i3GEOadmin.core.modalAguarde(false);
  282 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  283 + }
  284 + );
  285 + },
  286 + salvarTemaDialogo: function(id){
  287 + var hash = {
  288 + "mensagem": i3GEOadmin.grupos.dicionario.confirma,
  289 + "onBotao1": "i3GEOadmin.grupos.salvarTema('"+id+"')",
  290 + "botao1": i3GEOadmin.grupos.dicionario.sim,
  291 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  292 + "botao2": i3GEOadmin.grupos.dicionario.nao
  293 + };
  294 + i3GEOadmin.core.abreModalConfirma(hash);
  295 + },
  296 + salvarTema: function(id){
  297 + var parametros = $("#formRaiz-" + id + " form").serialize();
  298 + i3GEOadmin.core.fechaModalGeral();
  299 + i3GEOadmin.core.modalAguarde(true);
  300 + $.post(
  301 + "execraiz.php?funcao=alterar",
  302 + "id_raiz="+ id + "&"+parametros + "&id_menu=" + i3GEOadmin.grupos.id_menu
  303 + )
  304 + .done(
  305 + function(data, status){
  306 + i3GEOadmin.core.modalAguarde(false);
  307 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.grupos.ondeRaiz);
  308 + i3GEOadmin.grupos.lista();
  309 + }
  310 + )
  311 + .fail(
  312 + function(data){
  313 + i3GEOadmin.core.modalAguarde(false);
  314 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  315 + }
  316 + );
  317 + },
  318 + adicionaNoDialogo: function(){
  319 + i3GEOadmin.core.abreModalGeral(i3GEOadmin.grupos.formAdicionaNo);
  320 + $("#body-formNo-modal").collapse('show');
  321 + },
  322 +// os parametros sao obtidos do formulario aberto do modal
  323 + adicionaNo: function(){
  324 + var parametros = $("#formNo-modal form").serialize();
174 325 i3GEOadmin.core.fechaModalGeral();
175 326 i3GEOadmin.core.modalAguarde(true);
176 327 $.post(
... ... @@ -180,7 +331,7 @@ i3GEOadmin.grupos = {
180 331 .done(
181 332 function(data, status){
182 333 i3GEOadmin.core.modalAguarde(false);
183   - i3GEOadmin.core.iconeAguarde(i3GEOadmin.grupos.ondeLista);
  334 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.grupos.ondeNos);
184 335 i3GEOadmin.grupos.lista();
185 336 }
186 337 )
... ... @@ -191,27 +342,27 @@ i3GEOadmin.grupos = {
191 342 }
192 343 );
193 344 },
194   - excluirDialogo: function(id){
  345 + excluirNoDialogo: function(id){
195 346 var hash = {
196 347 "mensagem": i3GEOadmin.grupos.dicionario.confirma,
197   - "onBotao1": "i3GEOadmin.grupos.excluir('"+id+"')",
  348 + "onBotao1": "i3GEOadmin.grupos.excluirNo('"+id+"')",
198 349 "botao1": i3GEOadmin.grupos.dicionario.sim,
199 350 "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
200 351 "botao2": i3GEOadmin.grupos.dicionario.nao
201 352 };
202 353 i3GEOadmin.core.abreModalConfirma(hash);
203 354 },
204   - excluir: function(id){
  355 + excluirNo: function(id){
205 356 i3GEOadmin.core.modalAguarde(true);
206 357 $.post(
207 358 "exec.php?funcao=excluir",
208   - "id_grupos=" + id + "&id_menu=" + i3GEOadmin.grupos.id_menu
  359 + "id_n1=" + id
209 360 )
210 361 .done(
211 362 function(data, status){
212 363 i3GEOadmin.core.modalAguarde(false);
213 364 var json = jQuery.parseJSON(data)*1;
214   - $("#form-" + json).remove();
  365 + $("#formNo-" + json).remove();
215 366 }
216 367 )
217 368 .fail(
... ... @@ -221,28 +372,28 @@ i3GEOadmin.grupos = {
221 372 }
222 373 );
223 374 },
224   - salvarDialogo: function(id){
  375 + salvarNoDialogo: function(id){
225 376 var hash = {
226 377 "mensagem": i3GEOadmin.grupos.dicionario.confirma,
227   - "onBotao1": "i3GEOadmin.grupos.salvar('"+id+"')",
  378 + "onBotao1": "i3GEOadmin.grupos.salvarNo('"+id+"')",
228 379 "botao1": i3GEOadmin.grupos.dicionario.sim,
229 380 "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
230 381 "botao2": i3GEOadmin.grupos.dicionario.nao
231 382 };
232 383 i3GEOadmin.core.abreModalConfirma(hash);
233 384 },
234   - salvar: function(id){
235   - var parametros = $("#form-" + id + " form").serialize();
  385 + salvarNo: function(id){
  386 + var parametros = $("#formNo-" + id + " form").serialize();
236 387 i3GEOadmin.core.fechaModalGeral();
237 388 i3GEOadmin.core.modalAguarde(true);
238 389 $.post(
239 390 "exec.php?funcao=alterar",
240   - "id_grupos="+ id + "&"+parametros + "&id_menu=" + i3GEOadmin.grupos.id_menu
  391 + "id_n1="+ id + "&"+parametros + "&id_menu=" + i3GEOadmin.grupos.id_menu
241 392 )
242 393 .done(
243 394 function(data, status){
244 395 i3GEOadmin.core.modalAguarde(false);
245   - i3GEOadmin.core.iconeAguarde(i3GEOadmin.grupos.ondeLista);
  396 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.grupos.ondeNos);
246 397 i3GEOadmin.grupos.lista();
247 398 }
248 399 )
... ... @@ -253,12 +404,12 @@ i3GEOadmin.grupos = {
253 404 }
254 405 );
255 406 },
256   - editarTemas: function(id_menu, id_grupos,titulo_grupos){
  407 + editarSubGrupos: function(id,titulo){
257 408 //muda a url para que o usuario possa voltar pelo botao do navegador
258   - var u = window.location.origin + window.location.pathname + "?id_menu=" + id_menu + "&id_filtro=" + id_grupos;
  409 + var u = window.location.origin + window.location.pathname + "?nome_menu=" + i3GEOadmin.grupos.nome_menu + "&id_menu=" + i3GEOadmin.grupos.id_menu + "&id_filtro=" + id;
259 410 window.history.replaceState(null,null,u);
260 411 //abre a pagina de edicao
261   - window.location.href = "temas/index.php?id_grupos=" + id_grupos + "&titulo_grupos=" + titulo_grupos + "&id_menu=" + id_menu;
  412 + window.location.href = "subgrupos/index.php?id_n1=" + id + "&nome_grupo=" + titulo + "&id_menu=" + i3GEOadmin.grupos.id_menu + "&nome_menu=" + i3GEOadmin.grupos.nome_menu;
262 413 },
263 414 addInput: function(id,valor){
264 415 var i = $("#"+id);
... ...
admin1/catalogo/menus/grupos/index.php
... ... @@ -28,7 +28,7 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
28 28 </button>
29 29 <h3>{{{txtTitulo}}}</h3>
30 30 <h3><?php echo $nome_menu; ?></h3>
31   - <!--<h4>{{{txtDesc}}}</h4>-->
  31 + <h4>{{{txtDesc}}}</h4>
32 32 <!-- aqui entra o filtro -->
33 33 <div class="form-group">
34 34 <label class="control-label">{{{filtro}}}</label> <select
... ... @@ -48,16 +48,17 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
48 48 <div class="well hidden">
49 49 <!-- painel para mostrar os temas na raiz -->
50 50 <h3 class="panel-heading">
51   - <a class="in" role="button" data-toggle="collapse" href="#raiz" aria-expanded="false"
  51 + <a class="collapsed in" role="button" data-toggle="collapse" href="#raiz" aria-expanded="false"
52 52 aria-controls="#raiz">{{{temasRaizMenu}}}</a>
53 53 </h3>
54 54 <div class="clearfix"></div>
55   - <div id="raiz" class="panel-body panel-collapse in"></div>
56 55 <div class="row pull-right">
57 56 <a onclick="i3GEOadmin.grupos.adicionaTemaDialogo();" href="javascript:void(0)"
58 57 class="btn btn-primary" role="button">{{{adicionarTema}}}</a>
59 58 </div>
60 59 <div class="clearfix"></div>
  60 + <div id="raiz" class="panel-body panel-collapse collapse"></div>
  61 +
61 62 </div>
62 63 <!-- nos -->
63 64 <div class="well hidden">
... ... @@ -66,18 +67,19 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
66 67 aria-controls="#raiz">{{{grupos}}}</a>
67 68 </h3>
68 69 <div class="clearfix"></div>
69   - <div id="corpo" class="panel-body panel-collapse in"></div>
70 70 <div class="row pull-right">
71   - <a onclick="i3GEOadmin.grupos.adicionaDialogo();" href="javascript:void(0)"
  71 + <a onclick="i3GEOadmin.grupos.adicionaNoDialogo();" href="javascript:void(0)"
72 72 class="btn btn-primary" role="button">{{{adicionarGrupo}}}</a>
73 73 </div>
74 74 <div class="clearfix"></div>
  75 + <div id="corpo" class="panel-body panel-collapse in"></div>
  76 +
75 77 </div>
76 78 </div>
77 79 </div>
78 80 </div>
79 81 <script id="templateFiltro" type="x-tmpl-mustache">
80   -<option value="form-{{id_grupos}}">{{{titulo_grupos}}}</option>
  82 +<option value="formNo-{{id_n1}}">{{{nome_grupo}}}</option>
81 83 </script>
82 84 <script id="templateRaiz" type="x-tmpl-mustache">
83 85 <div class="panel panel-default" id="formRaiz-{{id_raiz}}">
... ... @@ -96,15 +98,15 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
96 98 <div class="row">
97 99 <div class="col-md-12">
98 100 <div class="form-group form-group-lg">
99   - <label class="col-md-4 control-label" for="codigo_tema">{{{tema}}}</label>
  101 + <label class="col-md-4 control-label" for="id_tema">{{{tema}}}</label>
100 102 <div class="col-md-8">
101   - <select class="form-control" name="codigo_tema">
  103 + <select class="form-control" name="id_tema">
102 104 {{{opcoesTema}}}
103 105 </select>
104 106 </div>
105 107 </div>
106 108 <div class="form-group form-group-lg">
107   - <label class="col-md-4 control-label" for="perfil">{{{ordem}}}</label>
  109 + <label class="col-md-4 control-label" for="ordem">{{{ordemTxt}}}</label>
108 110 <div class="col-md-8">
109 111 <input type="text" value="{{{ordem}}}" class="form-control" name="ordem">
110 112 </div>
... ... @@ -147,27 +149,34 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
147 149 <div class="row">
148 150 <div class="col-md-12">
149 151 <div class="form-group form-group-lg">
150   - <label class="col-md-4 control-label" for="codigo_tema">{{{tema}}}</label>
  152 + <label class="col-md-4 control-label" for="id_grupo">{{{nomeTxt}}}</label>
151 153 <div class="col-md-8">
152   - <select class="form-control" name="codigo_tema">
  154 + <select class="form-control" name="id_grupo">
153 155 {{{opcoesNo}}}
154 156 </select>
155 157 </div>
156 158 </div>
157 159 <div class="form-group form-group-lg">
158   - <label class="col-md-4 control-label" for="perfil">{{{ordemTxt}}}</label>
  160 + <label class="col-md-4 control-label" for="ordem">{{{ordemTxt}}}</label>
159 161 <div class="col-md-8">
160 162 <input type="text" value="{{{ordem}}}" class="form-control" name="ordem">
161 163 </div>
162 164 </div>
163   -
  165 + <div class="form-group form-group-lg">
  166 + <label class="col-md-4 control-label" for="publicado">{{{publicadoTxt}}}</label>
  167 + <div class="col-md-8">
  168 + <select name="publicado" class="form-control">
  169 + {{{opcoesPublicado}}}
  170 + </select>
  171 + </div>
  172 + </div>
164 173 <div class="form-group form-group-lg">
165 174 <label class="col-md-4 control-label" for="perfil">{{{perfis}}}</label>
166 175 <div class="col-md-4">
167   - <input id="perfil_tema-{{id_raiz}}" type="text" value="{{{perfil}}}" class="form-control" name="perfil">
  176 + <input id="perfil_no-{{id_n1}}" type="text" value="{{{perfil}}}" class="form-control" name="perfil">
168 177 </div>
169 178 <div class="col-md-4">
170   - <select class="form-control" onchange="i3GEOadmin.grupos.addInput('perfil_tema-{{id_raiz}}',this.value)">
  179 + <select class="form-control" onchange="i3GEOadmin.grupos.addInput('perfil_no-{{id_n1}}',this.value)">
171 180 {{{opcoesPerfil}}}
172 181 </select>
173 182 </div>
... ... @@ -180,11 +189,26 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
180 189 <a href="javascript:void(0)" onclick="{{onSalvar}}('{{id_n1}}')" class="btn btn-primary" role="button">{{salvar}}</a>
181 190 </div>
182 191 </div>
  192 + <div class="panel-footer {{escondido}}" style="padding-top: 0px; padding-bottom: 0px;">
  193 + <div class="pull-right">
  194 + <button onclick="i3GEOadmin.grupos.editarSubGrupos('{{id_n1}}','{{{nome_grupo}}}')" class="btn btn-primary btn-xs" style="margin-top: 2px; margin-bottom: 2px;">
  195 + <i class="material-icons">folder_open</i> {{{editarSubgrupos}}}
  196 + </button>
  197 + </div>
  198 + <div class="clearfix"></div>
  199 + </div>
183 200 </div>
184 201 </script>
185   -
  202 +<script id="templateOpcoesPublicado" type="x-tmpl-mustache">
  203 + <option value="">---</option>
  204 + <option {{SIM-sel}} value="SIM">{{{sim}}}</option>
  205 + <option {{NAO-sel}} value="NAO">{{{nao}}}</option>
  206 +</script>
  207 +<script id="templateOpcoesNo" type="x-tmpl-mustache">
  208 + <option {{{selected}}} value="{{{id_grupo}}}">{{{nome_grupo}}}</option>
  209 +</script>
186 210 <script id="templateOpcoesTema" type="x-tmpl-mustache">
187   - <option {{{selected}}} value="{{{codigo_tema}}}">{{{nome_tema}}} - {{{codigo_tema}}}</option>
  211 + <option {{{selected}}} value="{{{id_tema}}}">{{{nome_tema}}} - {{{codigo_tema}}}</option>
188 212 </script>
189 213 <script id="templateOpcoesPerfil" type="x-tmpl-mustache">
190 214 <option value="{{{perfil}}}">{{{perfil}}}</option>
... ... @@ -204,22 +228,11 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
204 228 //traducao
205 229 var t = $("#titulo");
206 230 //complementa dicionario
207   - i3GEOadmin.grupos.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
208   - i3GEOadmin.grupos.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
209   - i3GEOadmin.grupos.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
210   - i3GEOadmin.grupos.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
211   - i3GEOadmin.grupos.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
212   - i3GEOadmin.grupos.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
213   - i3GEOadmin.grupos.dicionario.nome = i3GEOadmin.core.dicionario.nome;
214   - i3GEOadmin.grupos.dicionario.tipo = i3GEOadmin.core.dicionario.tipo;
215   - i3GEOadmin.grupos.dicionario.descricao = i3GEOadmin.core.dicionario.descricao;
216   - i3GEOadmin.grupos.dicionario.sim = i3GEOadmin.core.dicionario.sim;
217   - i3GEOadmin.grupos.dicionario.nao = i3GEOadmin.core.dicionario.nao;
218   - i3GEOadmin.grupos.dicionario.grupo = i3GEOadmin.core.dicionario.grupo;
219   - i3GEOadmin.grupos.dicionario.grupos = i3GEOadmin.core.dicionario.grupos;
220   - i3GEOadmin.grupos.dicionario.adicionarTema = i3GEOadmin.core.dicionario.adicionarTema;
221   - i3GEOadmin.grupos.dicionario.tema = i3GEOadmin.core.dicionario.tema;
222   - i3GEOadmin.grupos.dicionario.ordemTxt = i3GEOadmin.core.dicionario.ordemTxt;
  231 + i3GEOadmin.grupos.dicionario = $.extend(
  232 + {},
  233 + i3GEOadmin.grupos.dicionario,
  234 + i3GEOadmin.core.dicionario
  235 + );
223 236  
224 237 i3GEOadmin.core.dicionario = null;
225 238  
... ... @@ -233,6 +246,7 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
233 246 );
234 247 $.material.init();
235 248 i3GEOadmin.grupos.id_menu = <?php echo $id_menu; ?>;
  249 + i3GEOadmin.grupos.nome_menu = "<?php echo $nome_menu; ?>";
236 250 var inicia = function() {
237 251 $(".hidden").removeClass('hidden');
238 252 i3GEOadmin.grupos.init($("#corpo"),$("#raiz"));
... ...
admin1/catalogo/menus/grupos/subgrupos/exec.php 0 → 100755
... ... @@ -0,0 +1,147 @@
  1 +<?php
  2 +//
  3 +//Executa as operacoes para um grupo de um menu
  4 +//
  5 +/*
  6 + * Licenca:
  7 + *
  8 + * GPL2
  9 + *
  10 + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  11 + *
  12 + * Direitos Autorais Reservados (c) 2006 Edmar Moretti
  13 + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  14 + *
  15 + * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  16 + * e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  17 + * GNU conforme publicada pela Free Software Foundation;
  18 + *
  19 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  20 + * por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  21 + * de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  22 + * Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  23 + * Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  24 + * GNU junto com este programa; se n&atilde;o, escreva para a
  25 + * Free Software Foundation, Inc., no endere&ccedil;o
  26 + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  27 + */
  28 +error_reporting ( 0 );
  29 +//
  30 +// pega as variaveis passadas com get ou post
  31 +//
  32 +
  33 +include_once (dirname ( __FILE__ ) . "/../../../../../admin/php/login.php");
  34 +$funcoesEdicao = array (
  35 + "ADICIONAR",
  36 + "ALTERAR",
  37 + "EXCLUIR"
  38 +);
  39 +if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
  40 + if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
  41 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
  42 + exit ();
  43 + }
  44 +}
  45 +include (dirname ( __FILE__ ) . "/../../../../../admin/php/conexao.php");
  46 +
  47 +$funcao = strtoupper ( $funcao );
  48 +switch ($funcao) {
  49 + case "ADICIONAR" :
  50 + $novo = adicionar( $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw );
  51 + if ($novo === false) {
  52 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  53 + exit ();
  54 + }
  55 + exit ();
  56 + break;
  57 + case "ALTERAR" :
  58 + $novo = alterar ( $id_n2, $id_subgrupo, $id_menu, $publicado, $n2_perfil, $ordem, $dbhw );
  59 + if ($novo === false) {
  60 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  61 + exit ();
  62 + }
  63 + $dados = pegaDados ( "SELECT id_n2 from ".$esquemaadmin."i3geoadmin_n2 WHERE id_n2 = $id_n2", $dbh, false );
  64 +
  65 + if ($dados === false) {
  66 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  67 + exit ();
  68 + }
  69 + $dbhw = null;
  70 + $dbh = null;
  71 + retornaJSON ( $dados );
  72 + exit ();
  73 + break;
  74 + case "LISTA" :
  75 + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false );
  76 + $dbhw = null;
  77 + $dbh = null;
  78 + include($locaplic."/admin/php/classe_arvore.php");
  79 + $arvore = new Arvore($locaplic);
  80 + $subgrupos = $arvore->pegaSubgruposGrupo($id_menu,$id_n1);
  81 + $temas = $arvore->pegaTodosTemas(true);
  82 + $tiposSubGrupos = $arvore->pegaListaDeTiposSubGrupos();
  83 + unset($arvore);
  84 + $subgrupos["perfis"] = $perfis;
  85 + $subgrupos["temas"] = $temas;
  86 + $subgrupos["tiposSubGrupos"] = $tiposSubGrupos;
  87 + retornaJSON($subgrupos);
  88 + break;
  89 + case "EXCLUIR" :
  90 + $r = pegaDados("SELECT id_n3 from ".$esquemaadmin."i3geoadmin_n3 where id_n2 ='$id'");
  91 + if(count($r) > 0){
  92 + header ( "HTTP/1.1 500 erro ao excluir. Exclua os subgrupos primeiro" );
  93 + exit ();
  94 + }
  95 + $retorna = excluir ( $id_n2, $dbhw );
  96 + $dbhw = null;
  97 + $dbh = null;
  98 + if ($retorna === false) {
  99 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  100 + exit ();
  101 + }
  102 + retornaJSON ( $id_n2 );
  103 + exit ();
  104 + break;
  105 +}
  106 +cpjson ( $retorno );
  107 +
  108 +function adicionar( $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw) {
  109 + global $esquemaadmin;
  110 + try {
  111 + $dataCol = array(
  112 + "id_n1" => $id_n1,
  113 + "publicado" => 'NAO',
  114 + "ordem" => 0,
  115 + "n2_perfil" => ''
  116 + );
  117 + $id_n2 = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_n2",$dataCol,"n2_perfil","id_n2");
  118 + $retorna = alterar ( $id_n2, $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw );
  119 + return $retorna;
  120 + } catch ( PDOException $e ) {
  121 + return false;
  122 + }
  123 +}
  124 +// $papeis deve ser um array
  125 +function alterar($id_n2, $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw) {
  126 + global $esquemaadmin;
  127 + $dataCol = array(
  128 + "publicado" => $publicado,
  129 + "id_subgrupo" => $id_subgrupo,
  130 + "ordem" => $ordem,
  131 + "n2_perfil" => $n2_perfil
  132 + );
  133 + $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_n2",$dataCol,"WHERE id_n2 = $id_n2");
  134 + if ($resultado === false) {
  135 + return false;
  136 + }
  137 + return $id_n2;
  138 +}
  139 +function excluir($id_n1, $dbhw) {
  140 + global $esquemaadmin;
  141 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_n2", "id_n2", $id_n2, $dbhw, false );
  142 + if ($resultado === false) {
  143 + return false;
  144 + }
  145 + return $resultado;
  146 +}
  147 +?>
... ...
admin1/catalogo/menus/grupos/subgrupos/execraiz.php 0 → 100755
... ... @@ -0,0 +1,138 @@
  1 +<?php
  2 +//
  3 +//executa as operacoes para os temas na reiz de um menu
  4 +//
  5 +/*
  6 + * Licenca:
  7 + *
  8 + * GPL2
  9 + *
  10 + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  11 + *
  12 + * Direitos Autorais Reservados (c) 2006 Edmar Moretti
  13 + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  14 + *
  15 + * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  16 + * e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  17 + * GNU conforme publicada pela Free Software Foundation;
  18 + *
  19 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  20 + * por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  21 + * de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  22 + * Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  23 + * Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  24 + * GNU junto com este programa; se n&atilde;o, escreva para a
  25 + * Free Software Foundation, Inc., no endere&ccedil;o
  26 + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  27 + */
  28 +error_reporting ( 0 );
  29 +//
  30 +// pega as variaveis passadas com get ou post
  31 +//
  32 +
  33 +include_once (dirname ( __FILE__ ) . "/../../../../../admin/php/login.php");
  34 +$funcoesEdicao = array (
  35 + "ADICIONAR",
  36 + "ALTERAR",
  37 + "EXCLUIR"
  38 +);
  39 +if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
  40 + if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
  41 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
  42 + exit ();
  43 + }
  44 +}
  45 +include (dirname ( __FILE__ ) . "/../../../../../admin/php/conexao.php");
  46 +
  47 +$funcao = strtoupper ( $funcao );
  48 +switch ($funcao) {
  49 + case "ADICIONAR" :
  50 + if (empty ( $id_tema ) || empty ( $id_menu ) || empty ( $id_n1 )) {
  51 + header ( "HTTP/1.1 500 erro nos parametros" );
  52 + exit ();
  53 + }
  54 + $novo = adicionar ( $id_menu, $id_n1, $id_tema, $ordem, $perfil, $dbhw );
  55 + if ($novo === false) {
  56 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  57 + exit ();
  58 + }
  59 + exit ();
  60 + break;
  61 + case "ALTERAR" :
  62 + if (empty ( $id_tema ) || empty ( $id_menu ) || empty ( $id_raiz )) {
  63 + header ( "HTTP/1.1 500 erro nos parametros" );
  64 + exit ();
  65 + }
  66 + $novo = alterar ( $id_raiz, $id_tema, $ordem, $perfil, $dbhw );
  67 + if ($novo === false) {
  68 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  69 + exit ();
  70 + }
  71 + $dados = pegaDados ( "SELECT id_raiz from " . $esquemaadmin . "i3geoadmin_raiz WHERE id_raiz = $id_raiz", $dbh, false );
  72 +
  73 + if ($dados === false) {
  74 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  75 + exit ();
  76 + }
  77 + $dbhw = null;
  78 + $dbh = null;
  79 + retornaJSON ( $dados );
  80 + exit ();
  81 + break;
  82 + case "EXCLUIR" :
  83 + $retorna = excluir ( $id_raiz, $dbhw );
  84 + $dbhw = null;
  85 + $dbh = null;
  86 + if ($retorna === false) {
  87 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  88 + exit ();
  89 + }
  90 + retornaJSON ( $id_raiz );
  91 + exit ();
  92 + break;
  93 +}
  94 +cpjson ( $retorno );
  95 +function adicionar($id_menu, $id_n1, $id_tema, $ordem, $perfil, $dbhw) {
  96 + global $esquemaadmin;
  97 + try {
  98 + $dataCol = array (
  99 + "id_menu" => $id_menu,
  100 + "id_nivel" => $id_n1,
  101 + "nivel" => 1,
  102 + "ordem" => 0,
  103 + "perfil" => ''
  104 + );
  105 + $id_raiz = i3GeoAdminInsertUnico ( $dbhw, "i3geoadmin_raiz", $dataCol, "perfil", "id_raiz" );
  106 +
  107 + $retorna = alterar ( $id_raiz, $id_tema, $ordem, $perfil, $dbhw );
  108 +
  109 + return $retorna;
  110 + } catch ( PDOException $e ) {
  111 + return false;
  112 + }
  113 +}
  114 +// $papeis deve ser um array
  115 +function alterar($id_raiz, $id_tema, $ordem, $perfil, $dbhw) {
  116 + global $esquemaadmin;
  117 +
  118 + $dataCol = array(
  119 + "id_tema" => $id_tema,
  120 + "perfil" => $perfil,
  121 + "ordem" => $ordem
  122 + );
  123 + $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_raiz",$dataCol,"WHERE id_raiz = $id_raiz");
  124 + $retorna = $id;
  125 + if ($resultado === false) {
  126 + return false;
  127 + }
  128 + return $id_raiz;
  129 +}
  130 +function excluir($id_raiz, $dbhw) {
  131 + global $esquemaadmin;
  132 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_raiz", "id_raiz", $id_raiz, $dbhw, false );
  133 + if ($resultado === false) {
  134 + return false;
  135 + }
  136 + return $resultado;
  137 +}
  138 +?>
... ...
admin1/catalogo/menus/grupos/subgrupos/index.js 0 → 100755
... ... @@ -0,0 +1,420 @@
  1 +/*
  2 +Licenca:
  3 +
  4 +GPL2
  5 +
  6 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  7 +
  8 +Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  9 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  10 +
  11 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  12 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  13 +GNU conforme publicada pela Free Software Foundation;
  14 +
  15 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  16 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  17 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  18 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  19 +Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
  20 +GNU junto com este programa; se n&atilde;o, escreva para a
  21 +Free Software Foundation, Inc., no endere&ccedil;o
  22 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  23 +
  24 + */
  25 +i3GEOadmin.subgrupos = {
  26 + id_menu: "",
  27 + nome_menu: "",
  28 + id_n1: "",
  29 + nome_grupo: "",
  30 + ondeRaiz: "",
  31 + ondeNos: "",
  32 + //conteudo html do formulario de adicao na raiz
  33 + formAdicionaRaiz: "",
  34 + formAdicionaNo: "",
  35 + init: function(ondenos,onderaiz){
  36 + i3GEOadmin.subgrupos.ondeRaiz = onderaiz;
  37 + i3GEOadmin.subgrupos.ondeNos = ondenos;
  38 + i3GEOadmin.subgrupos.lista();
  39 + },
  40 + lista: function(){
  41 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.subgrupos.ondeRaiz);
  42 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.subgrupos.ondeNos);
  43 +
  44 + $.post(
  45 + "exec.php?funcao=lista&id_n1=" + i3GEOadmin.subgrupos.id_n1 + "&id_menu=" + i3GEOadmin.subgrupos.id_menu
  46 + )
  47 + .done(
  48 + function(data, status){
  49 + //objeto json com os dados viondos do banco
  50 + var json = jQuery.parseJSON(data);
  51 + //combo com perfis
  52 + var opcoesPerfil = '<option value="">---</option>' + Mustache.to_html(
  53 + "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}",
  54 + {"data":json["perfis"]}
  55 + );
  56 + i3GEOadmin.subgrupos.listaRaiz(json["raiz"],opcoesPerfil,json["temas"]);
  57 + i3GEOadmin.subgrupos.listaNos(json["subgrupos"],opcoesPerfil,json["tiposSubGrupos"]);
  58 + $.material.init();
  59 + }
  60 + )
  61 + .fail(function(data){
  62 + i3GEOadmin.subgrupos.ondeRaiz.html("");
  63 + i3GEOadmin.subgrupos.ondeNos.html("");
  64 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  65 + });
  66 + },
  67 + listaRaiz: function(dados,opcoesPerfil,temas){
  68 + var templateRaiz = $("#templateRaiz").html();
  69 + var html = Mustache.to_html(
  70 + "{{#data}}" + templateRaiz + "{{/data}}",
  71 + $.extend(
  72 + {},
  73 + i3GEOadmin.subgrupos.dicionario,
  74 + {
  75 + "data": dados,
  76 + "opcoesPerfil": opcoesPerfil,
  77 + "onExcluir": "i3GEOadmin.subgrupos.excluirTemaDialogo",//funcao
  78 + "onSalvar": "i3GEOadmin.subgrupos.salvarTemaDialogo",//funcao
  79 + "opcoesTema": function(){
  80 + var p = this.codigo_tema;
  81 + var id = "";
  82 + //marca o selecionado
  83 + $(temas).each(
  84 + function(i,el){
  85 + if(el.codigo_tema == p){
  86 + temas[i]["selected"] = "selected";
  87 + id = i;
  88 + }
  89 + else{
  90 + temas[i]["selected"] = "";
  91 + }
  92 + }
  93 + );
  94 + var html = '<option value="">---</option>' + Mustache.to_html(
  95 + "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}",
  96 + {"data":temas}
  97 + );
  98 + //volta ao normal
  99 + temas[id]["selected"] = "";
  100 + return html;
  101 + }
  102 + }
  103 + )
  104 + );
  105 + i3GEOadmin.subgrupos.ondeRaiz.html(html);
  106 +
  107 + //monta um template para o modal de inclusao de novo tema
  108 + if(i3GEOadmin.subgrupos.formAdicionaRaiz == ""){
  109 + html = Mustache.to_html(
  110 + $("#templateRaiz").html(),
  111 + $.extend(
  112 + {},
  113 + i3GEOadmin.subgrupos.dicionario,
  114 + {
  115 + "id_raiz": "modal",
  116 + "escondido": "hidden",
  117 + "opcoesPerfil": opcoesPerfil,
  118 + "excluir": i3GEOadmin.subgrupos.dicionario.cancelar,
  119 + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao
  120 + "onSalvar": "i3GEOadmin.subgrupos.adicionaTemaRaiz",//funcao
  121 + "opcoesTema": function(){
  122 + var html = '<option value="">---</option>' + Mustache.to_html(
  123 + "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}",
  124 + {"data":temas}
  125 + );
  126 + return html;
  127 + }
  128 + }
  129 + )
  130 + );
  131 + i3GEOadmin.subgrupos.formAdicionaRaiz = html;
  132 + }
  133 + },
  134 + listaNos: function(dados,opcoesPerfil,subgrupos){
  135 + var templateNos = $("#templateNos").html();
  136 + var html = Mustache.to_html(
  137 + "{{#data}}" + templateNos + "{{/data}}",
  138 + $.extend(
  139 + {},
  140 + i3GEOadmin.subgrupos.dicionario,
  141 + {
  142 + "data": dados,
  143 + "opcoesPerfil": opcoesPerfil,
  144 + "onExcluir": "i3GEOadmin.subgrupos.excluirNoDialogo",//funcao
  145 + "onSalvar": "i3GEOadmin.subgrupos.salvarNoDialogo",//funcao
  146 + "opcoesPublicado": function(){
  147 + var hash = {};
  148 + hash[this.publicado + "-sel"] = "selected";
  149 + hash["sim"] = i3GEOadmin.subgrupos.dicionario.sim;
  150 + hash["nao"] = i3GEOadmin.subgrupos.dicionario.nao;
  151 + return Mustache.to_html(
  152 + $("#templateOpcoesPublicado").html(),
  153 + hash
  154 + );
  155 + },
  156 + "opcoesNo": function(){
  157 + var p = this.id_subgrupo;
  158 + var id = "";
  159 + //marca o selecionado
  160 + $(subgrupos).each(
  161 + function(i,el){
  162 + if(el.id_subgrupo == p){
  163 + subgrupos[i]["selected"] = "selected";
  164 + id = i;
  165 + }
  166 + else{
  167 + subgrupos[i]["selected"] = "";
  168 + }
  169 + }
  170 + );
  171 + var html = '<option value="">---</option>' + Mustache.to_html(
  172 + "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}",
  173 + {"data":subgrupos}
  174 + );
  175 + //volta ao normal
  176 + subgrupos[id]["selected"] = "";
  177 + return html;
  178 + }
  179 + }
  180 + )
  181 + );
  182 + i3GEOadmin.subgrupos.ondeNos.html(html);
  183 + //valor do filtro atual
  184 + var filtro = i3GEOadmin.core.valorFiltro();
  185 + //filtro
  186 + html = Mustache.to_html(
  187 + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}",
  188 + {"data":dados}
  189 + );
  190 + $("#filtro").html("<option value='' >Todos</option>" + html);
  191 + $("#filtro").combobox();
  192 + if(filtro != ""){
  193 + i3GEOadmin.core.defineFiltro(filtro);
  194 + i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro());
  195 + }
  196 + if(i3GEOadmin.subgrupos.formAdicionaNo == ""){
  197 + html = Mustache.to_html(
  198 + templateNos,
  199 + $.extend(
  200 + {},
  201 + i3GEOadmin.subgrupos.dicionario,
  202 + {
  203 + "id_n2": "modal",
  204 + "escondido": "hidden",
  205 + "excluir": i3GEOadmin.subgrupos.dicionario.cancelar,
  206 + "opcoesPerfil": opcoesPerfil,
  207 + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao
  208 + "onSalvar": "i3GEOadmin.subgrupos.adicionaNo",//funcao
  209 + "opcoesPublicado": function(){
  210 + var hash = {};
  211 + hash["sim"] = i3GEOadmin.subgrupos.dicionario.sim;
  212 + hash["nao"] = i3GEOadmin.subgrupos.dicionario.nao;
  213 + return Mustache.to_html(
  214 + $("#templateOpcoesPublicado").html(),
  215 + hash
  216 + );
  217 + },
  218 + "opcoesNo": function(){
  219 + var html = '<option value="">---</option>' + Mustache.to_html(
  220 + "{{#data}}" + $("#templateOpcoesNo").html() + "{{/data}}",
  221 + {"data":subgrupos}
  222 + );
  223 + return html;
  224 + }
  225 + }
  226 + )
  227 + );
  228 + i3GEOadmin.subgrupos.formAdicionaNo = html;
  229 + }
  230 + },
  231 + adicionaTemaDialogo: function(){
  232 + i3GEOadmin.core.abreModalGeral(i3GEOadmin.subgrupos.formAdicionaRaiz);
  233 + $("#body-formRaiz-modal").collapse('show');
  234 + },
  235 +// os parametros sao obtidos do formulario aberto do modal
  236 + adicionaTemaRaiz: function(){
  237 + var parametros = $("#formRaiz-modal form").serialize();
  238 + i3GEOadmin.core.fechaModalGeral();
  239 + i3GEOadmin.core.modalAguarde(true);
  240 + $.post(
  241 + "execraiz.php?funcao=adicionar",
  242 + parametros + "&id_menu=" + i3GEOadmin.subgrupos.id_menu + "&id_n1=" + i3GEOadmin.subgrupos.id_n1
  243 + )
  244 + .done(
  245 + function(data, status){
  246 + i3GEOadmin.core.modalAguarde(false);
  247 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.subgrupos.ondeRaiz);
  248 + i3GEOadmin.subgrupos.lista();
  249 + }
  250 + )
  251 + .fail(
  252 + function(data){
  253 + i3GEOadmin.core.modalAguarde(false);
  254 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  255 + }
  256 + );
  257 + },
  258 + excluirTemaDialogo: function(id){
  259 + var hash = {
  260 + "mensagem": i3GEOadmin.subgrupos.dicionario.confirma,
  261 + "onBotao1": "i3GEOadmin.subgrupos.excluirTema('"+id+"')",
  262 + "botao1": i3GEOadmin.subgrupos.dicionario.sim,
  263 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  264 + "botao2": i3GEOadmin.subgrupos.dicionario.nao
  265 + };
  266 + i3GEOadmin.core.abreModalConfirma(hash);
  267 + },
  268 + excluirTema: function(id){
  269 + i3GEOadmin.core.modalAguarde(true);
  270 + $.post(
  271 + "execraiz.php?funcao=excluir",
  272 + "id_raiz=" + id + "&id_menu=" + i3GEOadmin.subgrupos.id_menu
  273 + )
  274 + .done(
  275 + function(data, status){
  276 + i3GEOadmin.core.modalAguarde(false);
  277 + var json = jQuery.parseJSON(data)*1;
  278 + $("#formRaiz-" + json).remove();
  279 + }
  280 + )
  281 + .fail(
  282 + function(data){
  283 + i3GEOadmin.core.modalAguarde(false);
  284 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  285 + }
  286 + );
  287 + },
  288 + salvarTemaDialogo: function(id){
  289 + var hash = {
  290 + "mensagem": i3GEOadmin.subgrupos.dicionario.confirma,
  291 + "onBotao1": "i3GEOadmin.subgrupos.salvarTema('"+id+"')",
  292 + "botao1": i3GEOadmin.subgrupos.dicionario.sim,
  293 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  294 + "botao2": i3GEOadmin.subgrupos.dicionario.nao
  295 + };
  296 + i3GEOadmin.core.abreModalConfirma(hash);
  297 + },
  298 + salvarTema: function(id){
  299 + var parametros = $("#formRaiz-" + id + " form").serialize();
  300 + i3GEOadmin.core.fechaModalGeral();
  301 + i3GEOadmin.core.modalAguarde(true);
  302 + $.post(
  303 + "execraiz.php?funcao=alterar",
  304 + "id_raiz="+ id + "&"+parametros + "&id_menu=" + i3GEOadmin.subgrupos.id_menu
  305 + )
  306 + .done(
  307 + function(data, status){
  308 + i3GEOadmin.core.modalAguarde(false);
  309 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.subgrupos.ondeRaiz);
  310 + i3GEOadmin.subgrupos.lista();
  311 + }
  312 + )
  313 + .fail(
  314 + function(data){
  315 + i3GEOadmin.core.modalAguarde(false);
  316 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  317 + }
  318 + );
  319 + },
  320 + adicionaNoDialogo: function(){
  321 + i3GEOadmin.core.abreModalGeral(i3GEOadmin.subgrupos.formAdicionaNo);
  322 + $("#body-formNo-modal").collapse('show');
  323 + },
  324 +// os parametros sao obtidos do formulario aberto do modal
  325 + adicionaNo: function(){
  326 + var parametros = $("#formNo-modal form").serialize();
  327 + i3GEOadmin.core.fechaModalGeral();
  328 + i3GEOadmin.core.modalAguarde(true);
  329 + $.post(
  330 + "exec.php?funcao=adicionar",
  331 + parametros + "&id_menu=" + i3GEOadmin.subgrupos.id_menu + "&id_n1=" + i3GEOadmin.subgrupos.id_n1
  332 + )
  333 + .done(
  334 + function(data, status){
  335 + i3GEOadmin.core.modalAguarde(false);
  336 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.subgrupos.ondeNos);
  337 + i3GEOadmin.subgrupos.lista();
  338 + }
  339 + )
  340 + .fail(
  341 + function(data){
  342 + i3GEOadmin.core.modalAguarde(false);
  343 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  344 + }
  345 + );
  346 + },
  347 + excluirNoDialogo: function(id){
  348 + var hash = {
  349 + "mensagem": i3GEOadmin.subgrupos.dicionario.confirma,
  350 + "onBotao1": "i3GEOadmin.subgrupos.excluirNo('"+id+"')",
  351 + "botao1": i3GEOadmin.subgrupos.dicionario.sim,
  352 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  353 + "botao2": i3GEOadmin.subgrupos.dicionario.nao
  354 + };
  355 + i3GEOadmin.core.abreModalConfirma(hash);
  356 + },
  357 + excluirNo: function(id){
  358 + i3GEOadmin.core.modalAguarde(true);
  359 + $.post(
  360 + "exec.php?funcao=excluir",
  361 + "id_n2=" + id
  362 + )
  363 + .done(
  364 + function(data, status){
  365 + i3GEOadmin.core.modalAguarde(false);
  366 + var json = jQuery.parseJSON(data)*1;
  367 + $("#formNo-" + json).remove();
  368 + }
  369 + )
  370 + .fail(
  371 + function(data){
  372 + i3GEOadmin.core.modalAguarde(false);
  373 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  374 + }
  375 + );
  376 + },
  377 + salvarNoDialogo: function(id){
  378 + var hash = {
  379 + "mensagem": i3GEOadmin.subgrupos.dicionario.confirma,
  380 + "onBotao1": "i3GEOadmin.subgrupos.salvarNo('"+id+"')",
  381 + "botao1": i3GEOadmin.subgrupos.dicionario.sim,
  382 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  383 + "botao2": i3GEOadmin.subgrupos.dicionario.nao
  384 + };
  385 + i3GEOadmin.core.abreModalConfirma(hash);
  386 + },
  387 + salvarNo: function(id){
  388 + var parametros = $("#formNo-" + id + " form").serialize();
  389 + i3GEOadmin.core.fechaModalGeral();
  390 + i3GEOadmin.core.modalAguarde(true);
  391 + $.post(
  392 + "exec.php?funcao=alterar",
  393 + "id_n2="+ id + "&"+parametros + "&id_menu=" + i3GEOadmin.subgrupos.id_menu
  394 + )
  395 + .done(
  396 + function(data, status){
  397 + i3GEOadmin.core.modalAguarde(false);
  398 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.subgrupos.ondeNos);
  399 + i3GEOadmin.subgrupos.lista();
  400 + }
  401 + )
  402 + .fail(
  403 + function(data){
  404 + i3GEOadmin.core.modalAguarde(false);
  405 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  406 + }
  407 + );
  408 + },
  409 + editarSubsubgrupos: function(id,titulo){
  410 + //muda a url para que o usuario possa voltar pelo botao do navegador
  411 + var u = window.location.origin + window.location.pathname + "?nome_menu=" + i3GEOadmin.subgrupos.nome_menu + "id_menu=" + i3GEOadmin.subgrupos.id_menu + "&id_filtro=" + id_n1;
  412 + window.history.replaceState(null,null,u);
  413 + //abre a pagina de edicao
  414 + window.location.href = "subsubgrupos/index.php?id_n2=" + id + "&nome_grupo=" + titulo + "&id_menu=" + i3GEOadmin.subgrupos.id_menu + "&nome_menu=" + i3GEOadmin.subgrupos.nome_menu;
  415 + },
  416 + addInput: function(id,valor){
  417 + var i = $("#"+id);
  418 + $(i.val(i.val() + ' ' + valor));
  419 + }
  420 +};
0 421 \ No newline at end of file
... ...
admin1/catalogo/menus/grupos/subgrupos/index.php 0 → 100755
... ... @@ -0,0 +1,265 @@
  1 +<?php
  2 +define ( ONDEI3GEO, "../../../../.." );
  3 +include (dirname ( __FILE__ ) . "/../../../../../ms_configura.php");
  4 +error_reporting ( 0 );
  5 +include "../../../../head.php";
  6 +$id_n1 = filter_var ( $_GET ["id_n1"], FILTER_SANITIZE_NUMBER_INT );
  7 +$nome_grupo = filter_var ( $_GET ["nome_grupo"], FILTER_SANITIZE_STRING );
  8 +$id_menu = filter_var ( $_GET ["id_menu"], FILTER_SANITIZE_NUMBER_INT );
  9 +$nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING );
  10 +?>
  11 +<div class="container-fluid">
  12 + <div class="row">
  13 + <ol class="breadcrumb">
  14 + <li><a href="../../../../init/index.php">i3Geo</a></li>
  15 + <li><a href="../../../../index.php">Admin</a></li>
  16 + <li>Cat&aacute;logo</li>
  17 + <li><a href="../../index.php">menus</a></li>
  18 + <li><a href="../../index.php?id_filtro=<?php echo $id_menu; ?>">menu - <?php echo $nome_menu; ?></a></li>
  19 + <li><a href="../index.php?id_menu=<?php echo $id_menu; ?>&nome_menu=<?php echo $nome_menu; ?>">grupos</a></li>
  20 + <li><a href="../index.php?id_filtro=<?php echo $id_n1; ?>&id_menu=<?php echo $id_menu; ?>&nome_menu=<?php echo $nome_menu; ?>">grupo - <?php echo $nome_grupo; ?></a></li>
  21 + <li class="active">subgrupos</li>
  22 + </ol>
  23 + </div>
  24 +</div>
  25 +<div class="container" id="titulo">
  26 + <div class="row center-block">
  27 + <div class="col-md-12">
  28 + <div class="well hidden">
  29 + <button data-toggle="modal" data-target="#ajudaPrincipal"
  30 + class="btn btn-primary btn-fab btn-fab-mini pull-right">
  31 + <i class="material-icons">help</i>
  32 + </button>
  33 + <h3>{{{txtTitulo}}}</h3>
  34 + <h3><?php echo $nome_grupo; ?></h3>
  35 + <h4>{{{txtDesc}}}</h4>
  36 + <!-- aqui entra o filtro -->
  37 + <div class="form-group">
  38 + <label class="control-label">{{{filtro}}}</label> <select
  39 + onchange="i3GEOadmin.core.filtra(this)" id="filtro" class="form-control input-lg">
  40 + </select>
  41 + </div>
  42 + <div id="ajudaPrincipal" class="modal fade" tabindex="-1">
  43 + <div class="modal-dialog">
  44 + <div class="modal-content">
  45 + <div class="modal-body">
  46 + <p>{{{txtAjuda}}}</p>
  47 + </div>
  48 + </div>
  49 + </div>
  50 + </div>
  51 + </div>
  52 + <div class="well hidden">
  53 + <!-- painel para mostrar os temas na raiz -->
  54 + <h3 class="panel-heading">
  55 + <a class="collapsed in" role="button" data-toggle="collapse" href="#raiz" aria-expanded="false"
  56 + aria-controls="#raiz">{{{temasRaizSubgrupo}}}</a>
  57 + </h3>
  58 + <div class="clearfix"></div>
  59 + <div class="row pull-right">
  60 + <a onclick="i3GEOadmin.subgrupos.adicionaTemaDialogo();" href="javascript:void(0)"
  61 + class="btn btn-primary" role="button">{{{adicionarTema}}}</a>
  62 + </div>
  63 + <div class="clearfix"></div>
  64 + <div id="raiz" class="panel-body panel-collapse collapse"></div>
  65 +
  66 + </div>
  67 + <!-- nos -->
  68 + <div class="well hidden">
  69 + <h3 class="panel-heading">
  70 + <a class="in" role="button" data-toggle="collapse" href="#corpo" aria-expanded="false"
  71 + aria-controls="#raiz">{{{subgrupos}}}</a>
  72 + </h3>
  73 + <div class="clearfix"></div>
  74 + <div class="row pull-right">
  75 + <a onclick="i3GEOadmin.subgrupos.adicionaNoDialogo();" href="javascript:void(0)"
  76 + class="btn btn-primary" role="button">{{{adicionarSubgrupo}}}</a>
  77 + </div>
  78 + <div class="clearfix"></div>
  79 + <div id="corpo" class="panel-body panel-collapse in"></div>
  80 +
  81 + </div>
  82 + </div>
  83 + </div>
  84 +</div>
  85 +<script id="templateFiltro" type="x-tmpl-mustache">
  86 +<option value="formNo-{{id_n2}}">{{{nome_subgrupo}}}</option>
  87 +</script>
  88 +<script id="templateRaiz" type="x-tmpl-mustache">
  89 +<div class="panel panel-default" id="formRaiz-{{id_raiz}}">
  90 + <div class="panel-heading" role="tab">
  91 + <h3 class="panel-title" {{escondido}}>
  92 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_raiz}}')" class="btn btn-danger btn-fab btn-fab-mini" role="button">
  93 + <i class="material-icons">delete_forever</i>
  94 + </a>
  95 + &nbsp;
  96 + <a class="collapsed in" role="button" data-toggle="collapse" href="#body-formRaiz-{{id_raiz}}"
  97 + aria-expanded="false" aria-controls="#body-formRaiz-{{id_raiz}}"> {{{nome_tema}}} </a>
  98 + </h3>
  99 + </div>
  100 + <div class="panel-body panel-collapse collapse" id="body-formRaiz-{{id_raiz}}">
  101 + <form style="" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" action="" >
  102 + <div class="row">
  103 + <div class="col-md-12">
  104 + <div class="form-group form-group-lg">
  105 + <label class="col-md-4 control-label" for="id_tema">{{{tema}}}</label>
  106 + <div class="col-md-8">
  107 + <select class="form-control" name="id_tema">
  108 + {{{opcoesTema}}}
  109 + </select>
  110 + </div>
  111 + </div>
  112 + <div class="form-group form-group-lg">
  113 + <label class="col-md-4 control-label" for="ordem">{{{ordemTxt}}}</label>
  114 + <div class="col-md-8">
  115 + <input type="text" value="{{{ordem}}}" class="form-control" name="ordem">
  116 + </div>
  117 + </div>
  118 + <div class="form-group form-group-lg">
  119 + <label class="col-md-4 control-label" for="perfil">{{{perfis}}}</label>
  120 + <div class="col-md-4">
  121 + <input id="perfil_tema-{{id_raiz}}" type="text" value="{{{perfil}}}" class="form-control" name="perfil">
  122 + </div>
  123 + <div class="col-md-4">
  124 + <select class="form-control" onchange="i3GEOadmin.subgrupos.addInput('perfil_tema-{{id_raiz}}',this.value)">
  125 + {{{opcoesPerfil}}}
  126 + </select>
  127 + </div>
  128 + </div>
  129 + </div>
  130 + </div>
  131 + </form>
  132 + <div class="pull-right">
  133 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_raiz}}')" class="btn btn-danger" role="button">{{excluir}}</a>
  134 + <a href="javascript:void(0)" onclick="{{onSalvar}}('{{id_raiz}}')" class="btn btn-primary" role="button">{{salvar}}</a>
  135 + </div>
  136 + </div>
  137 +</div>
  138 +</script>
  139 +<script id="templateNos" type="x-tmpl-mustache">
  140 +<div class="panel panel-default" id="formNo-{{id_n2}}">
  141 + <div class="panel-heading" role="tab">
  142 + <h3 class="panel-title" {{escondido}}>
  143 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_n2}}')" class="btn btn-danger btn-fab btn-fab-mini" role="button">
  144 + <i class="material-icons">delete_forever</i>
  145 + </a>
  146 + &nbsp;
  147 + <a class="collapsed in" role="button" data-toggle="collapse" href="#body-formNo-{{id_n2}}"
  148 + aria-expanded="false" aria-controls="#body-formNo-{{id_n2}}"> {{{nome_subgrupo}}} </a>
  149 + </h3>
  150 + </div>
  151 + <div class="panel-body panel-collapse collapse" id="body-formNo-{{id_n2}}">
  152 + <form style="" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" action="" >
  153 + <div class="row">
  154 + <div class="col-md-12">
  155 + <div class="form-group form-group-lg">
  156 + <label class="col-md-4 control-label" for="id_subgrupo">{{{nomeTxt}}}</label>
  157 + <div class="col-md-8">
  158 + <select class="form-control" name="id_subgrupo">
  159 + {{{opcoesNo}}}
  160 + </select>
  161 + </div>
  162 + </div>
  163 + <div class="form-group form-group-lg">
  164 + <label class="col-md-4 control-label" for="ordem">{{{ordemTxt}}}</label>
  165 + <div class="col-md-8">
  166 + <input type="text" value="{{{ordem}}}" class="form-control" name="ordem">
  167 + </div>
  168 + </div>
  169 + <div class="form-group form-group-lg">
  170 + <label class="col-md-4 control-label" for="publicado">{{{publicadoTxt}}}</label>
  171 + <div class="col-md-8">
  172 + <select name="publicado" class="form-control">
  173 + {{{opcoesPublicado}}}
  174 + </select>
  175 + </div>
  176 + </div>
  177 + <div class="form-group form-group-lg">
  178 + <label class="col-md-4 control-label" for="perfil">{{{perfis}}}</label>
  179 + <div class="col-md-4">
  180 + <input id="perfil_no-{{id_n2}}" type="text" value="{{{perfil}}}" class="form-control" name="perfil">
  181 + </div>
  182 + <div class="col-md-4">
  183 + <select class="form-control" onchange="i3GEOadmin.subgrupos.addInput('perfil_no-{{id_n2}}',this.value)">
  184 + {{{opcoesPerfil}}}
  185 + </select>
  186 + </div>
  187 + </div>
  188 + </div>
  189 + </div>
  190 + </form>
  191 + <div class="pull-right">
  192 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_n2}}')" class="btn btn-danger" role="button">{{excluir}}</a>
  193 + <a href="javascript:void(0)" onclick="{{onSalvar}}('{{id_n2}}')" class="btn btn-primary" role="button">{{salvar}}</a>
  194 + </div>
  195 + </div>
  196 + <div class="panel-footer {{escondido}}" style="padding-top: 0px; padding-bottom: 0px;">
  197 + <div class="pull-right">
  198 + <button onclick="i3GEOadmin.subgrupos.editarSubsubgrupos('{{id_n2}}','{{{nome_subgrupo}}}')" class="btn btn-primary btn-xs" style="margin-top: 2px; margin-bottom: 2px;">
  199 + <i class="material-icons">folder_open</i> {{{editarSub}}}
  200 + </button>
  201 + </div>
  202 + <div class="clearfix"></div>
  203 + </div>
  204 +</div>
  205 +</script>
  206 +<script id="templateOpcoesPublicado" type="x-tmpl-mustache">
  207 + <option value="">---</option>
  208 + <option {{SIM-sel}} value="SIM">{{{sim}}}</option>
  209 + <option {{NAO-sel}} value="NAO">{{{nao}}}</option>
  210 +</script>
  211 +<script id="templateOpcoesNo" type="x-tmpl-mustache">
  212 + <option {{{selected}}} value="{{{id_subgrupo}}}">{{{nome_subgrupo}}}</option>
  213 +</script>
  214 +<script id="templateOpcoesTema" type="x-tmpl-mustache">
  215 + <option {{{selected}}} value="{{{id_tema}}}">{{{nome_tema}}} - {{{codigo_tema}}}</option>
  216 +</script>
  217 +<script id="templateOpcoesPerfil" type="x-tmpl-mustache">
  218 + <option value="{{{perfil}}}">{{{perfil}}}</option>
  219 +</script>
  220 +<script type="text/javascript" src="index.js"></script>
  221 +<script type="text/javascript" src="../../../../dicionario/subgrupos.js"></script>
  222 +<script>
  223 + $(document).ready(function(){
  224 + //vem de admin1/index.js
  225 + iniciaMenuPrincipal();
  226 + $('ul.dropdown-grupo [data-toggle=dropdown]').on('click', function(event) {
  227 + event.preventDefault();
  228 + event.stopPropagation();
  229 + $(this).parent().siblings().removeClass('open');
  230 + $(this).parent().toggleClass('open');
  231 + });
  232 + //traducao
  233 + var t = $("#titulo");
  234 + //complementa dicionario
  235 + i3GEOadmin.subgrupos.dicionario = $.extend(
  236 + {},
  237 + i3GEOadmin.subgrupos.dicionario,
  238 + i3GEOadmin.core.dicionario
  239 + );
  240 +
  241 + i3GEOadmin.core.dicionario = null;
  242 +
  243 + i3GEOadmin.subgrupos.dicionario = i3GEO.idioma.objetoIdioma(i3GEOadmin.subgrupos.dicionario);
  244 +
  245 + t.html(
  246 + Mustache.to_html(
  247 + t.html(),
  248 + i3GEOadmin.subgrupos.dicionario
  249 + )
  250 + );
  251 + $.material.init();
  252 + i3GEOadmin.subgrupos.id_n1 = <?php echo $id_n1; ?>;
  253 + i3GEOadmin.subgrupos.nome_grupo = "<?php echo $nome_grupo; ?>";
  254 + i3GEOadmin.subgrupos.id_menu = <?php echo $id_menu; ?>;
  255 + i3GEOadmin.subgrupos.nome_menu = "<?php echo $nome_menu; ?>";
  256 +
  257 + var inicia = function() {
  258 + $(".hidden").removeClass('hidden');
  259 + i3GEOadmin.subgrupos.init($("#corpo"),$("#raiz"));
  260 + };
  261 + i3GEO.login.verificaOperacao("admin/html/arvore",i3GEO.configura.locaplic, inicia, "sessao");
  262 + });
  263 +</script>
  264 +</body>
  265 +</html>
... ...
admin1/catalogo/menus/index.php
... ... @@ -108,9 +108,8 @@ include &quot;../../head.php&quot;;
108 108 </select>
109 109 </div>
110 110 </div>
111   -
112 111 <div class="form-group form-group-lg">
113   - <label class="col-md-3 control-label" for="publicado_menu">{{{publicado}}}</label>
  112 + <label class="col-md-3 control-label" for="publicado_menu">{{{publicadoTxt}}}</label>
114 113 <div class="col-md-9">
115 114 <select name="publicado_menu" class="form-control"> {{{opcoesPublicado}}}
116 115 </select>
... ... @@ -132,14 +131,14 @@ include &quot;../../head.php&quot;;
132 131 class="btn btn-primary" role="button">{{salvar}}</a>
133 132 </div>
134 133 </div>
135   -<div class="panel-footer" style="padding-top: 0px; padding-bottom: 0px;">
136   - <div class="pull-right">
137   - <button onclick="i3GEOadmin.menus.editarGrupos('{{id_menu}}','{{{nome_menu}}}')" class="btn btn-primary btn-xs" style="margin-top: 2px; margin-bottom: 2px;">
138   - <i class="material-icons">folder_open</i> {{{grupos}}}
139   - </button>
  134 + <div class="panel-footer" style="padding-top: 0px; padding-bottom: 0px;">
  135 + <div class="pull-right">
  136 + <button onclick="i3GEOadmin.menus.editarGrupos('{{id_menu}}','{{{nome_menu}}}')" class="btn btn-primary btn-xs" style="margin-top: 2px; margin-bottom: 2px;">
  137 + <i class="material-icons">folder_open</i> {{{grupos}}}
  138 + </button>
  139 + </div>
  140 + <div class="clearfix"></div>
140 141 </div>
141   - <div class="clearfix"></div>
142   -</div>
143 142 </div>
144 143 </script>
145 144 <script id="templateOpcoesPerfil" type="x-tmpl-mustache">
... ... @@ -170,18 +169,11 @@ include &quot;../../head.php&quot;;
170 169 //traducao
171 170 var t = $("#titulo");
172 171 //complementa dicionario
173   - i3GEOadmin.menus.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
174   - i3GEOadmin.menus.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
175   - i3GEOadmin.menus.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
176   - i3GEOadmin.menus.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
177   - i3GEOadmin.menus.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
178   - i3GEOadmin.menus.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
179   - i3GEOadmin.menus.dicionario.nome = i3GEOadmin.core.dicionario.nome;
180   - i3GEOadmin.menus.dicionario.tipo = i3GEOadmin.core.dicionario.tipo;
181   - i3GEOadmin.menus.dicionario.descricao = i3GEOadmin.core.dicionario.descricao;
182   - i3GEOadmin.menus.dicionario.sim = i3GEOadmin.core.dicionario.sim;
183   - i3GEOadmin.menus.dicionario.nao = i3GEOadmin.core.dicionario.nao;
184   - i3GEOadmin.menus.dicionario.grupos = i3GEOadmin.core.dicionario.grupos;
  172 + i3GEOadmin.menus.dicionario = $.extend(
  173 + {},
  174 + i3GEOadmin.menus.dicionario,
  175 + i3GEOadmin.core.dicionario
  176 + );
185 177  
186 178 i3GEOadmin.core.dicionario = null;
187 179  
... ...
admin1/dicionario/core.js
... ... @@ -245,7 +245,7 @@ i3GEOadmin.core.dicionario = {
245 245 en : "",
246 246 es : ""
247 247 } ],
248   - 'descricao' : [ {
  248 + 'descricaoTxt' : [ {
249 249 pt : "Descri&ccedil;&atilde;o",
250 250 en : "",
251 251 es : ""
... ... @@ -325,6 +325,11 @@ i3GEOadmin.core.dicionario = {
325 325 en : "",
326 326 es : ""
327 327 } ],
  328 + 'salvar' : [ {
  329 + pt : "Salvar",
  330 + en : "",
  331 + es : ""
  332 + } ],
328 333 'nome2' : [ {
329 334 pt : "Nome:",
330 335 en : "",
... ... @@ -399,5 +404,15 @@ i3GEOadmin.core.dicionario = {
399 404 pt : "Ordem de apresenta&ccedil;&atilde;o",
400 405 en : "",
401 406 es : ""
  407 + } ],
  408 + 'publicadoTxt' : [ {
  409 + pt : "Publicado para todos verem?",
  410 + en : "",
  411 + es : ""
  412 + } ],
  413 + 'nomeTxt' : [ {
  414 + pt : "Nome",
  415 + en : "",
  416 + es : ""
402 417 } ]
403 418 };
... ...
admin1/dicionario/grupos.js
... ... @@ -47,7 +47,17 @@ i3GEOadmin.grupos.dicionario = {
47 47 es : ""
48 48 } ],
49 49 'perfis' : [ {
50   - pt : "Perfis que podem ver a camada. Separe por espa&ccedil;os e escolha da lista ao lado.",
  50 + pt : "Perfis que podem ver. Separe por espa&ccedil;os e escolha da lista ao lado.",
  51 + en : "",
  52 + es : ""
  53 + } ],
  54 + 'editarSubgrupos' : [ {
  55 + pt : "Editar subgrupos",
  56 + en : "",
  57 + es : ""
  58 + } ],
  59 + 'txtDesc' : [ {
  60 + pt : "Utilze as op&ccedil;&otilde;es abaixo para criar ou editar temas que ficar&atilde;o na raiz do menu e tamb&eacute;m para editar os subgrupos existentes dentro do grupo atual.",
51 61 en : "",
52 62 es : ""
53 63 } ]
... ...
admin1/dicionario/menus.js
... ... @@ -40,11 +40,6 @@ i3GEOadmin.menus.dicionario = {
40 40 en : "",
41 41 es : ""
42 42 } ],
43   - 'publicado' : [ {
44   - pt : "Publicado para todos verem?",
45   - en : "",
46   - es : ""
47   - } ],
48 43 'perfil' : [ {
49 44 pt : "Perfis",
50 45 en : "",
... ... @@ -106,7 +101,7 @@ i3GEOadmin.menus.dicionario = {
106 101 es : ""
107 102 } ],
108 103 'txtDesc' : [ {
109   - pt : "Utilize o bot&atilde;o 'Grupos' para editar os temas existentes na raiz do menu e os seus grupos.",
  104 + pt : "Utilize o bot&atilde;o 'Grupos' para editar os temas existentes na raiz de um menu e tamb&eacute;m os seus grupos.",
110 105 en : "",
111 106 es : ""
112 107 } ],
... ...
admin1/dicionario/subgrupos.js
1 1 //+$trad(1,i3GEOadmin.principal.dicionario)+
2   -i3GEOadmin.listasubgrupos = {};
3   -i3GEOadmin.listasubgrupos.dicionario = {
  2 +i3GEOadmin.subgrupos.dicionario = {
4 3 'msgBuscaSubgrupo' : [ {
5 4 pt : "buscando subgrupos...",
6 5 en : "",
... ... @@ -36,18 +35,28 @@ i3GEOadmin.listasubgrupos.dicionario = {
36 35 en : "",
37 36 es : ""
38 37 } ],
39   - '' : [ {
40   - pt : "",
  38 + 'editarSub' : [ {
  39 + pt : "Editar temas",
41 40 en : "",
42 41 es : ""
43 42 } ],
44   - '' : [ {
45   - pt : "",
  43 + 'txtDesc' : [ {
  44 + pt : "Utilze as op&ccedil;&otilde;es abaixo para criar ou editar temas que ficar&atilde;o na raiz do grupo e tamb&eacute;m para editar os temas existentes dentro do subgrupo atual.",
46 45 en : "",
47 46 es : ""
48 47 } ],
49   - '' : [ {
50   - pt : "",
  48 + 'temasRaizSubgrupo' : [ {
  49 + pt : "Temas na raiz do grupo",
  50 + en : "",
  51 + es : ""
  52 + } ],
  53 + 'adicionarSubgrupo' : [ {
  54 + pt : "Adicionar subgrupo",
  55 + en : "",
  56 + es : ""
  57 + } ],
  58 + 'perfis' : [ {
  59 + pt : "Perfis que podem ver. Separe por espa&ccedil;os e escolha da lista ao lado.",
51 60 en : "",
52 61 es : ""
53 62 } ],
... ...
admin1/usuarios/cadastro/index.php
... ... @@ -155,14 +155,11 @@ include &quot;../../head.php&quot;;
155 155 //traducao
156 156 var t = $("#titulo");
157 157 //complementa dicionario
158   - i3GEOadmin.usuarios.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
159   - i3GEOadmin.usuarios.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
160   - i3GEOadmin.usuarios.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
161   - i3GEOadmin.usuarios.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
162   - i3GEOadmin.usuarios.dicionario.sim = i3GEOadmin.core.dicionario.sim;
163   - i3GEOadmin.usuarios.dicionario.nao = i3GEOadmin.core.dicionario.nao;
164   - i3GEOadmin.usuarios.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
165   - i3GEOadmin.usuarios.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
  158 + i3GEOadmin.usuarios.dicionario = $.extend(
  159 + {},
  160 + i3GEOadmin.usuarios.dicionario,
  161 + i3GEOadmin.core.dicionario
  162 + );
166 163  
167 164 i3GEOadmin.core.dicionario = null;
168 165  
... ...
admin1/usuarios/grupos/index.php
... ... @@ -81,13 +81,13 @@ include &quot;../../head.php&quot;;
81 81 <div class="col-md-8">
82 82 <h4>{{{grupo}}}</h4>
83 83 <div class="form-group form-group-lg">
84   - <label class="col-md-2 control-label" for="nome" >{{{labelNome}}}</label>
  84 + <label class="col-md-2 control-label" for="nome" >{{{nomeTxt}}}</label>
85 85 <div class="col-md-10">
86 86 <input type="text" value="{{{nome}}}" class="form-control" name="nome" required>
87 87 </div>
88 88 </div>
89 89 <div class="form-group form-group-lg">
90   - <label class="col-md-2 control-label" for="login">{{{labelDescricao}}}</label>
  90 + <label class="col-md-2 control-label" for="login">{{{descricaoTxt}}}</label>
91 91 <div class="col-md-10">
92 92 <input type="text" value="{{{descricao}}}" class="form-control" name="descricao">
93 93 </div>
... ... @@ -124,16 +124,11 @@ include &quot;../../head.php&quot;;
124 124 //traducao
125 125 var t = $("#titulo");
126 126 //complementa dicionario
127   - i3GEOadmin.gruposusuarios.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
128   - i3GEOadmin.gruposusuarios.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
129   - i3GEOadmin.gruposusuarios.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
130   - i3GEOadmin.gruposusuarios.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
131   - i3GEOadmin.gruposusuarios.dicionario.sim = i3GEOadmin.core.dicionario.sim;
132   - i3GEOadmin.gruposusuarios.dicionario.nao = i3GEOadmin.core.dicionario.nao;
133   - i3GEOadmin.gruposusuarios.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
134   - i3GEOadmin.gruposusuarios.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
135   - i3GEOadmin.gruposusuarios.dicionario.labelNome = i3GEOadmin.core.dicionario.nome;
136   - i3GEOadmin.gruposusuarios.dicionario.labelDescricao = i3GEOadmin.core.dicionario.descricao;
  127 + i3GEOadmin.gruposusuarios.dicionario = $.extend(
  128 + {},
  129 + i3GEOadmin.gruposusuarios.dicionario,
  130 + i3GEOadmin.core.dicionario
  131 + );
137 132  
138 133 i3GEOadmin.core.dicionario = null;
139 134  
... ...
admin1/usuarios/operacoes/index.php
... ... @@ -123,14 +123,11 @@ include &quot;../../head.php&quot;;
123 123 //
124 124 //complementa dicionario
125 125 //
126   - i3GEOadmin.operacoes.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
127   - i3GEOadmin.operacoes.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
128   - i3GEOadmin.operacoes.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
129   - i3GEOadmin.operacoes.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
130   - i3GEOadmin.operacoes.dicionario.sim = i3GEOadmin.core.dicionario.sim;
131   - i3GEOadmin.operacoes.dicionario.nao = i3GEOadmin.core.dicionario.nao;
132   - i3GEOadmin.operacoes.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
133   - i3GEOadmin.operacoes.dicionario.cancela = i3GEOadmin.core.dicionario.cancela;
  126 + i3GEOadmin.operacoes.dicionario = $.extend(
  127 + {},
  128 + i3GEOadmin.operacoes.dicionario,
  129 + i3GEOadmin.core.dicionario
  130 + );
134 131  
135 132 i3GEOadmin.core.dicionario = null;
136 133  
... ...