exec.php
4.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
/*
* Licenca:
*
* GPL2
*
* i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
*
* Direitos Autorais Reservados (c) 2006 Edmar Moretti
* Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
*
* Este programa é software livre; você pode redistribuí-lo
* e/ou modificá-lo sob os termos da Licença Pública Geral
* GNU conforme publicada pela Free Software Foundation;
*
* Este programa é distribuído na expectativa de que seja útil,
* porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
* de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
* Consulte a Licença Pública Geral do GNU para mais detalhes.
* Você deve ter recebido uma copia da Licença Pública Geral do
* GNU junto com este programa; se não, escreva para a
* Free Software Foundation, Inc., no endereço
* 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
*/
//error_reporting ( 0 );
include (dirname(__FILE__)."/../classesphp/sani_request.php");
include (dirname(__FILE__)."/../classesphp/conexao.php");
include (dirname(__FILE__)."/../classesphp/funcoes_gerais.php");
if(!isset($idioma) || $idioma == ""){
$idioma = "pt";
}
$funcao = strtoupper ( $_POST["funcao"] );
switch ($funcao) {
case "LISTA" :
$sql = "
SELECT n0.nome_menu AS nome,n0.id_menu AS id FROM {$esquemaadmin}i3geoadmin_menus AS n0
JOIN (
SELECT r.id_menu AS id_menu, 0 AS id_n1
FROM {$esquemaadmin}i3geoadmin_raiz AS r, {$esquemaadmin}i3geoadmin_temas AS t
WHERE nivel = 0 AND r.id_tema = t.id_tema AND (t.ogc_tema != 'NAO' OR t.download_tema != 'NAO')
AND (r.perfil = '' OR r.perfil isnull )
GROUP BY id_menu,id_n1
UNION
SELECT id_menu, id_n1 FROM {$esquemaadmin}i3geoadmin_n1 WHERE publicado != 'NAO'
AND (n1_perfil = '' OR n1_perfil isnull )
GROUP BY id_menu, id_n1
)
AS n1 ON n1.id_menu = n0.id_menu
JOIN (
SELECT id_nivel AS id_n1, 0 AS id_n2
FROM {$esquemaadmin}i3geoadmin_raiz AS r, {$esquemaadmin}i3geoadmin_temas AS t
WHERE r.nivel = 1 AND r.id_tema = t.id_tema AND (t.ogc_tema != 'NAO' OR t.download_tema != 'NAO')
AND (r.perfil = '' OR r.perfil isnull )
GROUP BY id_n1,id_n2
UNION
SELECT id_n1,id_n2 FROM {$esquemaadmin}i3geoadmin_n2 WHERE
publicado != 'NAO'
AND (n2_perfil = '' OR n2_perfil isnull )
GROUP BY id_n1,id_n2
)
AS n2 ON n2.id_n1 = n1.id_n1 OR n1.id_n1 = 0
JOIN (
SELECT r.id_n2
FROM {$esquemaadmin}i3geoadmin_n3 AS r, {$esquemaadmin}i3geoadmin_temas AS t
WHERE r.id_tema = t.id_tema AND t.ogc_tema != 'NAO' AND r.publicado != 'NAO' AND (n3_perfil = '' OR n3_perfil isnull )
) AS n3 ON (n3.id_n2 = n2.id_n2 OR n2.id_n2 = 0 )
WHERE n0.publicado_menu != 'NAO' AND (n0.perfil_menu = '' OR n0.perfil_menu isnull )
GROUP BY n0.nome_menu,n0.id_menu
ORDER BY lower(n0.nome_menu)
";
$dados = pegaDadosAdmin ( $sql, $dbh );
$dbhw = null;
$dbh = null;
if ($dados === false) {
header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
exit ();
}
retornaJSONutf8 ( array("dados"=>$dados) );
break;
case "LISTATODAS":
$sqlCamadas = "
SELECT * FROM (SELECT n3.id_tema AS id_tema,t.codigo_tema AS codigo_tema,t.nome_tema AS nome_tema,t.link_tema AS link_tema,
lower(t.ogc_tema) AS ogc_tema,lower(t.download_tema) AS download_tema
FROM {$esquemaadmin}i3geoadmin_n3 AS n3, {$esquemaadmin}i3geoadmin_temas AS t
WHERE n3.id_tema = t.id_tema AND t.ogc_tema != 'NAO' AND n3.publicado != 'NAO' AND (n3_perfil = '' OR n3_perfil isnull )
UNION
SELECT r.id_tema AS id_tema,t.codigo_tema AS codigo_tema,t.nome_tema AS nome_tema,t.link_tema AS link_tema,
lower(t.ogc_tema) AS ogc_tema,lower(t.download_tema) AS download_tema
FROM {$esquemaadmin}i3geoadmin_raiz AS r, {$esquemaadmin}i3geoadmin_temas AS t
WHERE r.id_tema = t.id_tema AND (t.ogc_tema != 'NAO' OR t.download_tema != 'NAO')) AS u
GROUP BY id_tema,codigo_tema,nome_tema,link_tema,ogc_tema,download_tema
ORDER BY lower(u.nome_tema)
";
$camadas = pegaDadosAdmin ( $sqlCamadas, $dbh );
if ($camadas === false) {
header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
exit ();
}
retornaJSONutf8 ( array("dados"=>"","camadas"=>$camadas) );
break;
}
?>