Commit 25e3efd268799103237a4d9d65ca04e6f157f00b

Authored by Edmar Moretti
1 parent f65d0d3f

Inclusão de namespaces nos códigos do sistema de administração novo

admin/admin.db
No preview for this file type
admin/php/admin.php
@@ -321,6 +321,9 @@ function i3GeoAdminInsertUnico($pdo,$tabela,$data,$colTemp,$colId){ @@ -321,6 +321,9 @@ function i3GeoAdminInsertUnico($pdo,$tabela,$data,$colTemp,$colId){
321 return "UPDATE ID "; 321 return "UPDATE ID ";
322 } 322 }
323 } 323 }
  324 +//
  325 +//o array $ordem contem a lista de ids na ordem desejada
  326 +//
324 function i3GeoAdminOrdena($pdo,$ordem,$tabela,$colunaid){ 327 function i3GeoAdminOrdena($pdo,$ordem,$tabela,$colunaid){
325 global $esquemaadmin; 328 global $esquemaadmin;
326 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 329 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
admin1/catalogo/menus/grupos/index.js
@@ -238,8 +238,7 @@ i3GEOadmin.grupos = { @@ -238,8 +238,7 @@ i3GEOadmin.grupos = {
238 .done( 238 .done(
239 function(data, status){ 239 function(data, status){
240 i3GEOadmin.core.modalAguarde(false); 240 i3GEOadmin.core.modalAguarde(false);
241 - var json = jQuery.parseJSON(data)*1;  
242 - $("#formRaiz-" + json).remove(); 241 + i3GEOadmin.grupos.lista();
243 } 242 }
244 ) 243 )
245 .fail( 244 .fail(
@@ -463,8 +462,7 @@ i3GEOadmin.grupos = { @@ -463,8 +462,7 @@ i3GEOadmin.grupos = {
463 .done( 462 .done(
464 function(data, status){ 463 function(data, status){
465 i3GEOadmin.core.modalAguarde(false); 464 i3GEOadmin.core.modalAguarde(false);
466 - var json = jQuery.parseJSON(data)*1;  
467 - $("#formNo-" + json).remove(); 465 + i3GEOadmin.grupos.lista();
468 } 466 }
469 ) 467 )
470 .fail( 468 .fail(
admin1/catalogo/menus/grupos/subgrupos/exec.php
@@ -37,7 +37,7 @@ if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { @@ -37,7 +37,7 @@ if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
37 } 37 }
38 38
39 include (dirname ( __FILE__ ) . "/../../../../../admin/php/conexao.php"); 39 include (dirname ( __FILE__ ) . "/../../../../../admin/php/conexao.php");
40 - 40 +include ("funcoes.php");
41 $id_n1 = $_POST["id_n1"]; 41 $id_n1 = $_POST["id_n1"];
42 $id_n2 = $_POST["id_n2"]; 42 $id_n2 = $_POST["id_n2"];
43 $id_menu = $_POST["id_menu"]; 43 $id_menu = $_POST["id_menu"];
@@ -48,138 +48,75 @@ $funcao = strtoupper ( $funcao ); @@ -48,138 +48,75 @@ $funcao = strtoupper ( $funcao );
48 switch ($funcao) { 48 switch ($funcao) {
49 case "ORDENA" : 49 case "ORDENA" :
50 $ordem = explode(" ",$_POST["novaordem"]); 50 $ordem = explode(" ",$_POST["novaordem"]);
51 - //verifica se existe a mesma quantidade de registros no banco e na lista de ids  
52 - $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n2 WHERE id_n1 = $id_n1", $dbh, false );  
53 - if(count($dados) != count($ordem)){  
54 - header ( "HTTP/1.1 500 erro numero de registros nao batem" );  
55 - exit ();  
56 - }  
57 - //verifica se os ids existem no mesmo nivel  
58 - $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n2 WHERE id_n1 = $id_n1 AND id_n2 IN (" . implode(",",$ordem). ")", $dbh, false );  
59 - if(count($dados) != count($ordem)){  
60 - header ( "HTTP/1.1 500 erro ids nao batem" );  
61 - exit ();  
62 - }  
63 -  
64 - $retorna = i3GeoAdminOrdena($dbhw,$ordem,"i3geoadmin_n2","id_n2"); 51 + $dados = \admin\catalogo\menus\grupos\subgrupos\ordenar($id_n1, $ordem, $dbhw);
65 $dbhw = null; 52 $dbhw = null;
66 $dbh = null; 53 $dbh = null;
67 - if ($retorna === false) { 54 + if ($dados === false) {
68 header ( "HTTP/1.1 500 erro ao ordenar" ); 55 header ( "HTTP/1.1 500 erro ao ordenar" );
69 - exit ();  
70 } 56 }
71 - retornaJSON ( $retorna );  
72 - exit(); 57 + retornaJSON ( $dados );
73 break; 58 break;
74 case "ADICIONAR" : 59 case "ADICIONAR" :
75 - $novo = adicionar( $id_subgrupo, $id_n1, $_POST["publicado"], $_POST["n2_perfil"], $_POST["ordem"], $dbhw ); 60 + $novo = \admin\catalogo\menus\grupos\subgrupos\adicionar( $id_subgrupo, $id_n1, $_POST["publicado"], $_POST["n2_perfil"], $_POST["ordem"], $dbhw );
  61 + $dbhw = null;
  62 + $dbh = null;
76 if ($novo === false) { 63 if ($novo === false) {
77 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 64 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
78 - exit ();  
79 } 65 }
80 - exit ();  
81 break; 66 break;
82 case "ALTERAR" : 67 case "ALTERAR" :
83 - $novo = alterar ( $id_n2, $id_subgrupo, $id_menu, $publicado, $_POST["n2_perfil"], $_POST["ordem"], $dbhw ); 68 + $novo = \admin\catalogo\menus\grupos\subgrupos\alterar ( $id_n2, $id_subgrupo, $id_menu, $publicado, $_POST["n2_perfil"], $_POST["ordem"], $dbhw );
  69 + $dbhw = null;
  70 + $dbh = null;
84 if ($novo === false) { 71 if ($novo === false) {
85 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 72 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
86 - exit ();  
87 } 73 }
88 - $dados = pegaDados ( "SELECT id_n2 from ".$esquemaadmin."i3geoadmin_n2 WHERE id_n2 = $id_n2", $dbh, false );  
89 - 74 + break;
  75 + case "LISTAUNICO" :
  76 + $dados = \admin\catalogo\menus\grupos\subgrupos\listar ($dbh,"",$id_n2);
  77 + $dbhw = null;
  78 + $dbh = null;
90 if ($dados === false) { 79 if ($dados === false) {
91 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 80 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
92 - exit (); 81 + } else {
  82 + retornaJSON($dados);
93 } 83 }
94 - $dbhw = null;  
95 - $dbh = null;  
96 - retornaJSON ( $dados );  
97 - exit ();  
98 break; 84 break;
99 - case "LISTAUNICO" :  
100 - $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where id_n2 = $id_n2");  
101 - if ($dados === false) { 85 + case "LISTA" :
  86 + $subgrupos = \admin\catalogo\menus\grupos\subgrupos\listar ($dbh,$id_n1);
  87 + if ($subgrupos === false) {
102 $dbhw = null; 88 $dbhw = null;
103 $dbh = null; 89 $dbh = null;
104 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 90 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
105 - exit (); 91 + } else {
  92 + $raiz = \admin\catalogo\menus\grupos\subgrupos\raiz\listar ($dbh,"",$id_n1);
  93 + include ("../../../../cadastros/perfis/funcoes.php");
  94 + $perfis = \admin\cadastros\perfis\listar( $dbh );
  95 + include ("temas/funcoes.php");
  96 + $temas = \admin\catalogo\menus\grupos\subgrupos\temas\todosTemas($dbh);
  97 + include ("listadesubgrupos/funcoes.php");
  98 + $tiposSubGrupos = \admin\catalogo\menus\grupos\subgrupos\listadesubgrupos\listar ($dbh);
  99 + $dbhw = null;
  100 + $dbh = null;
  101 + retornaJSON(array(
  102 + "raiz"=>$raiz,
  103 + "subgrupos"=>$subgrupos,
  104 + "perfis"=>$perfis,
  105 + "temas"=>$temas,
  106 + "tiposSubGrupos"=>$tiposSubGrupos
  107 + ));
106 } 108 }
107 - $dbhw = null;  
108 - $dbh = null;  
109 - retornaJSON($dados[0]);  
110 - break;  
111 -  
112 - case "LISTA" :  
113 - $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by lower(perfil)", $dbh, false );  
114 - $dbhw = null;  
115 - $dbh = null;  
116 - include($locaplic."/admin/php/classe_arvore.php");  
117 - $arvore = new Arvore($locaplic);  
118 - $subgrupos = $arvore->pegaSubgruposGrupo($id_menu,$id_n1);  
119 - $temas = $arvore->pegaTodosTemas(true);  
120 - $tiposSubGrupos = $arvore->pegaListaDeTiposSubGrupos();  
121 - unset($arvore);  
122 - $subgrupos["perfis"] = $perfis;  
123 - $subgrupos["temas"] = $temas;  
124 - $subgrupos["tiposSubGrupos"] = $tiposSubGrupos;  
125 - retornaJSON($subgrupos);  
126 break; 109 break;
127 case "EXCLUIR" : 110 case "EXCLUIR" :
128 - $r = pegaDados("SELECT id_n3 from ".$esquemaadmin."i3geoadmin_n3 where id_n2 ='$id_n2'");  
129 - if(count($r) > 0){  
130 - header ( "HTTP/1.1 500 erro ao excluir. Exclua os subgrupos primeiro" );  
131 - exit ();  
132 - }  
133 - $retorna = excluir ( $id_n2, $dbhw ); 111 + $retorna = \admin\catalogo\menus\grupos\subgrupos\excluir ( $id_n2, $dbhw );
134 $dbhw = null; 112 $dbhw = null;
135 $dbh = null; 113 $dbh = null;
136 if ($retorna === false) { 114 if ($retorna === false) {
137 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 115 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
138 - exit ();  
139 } 116 }
140 - retornaJSON ( $id_n2 );  
141 - exit ();  
142 break; 117 break;
143 -}  
144 -cpjson ( $retorno );  
145 -  
146 -function adicionar( $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw) {  
147 - global $esquemaadmin;  
148 - try {  
149 - $dataCol = array(  
150 - "id_n1" => $id_n1,  
151 - "publicado" => 'NAO',  
152 - "ordem" => 0,  
153 - "n2_perfil" => ''  
154 - );  
155 - $id_n2 = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_n2",$dataCol,"n2_perfil","id_n2");  
156 - $retorna = alterar ( $id_n2, $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw );  
157 - return $retorna;  
158 - } catch ( PDOException $e ) {  
159 - return false;  
160 - }  
161 -}  
162 -// $papeis deve ser um array  
163 -function alterar($id_n2, $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw) {  
164 - global $esquemaadmin;  
165 - $dataCol = array(  
166 - "publicado" => $publicado,  
167 - "id_subgrupo" => $id_subgrupo,  
168 - "ordem" => $ordem,  
169 - "n2_perfil" => $n2_perfil  
170 - );  
171 - $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_n2",$dataCol,"WHERE id_n2 = $id_n2");  
172 - if ($resultado === false) {  
173 - return false;  
174 - }  
175 - return $id_n2;  
176 -}  
177 -function excluir($id_n2, $dbhw) {  
178 - global $esquemaadmin;  
179 - $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_n2", "id_n2", $id_n2, $dbhw, false );  
180 - if ($resultado === false) {  
181 - return false;  
182 - }  
183 - return $resultado; 118 + default:
  119 + header ( "HTTP/1.1 500 erro funcao nao existe" );
  120 + break;
184 } 121 }
185 ?> 122 ?>
admin1/catalogo/menus/grupos/subgrupos/execraiz.php
@@ -37,6 +37,7 @@ if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { @@ -37,6 +37,7 @@ if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
37 } 37 }
38 38
39 include (dirname ( __FILE__ ) . "/../../../../../admin/php/conexao.php"); 39 include (dirname ( __FILE__ ) . "/../../../../../admin/php/conexao.php");
  40 +include ("funcoes.php");
40 41
41 $id_n1 = $_POST["id_n1"]; 42 $id_n1 = $_POST["id_n1"];
42 $id_menu = $_POST["id_menu"]; 43 $id_menu = $_POST["id_menu"];
@@ -49,128 +50,58 @@ $funcao = strtoupper ( $funcao ); @@ -49,128 +50,58 @@ $funcao = strtoupper ( $funcao );
49 switch ($funcao) { 50 switch ($funcao) {
50 case "ORDENA" : 51 case "ORDENA" :
51 $ordem = explode(" ",$_POST["novaordem"]); 52 $ordem = explode(" ",$_POST["novaordem"]);
52 - //verifica se existe a mesma quantidade de registros no banco e na lista de ids  
53 - $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_raiz WHERE nivel = 1 AND id_nivel = $id_n1", $dbh, false );  
54 - if(count($dados) != count($ordem)){  
55 - header ( "HTTP/1.1 500 erro numero de registros nao batem" );  
56 - exit ();  
57 - }  
58 - //verifica se os ids existem no mesmo nivel  
59 - $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_raiz WHERE nivel = 1 AND id_nivel = $id_n1 AND id_raiz IN (" . implode(",",$ordem). ")", $dbh, false );  
60 - if(count($dados) != count($ordem)){  
61 - header ( "HTTP/1.1 500 erro ids nao batem" );  
62 - exit ();  
63 - }  
64 -  
65 - $retorna = i3GeoAdminOrdena($dbhw,$ordem,"i3geoadmin_raiz","id_raiz"); 53 + $dados = \admin\catalogo\menus\grupos\subgrupos\raiz\ordenar($id_n1, $ordem, $dbhw);
66 $dbhw = null; 54 $dbhw = null;
67 $dbh = null; 55 $dbh = null;
68 - if ($retorna === false) { 56 + if ($dados === false) {
69 header ( "HTTP/1.1 500 erro ao ordenar" ); 57 header ( "HTTP/1.1 500 erro ao ordenar" );
70 - exit ();  
71 } 58 }
72 - retornaJSON ( $retorna );  
73 - exit(); 59 + retornaJSON ( $dados );
74 break; 60 break;
75 case "LISTAUNICO" : 61 case "LISTAUNICO" :
76 - $dados = pegaDados ( "SELECT id_raiz, id_tema, ordem, perfil from ".$esquemaadmin."i3geoadmin_raiz WHERE id_raiz = $id_raiz ", $dbh, false ); 62 + $dados = \admin\catalogo\menus\grupos\subgrupos\raiz\listar ($dbh,$id_raiz);
  63 + $dbhw = null;
  64 + $dbh = null;
77 if ($dados === false) { 65 if ($dados === false) {
78 - $dbhw = null;  
79 - $dbh = null;  
80 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 66 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
81 - exit (); 67 + } else {
  68 + retornaJSON ( array("dados"=>$dados) );
82 } 69 }
83 - $dbhw = null;  
84 - $dbh = null;  
85 - retornaJSON ( array("dados"=>$dados[0]) );  
86 break; 70 break;
87 case "ADICIONAR" : 71 case "ADICIONAR" :
88 if (empty ( $id_tema ) || empty ( $id_menu ) || empty ( $id_n1 )) { 72 if (empty ( $id_tema ) || empty ( $id_menu ) || empty ( $id_n1 )) {
89 header ( "HTTP/1.1 500 erro nos parametros" ); 73 header ( "HTTP/1.1 500 erro nos parametros" );
90 - exit ();  
91 - }  
92 - $novo = adicionar ( $id_menu, $id_n1, $id_tema, $_POST["ordem"], $_POST["perfil"], $dbhw );  
93 - if ($novo === false) {  
94 - header ( "HTTP/1.1 500 erro ao consultar banco de dados" );  
95 - exit (); 74 + } else {
  75 + $novo = \admin\catalogo\menus\grupos\subgrupos\raiz\adicionar ( $id_menu, $id_n1, $id_tema, $_POST["ordem"], $_POST["perfil"], $dbhw );
  76 + $dbhw = null;
  77 + $dbh = null;
  78 + if ($novo === false) {
  79 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  80 + }
96 } 81 }
97 - exit ();  
98 break; 82 break;
99 case "ALTERAR" : 83 case "ALTERAR" :
100 if (empty ( $id_tema ) || empty ( $id_menu ) || empty ( $id_raiz )) { 84 if (empty ( $id_tema ) || empty ( $id_menu ) || empty ( $id_raiz )) {
101 header ( "HTTP/1.1 500 erro nos parametros" ); 85 header ( "HTTP/1.1 500 erro nos parametros" );
102 - exit ();  
103 - }  
104 - $novo = alterar ( $id_raiz, $id_tema, $_POST["ordem"], $_POST["perfil"], $dbhw );  
105 - if ($novo === false) {  
106 - header ( "HTTP/1.1 500 erro ao consultar banco de dados" );  
107 - exit ();  
108 - }  
109 - $dados = pegaDados ( "SELECT id_raiz from " . $esquemaadmin . "i3geoadmin_raiz WHERE id_raiz = $id_raiz", $dbh, false );  
110 -  
111 - if ($dados === false) {  
112 - header ( "HTTP/1.1 500 erro ao consultar banco de dados" );  
113 - exit (); 86 + } else {
  87 + $novo = \admin\catalogo\menus\grupos\subgrupos\raiz\alterar ( $id_raiz, $id_tema, $_POST["ordem"], $_POST["perfil"], $dbhw );
  88 + $dbhw = null;
  89 + $dbh = null;
  90 + if ($novo === false) {
  91 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  92 + }
114 } 93 }
115 - $dbhw = null;  
116 - $dbh = null;  
117 - retornaJSON ( $dados );  
118 - exit ();  
119 break; 94 break;
120 case "EXCLUIR" : 95 case "EXCLUIR" :
121 - $retorna = excluir ( $id_raiz, $dbhw ); 96 + $retorna = \admin\catalogo\menus\grupos\subgrupos\raiz\excluir ( $id_raiz, $dbhw );
122 $dbhw = null; 97 $dbhw = null;
123 $dbh = null; 98 $dbh = null;
124 if ($retorna === false) { 99 if ($retorna === false) {
125 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 100 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
126 - exit ();  
127 } 101 }
128 - retornaJSON ( $id_raiz );  
129 - exit ();  
130 break; 102 break;
131 -}  
132 -cpjson ( $retorno );  
133 -function adicionar($id_menu, $id_n1, $id_tema, $ordem, $perfil, $dbhw) {  
134 - global $esquemaadmin;  
135 - try {  
136 - $dataCol = array (  
137 - "id_menu" => $id_menu,  
138 - "id_nivel" => $id_n1,  
139 - "nivel" => 1,  
140 - "ordem" => 0,  
141 - "perfil" => ''  
142 - );  
143 - $id_raiz = i3GeoAdminInsertUnico ( $dbhw, "i3geoadmin_raiz", $dataCol, "perfil", "id_raiz" );  
144 -  
145 - $retorna = alterar ( $id_raiz, $id_tema, $ordem, $perfil, $dbhw );  
146 -  
147 - return $retorna;  
148 - } catch ( PDOException $e ) {  
149 - return false;  
150 - }  
151 -}  
152 -// $papeis deve ser um array  
153 -function alterar($id_raiz, $id_tema, $ordem, $perfil, $dbhw) {  
154 - global $esquemaadmin;  
155 -  
156 - $dataCol = array(  
157 - "id_tema" => $id_tema,  
158 - "perfil" => $perfil,  
159 - "ordem" => $ordem  
160 - );  
161 - $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_raiz",$dataCol,"WHERE id_raiz = $id_raiz");  
162 - $retorna = $id;  
163 - if ($resultado === false) {  
164 - return false;  
165 - }  
166 - return $id_raiz;  
167 -}  
168 -function excluir($id_raiz, $dbhw) {  
169 - global $esquemaadmin;  
170 - $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_raiz", "id_raiz", $id_raiz, $dbhw, false );  
171 - if ($resultado === false) {  
172 - return false;  
173 - }  
174 - return $resultado; 103 + default:
  104 + header ( "HTTP/1.1 500 erro funcao nao existe" );
  105 + break;
175 } 106 }
176 ?> 107 ?>
admin1/catalogo/menus/grupos/subgrupos/funcoes.php 0 → 100644
@@ -0,0 +1,155 @@ @@ -0,0 +1,155 @@
  1 +<?php
  2 +namespace admin\catalogo\menus\grupos\subgrupos {
  3 + function listar($dbh, $id_n1 = "", $id_n2){
  4 + global $esquemaadmin;
  5 + if($id_n2 != ""){
  6 + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where id_n2 = '$id_n2'");
  7 + $dados = $dados[0];
  8 + } else {
  9 + $dados = pegaDados ( "SELECT id_n2,i3geoadmin_n2.id_subgrupo,nome_subgrupo,ordem from ".$esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo WHERE id_n1 = '$id_n1' ORDER by ordem", $dbh, false );
  10 + }
  11 + if ($dados === false) {
  12 + return false;
  13 + } else {
  14 + return $dados;
  15 + }
  16 + }
  17 + function ordenar($id_n1, $ordem, $dbhw){
  18 + global $esquemaadmin;
  19 + $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n2 WHERE id_n1 = '$id_n1'", $dbhw, false );
  20 + if(count($dados) != count($ordem)){
  21 + header ( "HTTP/1.1 500 erro numero de registros nao batem" );
  22 + exit ();
  23 + }
  24 + //verifica se os ids existem no mesmo nivel
  25 + $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n2 WHERE id_n1 = $id_n1 AND id_n2 IN (" . implode(",",$ordem). ")", $dbhw, false );
  26 + if(count($dados) != count($ordem)){
  27 + header ( "HTTP/1.1 500 erro ids nao batem" );
  28 + exit ();
  29 + }
  30 + $resultado = i3GeoAdminOrdena($dbhw,$ordem,"i3geoadmin_n2","id_n2");
  31 + return $resultado;
  32 + }
  33 +
  34 + function adicionar( $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw) {
  35 + global $esquemaadmin;
  36 + try {
  37 + $dataCol = array(
  38 + "id_n1" => $id_n1,
  39 + "publicado" => 'NAO',
  40 + "ordem" => 0,
  41 + "n2_perfil" => ''
  42 + );
  43 + $id_n2 = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_n2",$dataCol,"n2_perfil","id_n2");
  44 + $retorna = \admin\catalogo\menus\grupos\subgrupos\alterar ( $id_n2, $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw );
  45 + return $retorna;
  46 + } catch ( PDOException $e ) {
  47 + return false;
  48 + }
  49 + }
  50 + // $papeis deve ser um array
  51 + function alterar($id_n2, $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw) {
  52 + global $esquemaadmin;
  53 + $dataCol = array(
  54 + "publicado" => $publicado,
  55 + "id_subgrupo" => $id_subgrupo,
  56 + "ordem" => $ordem,
  57 + "n2_perfil" => $n2_perfil
  58 + );
  59 + $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_n2",$dataCol,"WHERE id_n2 = $id_n2");
  60 + if ($resultado === false) {
  61 + return false;
  62 + }
  63 + return $id_n2;
  64 + }
  65 + function excluir($id_n2, $dbhw) {
  66 + global $esquemaadmin;
  67 + $r = pegaDados("SELECT id_n3 from ".$esquemaadmin."i3geoadmin_n3 where id_n2 ='$id_n2'");
  68 + if(count($r) > 0){
  69 + header ( "HTTP/1.1 500 erro ao excluir. Exclua os subgrupos primeiro" );
  70 + exit;
  71 + } else {
  72 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_n2", "id_n2", $id_n2, $dbhw, false );
  73 + if ($resultado === false) {
  74 + return false;
  75 + }
  76 + return $resultado;
  77 + }
  78 + }
  79 +}
  80 +namespace admin\catalogo\menus\grupos\subgrupos\raiz {
  81 + function listar($dbh, $id_raiz = "", $id_n1 = ""){
  82 + global $esquemaadmin;
  83 + if($id_raiz != ""){
  84 + $dados = pegaDados ( "SELECT id_raiz, id_tema, ordem, perfil from ".$esquemaadmin."i3geoadmin_raiz WHERE id_raiz = '$id_raiz' ", $dbh, false );
  85 + $dados = $dados[0];
  86 + } else {
  87 + $dados = pegaDados ( "SELECT id_nivel,ordem,codigo_tema,id_raiz,i3geoadmin_raiz.id_tema, nome_tema FROM ".$esquemaadmin."i3geoadmin_raiz LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema where i3geoadmin_raiz.nivel = 1 and i3geoadmin_raiz.id_nivel = '$id_n1' order by ordem", $dbh, false );
  88 + }
  89 + if ($dados === false) {
  90 + return false;
  91 + } else {
  92 + return $dados;
  93 + }
  94 + }
  95 + function ordenar($id_n1, $ordem, $dbhw){
  96 + global $esquemaadmin;
  97 + $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_raiz WHERE nivel = 1 AND id_nivel = '$id_n1'", $dbhw, false );
  98 + if(count($dados) != count($ordem)){
  99 + header ( "HTTP/1.1 500 erro numero de registros nao batem" );
  100 + exit ();
  101 + }
  102 + //verifica se os ids existem no mesmo nivel
  103 + $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_raiz WHERE nivel = 1 AND id_nivel = '$id_n1' AND id_raiz IN (" . implode(",",$ordem). ")", $dbhw, false );
  104 + if(count($dados) != count($ordem)){
  105 + header ( "HTTP/1.1 500 erro ids nao batem" );
  106 + exit ();
  107 + }
  108 + $resultado = i3GeoAdminOrdena($dbhw,$ordem,"i3geoadmin_raiz","id_raiz");
  109 + return $resultado;
  110 + }
  111 + function adicionar($id_menu, $id_n1, $id_tema, $ordem, $perfil, $dbhw) {
  112 + global $esquemaadmin;
  113 + try {
  114 + $dataCol = array (
  115 + "id_menu" => $id_menu,
  116 + "id_nivel" => $id_n1,
  117 + "nivel" => 1,
  118 + "ordem" => 0,
  119 + "perfil" => ''
  120 + );
  121 + $id_raiz = i3GeoAdminInsertUnico ( $dbhw, "i3geoadmin_raiz", $dataCol, "perfil", "id_raiz" );
  122 +
  123 + $retorna = alterar ( $id_raiz, $id_tema, $ordem, $perfil, $dbhw );
  124 +
  125 + return $retorna;
  126 + } catch ( PDOException $e ) {
  127 + return false;
  128 + }
  129 + }
  130 + // $papeis deve ser um array
  131 + function alterar($id_raiz, $id_tema, $ordem, $perfil, $dbhw) {
  132 + global $esquemaadmin;
  133 +
  134 + $dataCol = array(
  135 + "id_tema" => $id_tema,
  136 + "perfil" => $perfil,
  137 + "ordem" => $ordem
  138 + );
  139 + $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_raiz",$dataCol,"WHERE id_raiz = $id_raiz");
  140 + $retorna = $id;
  141 + if ($resultado === false) {
  142 + return false;
  143 + }
  144 + return $id_raiz;
  145 + }
  146 + function excluir($id_raiz, $dbhw) {
  147 + global $esquemaadmin;
  148 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_raiz", "id_raiz", $id_raiz, $dbhw, false );
  149 + if ($resultado === false) {
  150 + return false;
  151 + }
  152 + return $resultado;
  153 + }
  154 +}
  155 +?>
0 \ No newline at end of file 156 \ No newline at end of file
admin1/catalogo/menus/grupos/subgrupos/index.js
@@ -238,8 +238,7 @@ i3GEOadmin.subgrupos = { @@ -238,8 +238,7 @@ i3GEOadmin.subgrupos = {
238 .done( 238 .done(
239 function(data, status){ 239 function(data, status){
240 i3GEOadmin.core.modalAguarde(false); 240 i3GEOadmin.core.modalAguarde(false);
241 - var json = jQuery.parseJSON(data)*1;  
242 - $("#formRaiz-" + json).remove(); 241 + i3GEOadmin.subgrupos.lista();
243 } 242 }
244 ) 243 )
245 .fail( 244 .fail(
@@ -464,8 +463,7 @@ i3GEOadmin.subgrupos = { @@ -464,8 +463,7 @@ i3GEOadmin.subgrupos = {
464 .done( 463 .done(
465 function(data, status){ 464 function(data, status){
466 i3GEOadmin.core.modalAguarde(false); 465 i3GEOadmin.core.modalAguarde(false);
467 - var json = jQuery.parseJSON(data)*1;  
468 - $("#formNo-" + json).remove(); 466 + i3GEOadmin.subgrupos.lista();
469 } 467 }
470 ) 468 )
471 .fail( 469 .fail(
@@ -514,7 +512,7 @@ i3GEOadmin.subgrupos = { @@ -514,7 +512,7 @@ i3GEOadmin.subgrupos = {
514 i3GEOadmin.core.modalAguarde(true); 512 i3GEOadmin.core.modalAguarde(true);
515 $.post( 513 $.post(
516 "exec.php?funcao=ordena", 514 "exec.php?funcao=ordena",
517 - "id_n1=" + i3GEOadmin.subgrupos.id_n1 + "&ordem=" + data.join(" ") 515 + "id_n1=" + i3GEOadmin.subgrupos.id_n1 + "&novaordem=" + data.join(" ")
518 ) 516 )
519 .done( 517 .done(
520 function(data, status){ 518 function(data, status){
admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/exec.php
@@ -34,128 +34,60 @@ if (verificaOperacaoSessao ( &quot;admin/html/arvore&quot; ) === false) { @@ -34,128 +34,60 @@ if (verificaOperacaoSessao ( &quot;admin/html/arvore&quot; ) === false) {
34 } 34 }
35 35
36 include (dirname ( __FILE__ ) . "/../../../../../../admin/php/conexao.php"); 36 include (dirname ( __FILE__ ) . "/../../../../../../admin/php/conexao.php");
37 - 37 +include ("funcoes.php");
38 $id_subgrupo = $_POST["id_subgrupo"]; 38 $id_subgrupo = $_POST["id_subgrupo"];
39 testaSafeNumerico([$id_subgrupo]); 39 testaSafeNumerico([$id_subgrupo]);
40 40
41 $funcao = strtoupper ( $funcao ); 41 $funcao = strtoupper ( $funcao );
42 switch ($funcao) { 42 switch ($funcao) {
43 case "ADICIONAR" : 43 case "ADICIONAR" :
44 - $novo = adicionar( $_POST["nome_subgrupo"], $_POST["desc_subgrupo"], $_POST["en"], $_POST["es"], $dbhw ); 44 + $novo = \admin\catalogo\menus\grupos\subgrupos\listadesubgrupos\adicionar( $_POST["nome_subgrupo"], $_POST["desc_subgrupo"], $_POST["en"], $_POST["es"], $dbhw );
  45 + $dbhw = null;
  46 + $dbh = null;
45 if ($novo === false) { 47 if ($novo === false) {
46 - $dbhw = null;  
47 - $dbh = null;  
48 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 48 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
49 - exit ();  
50 } 49 }
51 - exit ();  
52 break; 50 break;
53 case "ALTERAR" : 51 case "ALTERAR" :
54 - $novo = alterar ( $id_subgrupo, $_POST["nome_subgrupo"], $_POST["desc_subgrupo"], $_POST["en"], $_POST["es"], $dbhw ); 52 + $novo = \admin\catalogo\menus\grupos\subgrupos\listadesubgrupos\alterar ( $id_subgrupo, $_POST["nome_subgrupo"], $_POST["desc_subgrupo"], $_POST["en"], $_POST["es"], $dbhw );
  53 + $dbhw = null;
  54 + $dbh = null;
55 if ($novo === false) { 55 if ($novo === false) {
56 - $dbhw = null;  
57 - $dbh = null;  
58 - header ( "HTTP/1.1 500 erro ao consultar banco de dados" );  
59 - exit ();  
60 - }  
61 - $dados = pegaDados ( "SELECT * from ".$esquemaadmin."i3geoadmin_subgrupos WHERE id_subgrupo = $id_subgrupo", $dbh, false );  
62 - if ($dados === false) {  
63 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 56 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
64 exit (); 57 exit ();
65 } 58 }
66 - retornaJSON ( $dados );  
67 - exit ();  
68 break; 59 break;
69 case "LISTAUNICO" : 60 case "LISTAUNICO" :
70 - $dados = pegaDados ( "SELECT * from ".$esquemaadmin."i3geoadmin_subgrupos WHERE id_subgrupo = $id_subgrupo", $dbh, false ); 61 + $dados = \admin\catalogo\menus\grupos\subgrupos\listadesubgrupos\listar ($dbh, $id_subgrupo);
  62 + $dbhw = null;
  63 + $dbh = null;
71 if ($dados === false) { 64 if ($dados === false) {
72 - $dbhw = null;  
73 - $dbh = null;  
74 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 65 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
75 - exit (); 66 + } else {
  67 + retornaJSON ( $dados );
76 } 68 }
77 - $dbhw = null;  
78 - $dbh = null;  
79 - retornaJSON ( $dados[0] );  
80 break; 69 break;
81 case "LISTA" : 70 case "LISTA" :
82 - $dados = pegaDados ( "SELECT id_subgrupo,nome_subgrupo from ".$esquemaadmin."i3geoadmin_subgrupos order by lower(nome_subgrupo)", $dbh, false ); 71 + $dados = \admin\catalogo\menus\grupos\subgrupos\listadesubgrupos\listar ($dbh);
  72 + $dbhw = null;
  73 + $dbh = null;
83 if ($dados === false) { 74 if ($dados === false) {
84 - $dbhw = null;  
85 - $dbh = null;  
86 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 75 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
87 - exit (); 76 + } else {
  77 + retornaJSON ( $dados );
88 } 78 }
89 - $dbhw = null;  
90 - $dbh = null;  
91 - retornaJSON ( $dados );  
92 break; 79 break;
93 case "EXCLUIR" : 80 case "EXCLUIR" :
94 - $r = pegaDados("select n2.id_subgrupo from ".$esquemaadmin."i3geoadmin_n3 as n3, ".$esquemaadmin."i3geoadmin_n2 as n2 where n2.id_n2 = n3.id_n3 and n2.id_subgrupo = '$id'");  
95 - if(count($r) > 0){  
96 - header ( "HTTP/1.1 500 erro ao excluir. O grupo esta em uso" );  
97 - exit ();  
98 - }  
99 - $retorna = excluir ( $id_subgrupo, $dbhw ); 81 + $retorna = \admin\catalogo\menus\grupos\subgrupos\listadesubgrupos\excluir ( $id_subgrupo, $dbhw );
100 $dbhw = null; 82 $dbhw = null;
101 $dbh = null; 83 $dbh = null;
102 if ($retorna === false) { 84 if ($retorna === false) {
103 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 85 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
104 exit (); 86 exit ();
105 } 87 }
106 - retornaJSON ( $id_subgrupo );  
107 - exit ();  
108 break; 88 break;
109 -}  
110 -cpjson ( $retorno );  
111 -  
112 -// $papeis deve ser um array  
113 -function adicionar($nome_subgrupo, $desc_subgrupo, $en, $es, $dbhw) {  
114 - global $esquemaadmin;  
115 - try {  
116 - $dataCol = array(  
117 - "nome_subgrupo" => $nome_subgrupo,  
118 - "desc_subgrupo" => "",  
119 - "en" => "",  
120 - "es" => "",  
121 - "it" => ""  
122 - );  
123 - $id_subgrupo = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_subgrupos",$dataCol,"nome_subgrupo","id_subgrupo");  
124 - $retorna = alterar ( $id_subgrupo, $nome_subgrupo, $desc_subgrupo, $en, $es, $dbhw );  
125 -  
126 - return $retorna;  
127 - } catch ( PDOException $e ) {  
128 - return false;  
129 - }  
130 -}  
131 -// $papeis deve ser um array  
132 -function alterar($id_subgrupo, $nome_subgrupo, $desc_subgrupo, $en, $es, $dbhw) {  
133 - global $convUTF, $esquemaadmin;  
134 - if ($convUTF != true){  
135 - $nome_subgrupo = utf8_decode($nome_subgrupo);  
136 - $desc_subgrupo = utf8_decode($desc_subgrupo);  
137 - $en = utf8_decode($en);  
138 - $es = utf8_decode($es);  
139 - }  
140 - $dataCol = array(  
141 - "en" => $en,  
142 - "es" => $es,  
143 - "it" => '',  
144 - "nome_subgrupo" => $nome_subgrupo,  
145 - "desc_subgrupo" => $desc_subgrupo  
146 - );  
147 - $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_subgrupos", $dataCol, "WHERE id_subgrupo = $id_subgrupo" );  
148 - if ($resultado === false) {  
149 - return false;  
150 - }  
151 - return $id_subgrupo;  
152 -}  
153 -function excluir($id_subgrupo, $dbhw) {  
154 - global $esquemaadmin;  
155 - $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_subgrupos", "id_subgrupo", $id_subgrupo, $dbhw, false );  
156 - if ($resultado === false) {  
157 - return false;  
158 - }  
159 - return $resultado; 89 + default:
  90 + header ( "HTTP/1.1 500 erro funcao nao existe" );
  91 + break;
160 } 92 }
161 ?> 93 ?>
admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/funcoes.php 0 → 100644
@@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
  1 +<?php
  2 +namespace admin\catalogo\menus\grupos\subgrupos\listadesubgrupos;
  3 +function listar($dbh, $id_subgrupo = ""){
  4 + global $esquemaadmin;
  5 + if($id_subgrupo != ""){
  6 + $dados = pegaDados ( "SELECT * from ".$esquemaadmin."i3geoadmin_subgrupos WHERE id_subgrupo = $id_subgrupo", $dbh, false );
  7 + $dados = $dados[0];
  8 + } else {
  9 + $dados = pegaDados ( "SELECT id_subgrupo,nome_subgrupo from ".$esquemaadmin."i3geoadmin_subgrupos order by lower(nome_subgrupo)", $dbh, false );
  10 + }
  11 + if ($dados === false) {
  12 + return false;
  13 + } else {
  14 + return $dados;
  15 + }
  16 +}
  17 +function adicionar($nome_subgrupo, $desc_subgrupo, $en, $es, $dbhw) {
  18 + global $esquemaadmin;
  19 + try {
  20 + $dataCol = array(
  21 + "nome_subgrupo" => $nome_subgrupo,
  22 + "desc_subgrupo" => "",
  23 + "en" => "",
  24 + "es" => "",
  25 + "it" => ""
  26 + );
  27 + $id_subgrupo = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_subgrupos",$dataCol,"nome_subgrupo","id_subgrupo");
  28 + $retorna = \admin\catalogo\menus\grupos\subgrupos\listadesubgrupos\alterar ( $id_subgrupo, $nome_subgrupo, $desc_subgrupo, $en, $es, $dbhw );
  29 +
  30 + return $retorna;
  31 + } catch ( PDOException $e ) {
  32 + return false;
  33 + }
  34 +}
  35 +function alterar($id_subgrupo, $nome_subgrupo, $desc_subgrupo, $en, $es, $dbhw) {
  36 + global $convUTF, $esquemaadmin;
  37 + if ($convUTF != true){
  38 + $nome_subgrupo = utf8_decode($nome_subgrupo);
  39 + $desc_subgrupo = utf8_decode($desc_subgrupo);
  40 + $en = utf8_decode($en);
  41 + $es = utf8_decode($es);
  42 + }
  43 + $dataCol = array(
  44 + "en" => $en,
  45 + "es" => $es,
  46 + "it" => '',
  47 + "nome_subgrupo" => $nome_subgrupo,
  48 + "desc_subgrupo" => $desc_subgrupo
  49 + );
  50 + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_subgrupos", $dataCol, "WHERE id_subgrupo = $id_subgrupo" );
  51 + if ($resultado === false) {
  52 + return false;
  53 + }
  54 + return $id_subgrupo;
  55 +}
  56 +function excluir($id_subgrupo, $dbhw) {
  57 + global $esquemaadmin;
  58 + $dados = pegaDados ( "SELECT * from ".$esquemaadmin."i3geoadmin_n2 WHERE id_subgrupo = $id_subgrupo", $dbhw, false );
  59 + if(count($dados) > 0){
  60 + header ( "HTTP/1.1 500 erro ao excluir. Subgrupo em uso" );
  61 + } else {
  62 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_subgrupos", "id_subgrupo", $id_subgrupo, $dbhw, false );
  63 + if ($resultado === false) {
  64 + return false;
  65 + }
  66 + }
  67 +}
  68 +?>
0 \ No newline at end of file 69 \ No newline at end of file
admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/index.js
@@ -181,8 +181,7 @@ Obt&amp;eacute;m a lista de grupos @@ -181,8 +181,7 @@ Obt&amp;eacute;m a lista de grupos
181 .done( 181 .done(
182 function(data, status){ 182 function(data, status){
183 i3GEOadmin.core.modalAguarde(false); 183 i3GEOadmin.core.modalAguarde(false);
184 - var json = jQuery.parseJSON(data)*1;  
185 - $("#form-" + json).remove(); 184 + i3GEOadmin.subgrupos.lista();
186 } 185 }
187 ) 186 )
188 .fail( 187 .fail(
admin1/catalogo/menus/grupos/subgrupos/temas/exec.php
@@ -29,7 +29,6 @@ error_reporting ( 0 ); @@ -29,7 +29,6 @@ error_reporting ( 0 );
29 // 29 //
30 // pega as variaveis passadas com get ou post 30 // pega as variaveis passadas com get ou post
31 // 31 //
32 -  
33 include_once (dirname ( __FILE__ ) . "/../../../../../../admin/php/login.php"); 32 include_once (dirname ( __FILE__ ) . "/../../../../../../admin/php/login.php");
34 if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { 33 if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
35 header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" ); 34 header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
@@ -37,6 +36,7 @@ if (verificaOperacaoSessao ( &quot;admin/html/arvore&quot; ) === false) { @@ -37,6 +36,7 @@ if (verificaOperacaoSessao ( &quot;admin/html/arvore&quot; ) === false) {
37 } 36 }
38 37
39 include (dirname ( __FILE__ ) . "/../../../../../../admin/php/conexao.php"); 38 include (dirname ( __FILE__ ) . "/../../../../../../admin/php/conexao.php");
  39 +include ("funcoes.php");
40 40
41 $id_n2 = $_POST["id_n2"]; 41 $id_n2 = $_POST["id_n2"];
42 $id_n3 = $_POST["id_n3"]; 42 $id_n3 = $_POST["id_n3"];
@@ -47,130 +47,66 @@ $funcao = strtoupper ( $funcao ); @@ -47,130 +47,66 @@ $funcao = strtoupper ( $funcao );
47 switch ($funcao) { 47 switch ($funcao) {
48 case "ORDENA" : 48 case "ORDENA" :
49 $ordem = explode(" ",$_POST["novaordem"]); 49 $ordem = explode(" ",$_POST["novaordem"]);
50 - //verifica se existe a mesma quantidade de registros no banco e na lista de ids  
51 - $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n3 WHERE id_n2 = $id_n2", $dbh, false );  
52 - if(count($dados) != count($ordem)){  
53 - header ( "HTTP/1.1 500 erro numero de registros nao batem" );  
54 - exit ();  
55 - }  
56 - //verifica se os ids existem no mesmo nivel  
57 - $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n3 WHERE id_n2 = $id_n2 AND id_n3 IN (" . implode(",",$ordem). ")", $dbh, false );  
58 - if(count($dados) != count($ordem)){  
59 - header ( "HTTP/1.1 500 erro ids nao batem" );  
60 - exit ();  
61 - }  
62 -  
63 - $retorna = i3GeoAdminOrdena($dbhw,$ordem,"i3geoadmin_n3","id_n3"); 50 + $dados = \admin\catalogo\menus\grupos\subgrupos\temas\ordenar($id_n2, $ordem, $dbhw);
64 $dbhw = null; 51 $dbhw = null;
65 $dbh = null; 52 $dbh = null;
66 - if ($retorna === false) { 53 + if ($dados === false) {
67 header ( "HTTP/1.1 500 erro ao ordenar" ); 54 header ( "HTTP/1.1 500 erro ao ordenar" );
68 - exit ();  
69 } 55 }
70 - retornaJSON ( $retorna );  
71 - exit();  
72 break; 56 break;
73 case "ADICIONAR" : 57 case "ADICIONAR" :
74 - $novo = adicionar( $id_tema, $id_n2, $_POST["publicado"], $_POST["n3_perfil"], $_POST["ordem"], $dbhw ); 58 + $novo = \admin\catalogo\menus\grupos\subgrupos\temas\adicionar( $id_tema, $id_n2, $_POST["publicado"], $_POST["n3_perfil"], $_POST["ordem"], $dbhw );
  59 + $dbhw = null;
  60 + $dbh = null;
75 if ($novo === false) { 61 if ($novo === false) {
76 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 62 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
77 - exit ();  
78 } 63 }
79 - exit ();  
80 break; 64 break;
81 case "ALTERAR" : 65 case "ALTERAR" :
82 - $novo = alterar ( $id_n3, $id_tema, $id_n2, $_POST["publicado"], $_POST["n3_perfil"], $_POST["ordem"], $dbhw ); 66 + $novo = \admin\catalogo\menus\grupos\subgrupos\temas\alterar ( $id_n3, $id_tema, $id_n2, $_POST["publicado"], $_POST["n3_perfil"], $_POST["ordem"], $dbhw );
  67 + $dbhw = null;
  68 + $dbh = null;
83 if ($novo === false) { 69 if ($novo === false) {
84 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 70 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
85 - exit ();  
86 - }  
87 - $dados = pegaDados ( "SELECT id_n3 from ".$esquemaadmin."i3geoadmin_n3 WHERE id_n3 = $id_n3", $dbh, false );  
88 -  
89 - if ($dados === false) {  
90 - header ( "HTTP/1.1 500 erro ao consultar banco de dados" );  
91 - exit ();  
92 } 71 }
93 - $dbhw = null;  
94 - $dbh = null;  
95 - retornaJSON ( $dados );  
96 - exit ();  
97 break; 72 break;
98 case "LISTAUNICO" : 73 case "LISTAUNICO" :
99 - $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_n3 LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where id_n3 = $id_n3"); 74 + $dados = \admin\catalogo\menus\grupos\subgrupos\temas\listar($dbh, "", $id_n3);
  75 + $dbhw = null;
  76 + $dbh = null;
100 if ($dados === false) { 77 if ($dados === false) {
101 - $dbhw = null;  
102 - $dbh = null;  
103 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 78 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
104 - exit (); 79 + } else {
  80 + retornaJSON($dados);
105 } 81 }
106 - $dbhw = null;  
107 - $dbh = null;  
108 - retornaJSON($dados[0]);  
109 break; 82 break;
110 case "LISTA" : 83 case "LISTA" :
111 - $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by lower(perfil)", $dbh, false ); 84 + $dados = \admin\catalogo\menus\grupos\subgrupos\temas\listar($dbh, $id_n2);
  85 + $temas = \admin\catalogo\menus\grupos\subgrupos\temas\todosTemas($dbh);
112 $dbhw = null; 86 $dbhw = null;
113 $dbh = null; 87 $dbh = null;
114 - include($locaplic."/admin/php/classe_arvore.php");  
115 - $arvore = new Arvore($locaplic);  
116 - $temassubgrupo = array("dados" => $arvore->pegaTemasSubGrupo($id_n2));  
117 - $temas = $arvore->pegaTodosTemas(true);  
118 - unset($arvore);  
119 - $temassubgrupo["perfis"] = $perfis;  
120 - $temassubgrupo["temas"] = $temas;  
121 - retornaJSON($temassubgrupo); 88 + if ($dados === false) {
  89 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  90 + } else {
  91 + include ("../../../../../cadastros/perfis/funcoes.php");
  92 + $perfis = \admin\cadastros\perfis\listar( $dbh );
  93 + retornaJSON(array(
  94 + "dados" => $dados,
  95 + "perfis" => $perfis,
  96 + "temas" => $temas
  97 + ));
  98 + }
122 break; 99 break;
123 case "EXCLUIR" : 100 case "EXCLUIR" :
124 - $retorna = excluir ( $id_n3, $dbhw ); 101 + $retorna = \admin\catalogo\menus\grupos\subgrupos\temas\excluir ( $id_n3, $dbhw );
125 $dbhw = null; 102 $dbhw = null;
126 $dbh = null; 103 $dbh = null;
127 if ($retorna === false) { 104 if ($retorna === false) {
128 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 105 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
129 - exit ();  
130 } 106 }
131 - retornaJSON ( $id_n3 );  
132 - exit (); 107 + break;
  108 + default:
  109 + header ( "HTTP/1.1 500 erro funcao nao existe" );
133 break; 110 break;
134 } 111 }
135 -cpjson ( $retorno );  
136 -  
137 -function adicionar( $id_tema, $id_n2, $publicado, $n3_perfil, $ordem, $dbhw) {  
138 - global $esquemaadmin;  
139 - try {  
140 - $dataCol = array(  
141 - "id_n2" => $id_n2,  
142 - "publicado" => 'NAO',  
143 - "ordem" => 0,  
144 - "n3_perfil" => ''  
145 - );  
146 - $id_n3 = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_n3",$dataCol,"n3_perfil","id_n3");  
147 - $retorna = alterar ( $id_n3, $id_tema, $id_n2, $publicado, $n3_perfil, $ordem, $dbhw );  
148 - return $retorna;  
149 - } catch ( PDOException $e ) {  
150 - return false;  
151 - }  
152 -}  
153 -// $papeis deve ser um array  
154 -function alterar($id_n3, $id_tema, $id_n2, $publicado, $n3_perfil, $ordem, $dbhw) {  
155 - global $esquemaadmin;  
156 - $dataCol = array(  
157 - "publicado" => $publicado,  
158 - "id_tema" => $id_tema,  
159 - "ordem" => $ordem,  
160 - "n3_perfil" => $n3_perfil  
161 - );  
162 - $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_n3",$dataCol,"WHERE id_n3 = $id_n3");  
163 - if ($resultado === false) {  
164 - return false;  
165 - }  
166 - return $id_n3;  
167 -}  
168 -function excluir($id_n3, $dbhw) {  
169 - global $esquemaadmin;  
170 - $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_n3", "id_n3", $id_n3, $dbhw, false );  
171 - if ($resultado === false) {  
172 - return false;  
173 - }  
174 - return $resultado;  
175 -}  
176 -?> 112 +?>
177 \ No newline at end of file 113 \ No newline at end of file
admin1/catalogo/menus/grupos/subgrupos/temas/funcoes.php 0 → 100644
@@ -0,0 +1,82 @@ @@ -0,0 +1,82 @@
  1 +<?php
  2 +namespace admin\catalogo\menus\grupos\subgrupos\temas;
  3 +function todosTemas($dbh){
  4 + global $esquemaadmin;
  5 + $dados = pegaDados("select id_tema,desc_tema,nome_tema,codigo_tema from ".$esquemaadmin."i3geoadmin_temas order by lower(nome_tema) ");
  6 + if ($dados === false) {
  7 + return false;
  8 + } else {
  9 + return $dados;
  10 + }
  11 +}
  12 +function listar($dbh, $id_n2 = "", $id_n3 = ""){
  13 + global $esquemaadmin;
  14 + if($id_n3 != ""){
  15 + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_n3 LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where id_n3 = '$id_n3'");
  16 + $dados = $dados[0];
  17 + } else {
  18 + $dados = pegaDados("SELECT i3geoadmin_n3.id_n3,i3geoadmin_temas.nome_tema from ".$esquemaadmin."i3geoadmin_n3 LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where id_n2 = '$id_n2' ORDER BY ordem");
  19 + }
  20 + if ($dados === false) {
  21 + return false;
  22 + } else {
  23 + return $dados;
  24 + }
  25 +}
  26 +function adicionar( $id_tema, $id_n2, $publicado, $n3_perfil, $ordem, $dbhw) {
  27 + global $esquemaadmin;
  28 + try {
  29 + $dataCol = array(
  30 + "id_n2" => $id_n2,
  31 + "publicado" => 'NAO',
  32 + "ordem" => 0,
  33 + "n3_perfil" => ''
  34 + );
  35 + $id_n3 = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_n3",$dataCol,"n3_perfil","id_n3");
  36 + $retorna = \admin\catalogo\menus\grupos\subgrupos\temas\alterar ( $id_n3, $id_tema, $id_n2, $publicado, $n3_perfil, $ordem, $dbhw );
  37 + return $retorna;
  38 + } catch ( PDOException $e ) {
  39 + return false;
  40 + }
  41 +}
  42 +// $papeis deve ser um array
  43 +function alterar($id_n3, $id_tema, $id_n2, $publicado, $n3_perfil, $ordem, $dbhw) {
  44 + global $esquemaadmin;
  45 + $dataCol = array(
  46 + "publicado" => $publicado,
  47 + "id_tema" => $id_tema,
  48 + "ordem" => $ordem,
  49 + "n3_perfil" => $n3_perfil
  50 + );
  51 + $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_n3",$dataCol,"WHERE id_n3 = $id_n3");
  52 + if ($resultado === false) {
  53 + return false;
  54 + }
  55 + return $id_n3;
  56 +}
  57 +function excluir($id_n3, $dbhw) {
  58 + global $esquemaadmin;
  59 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_n3", "id_n3", $id_n3, $dbhw, false );
  60 + if ($resultado === false) {
  61 + return false;
  62 + }
  63 + return $resultado;
  64 +}
  65 +function ordenar($id_n2, $ordem, $dbhw){
  66 + global $esquemaadmin;
  67 + //verifica se existe a mesma quantidade de registros no banco e na lista de ids
  68 + $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n3 WHERE id_n2 = $id_n2", $dbhw, false );
  69 + if(count($dados) != count($ordem)){
  70 + header ( "HTTP/1.1 500 erro numero de registros nao batem" );
  71 + exit ();
  72 + }
  73 + //verifica se os ids existem no mesmo nivel
  74 + $dados = pegaDados ( "SELECT ordem from ".$esquemaadmin."i3geoadmin_n3 WHERE id_n2 = $id_n2 AND id_n3 IN (" . implode(",",$ordem). ")", $dbhw, false );
  75 + if(count($dados) != count($ordem)){
  76 + header ( "HTTP/1.1 500 erro ids nao batem" );
  77 + exit ();
  78 + }
  79 + $resultado = i3GeoAdminOrdena($dbhw,$ordem,"i3geoadmin_n3","id_n3");
  80 + return $resultado;
  81 +}
  82 +?>
0 \ No newline at end of file 83 \ No newline at end of file
admin1/catalogo/menus/grupos/subgrupos/temas/index.js
@@ -263,8 +263,7 @@ i3GEOadmin.temas = { @@ -263,8 +263,7 @@ i3GEOadmin.temas = {
263 .done( 263 .done(
264 function(data, status){ 264 function(data, status){
265 i3GEOadmin.core.modalAguarde(false); 265 i3GEOadmin.core.modalAguarde(false);
266 - var json = jQuery.parseJSON(data)*1;  
267 - $("#form-" + json).remove(); 266 + i3GEOadmin.temas.lista();
268 } 267 }
269 ) 268 )
270 .fail( 269 .fail(
@@ -318,7 +317,6 @@ i3GEOadmin.temas = { @@ -318,7 +317,6 @@ i3GEOadmin.temas = {
318 .done( 317 .done(
319 function(data, status){ 318 function(data, status){
320 i3GEOadmin.core.modalAguarde(false); 319 i3GEOadmin.core.modalAguarde(false);
321 - i3GEOadmin.core.iconeAguarde(i3GEOadmin.temas.ondeNos);  
322 i3GEOadmin.temas.lista(); 320 i3GEOadmin.temas.lista();
323 } 321 }
324 ) 322 )
admin1/catalogo/menus/index.js
@@ -233,8 +233,7 @@ Obt&amp;eacute;m a lista de menus @@ -233,8 +233,7 @@ Obt&amp;eacute;m a lista de menus
233 .done( 233 .done(
234 function(data, status){ 234 function(data, status){
235 i3GEOadmin.core.modalAguarde(false); 235 i3GEOadmin.core.modalAguarde(false);
236 - var json = jQuery.parseJSON(data)*1;  
237 - $("#form-" + json).remove(); 236 + i3GEOadmin.menus.lista();
238 } 237 }
239 ) 238 )
240 .fail( 239 .fail(