funcoes.php
3.88 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
107
108
109
110
111
112
113
114
115
<?php
namespace admin\usuarios\operacoes;
use PDOException;
function listar($dbh, $id_operacao = ""){
$esquemaadmin = $_SESSION["esquemaadmin"];
if($id_operacao != ""){
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT id_operacao,codigo,descricao from " . $esquemaadmin . "i3geousr_operacoes where id_operacao = $id_operacao order by codigo", $dbh, false );
$dados = $dados[0];
} else {
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT id_operacao,codigo,descricao from " . $esquemaadmin . "i3geousr_operacoes order by codigo", $dbh, false );
}
if ($dados === false) {
return false;
} else {
return $dados;
}
}
function listaPapeis($dbh){
$esquemaadmin = $_SESSION["esquemaadmin"];
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT * from " . $esquemaadmin . "i3geousr_papeis order by nome", $dbh, false );
if ($dados === false) {
header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
exit ();
} else {
return $dados;
}
}
function listaPapeisOperacao($dbh,$id_operacao){
$esquemaadmin = $_SESSION["esquemaadmin"];
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT P.id_papel, P.nome, P.descricao,OP.id_operacao FROM " . $esquemaadmin . "i3geousr_operacoespapeis AS OP JOIN " . $esquemaadmin . "i3geousr_papeis AS P ON OP.id_papel = P.id_papel WHERE OP.id_operacao = $id_operacao ", $dbh, false );
if ($dados === false) {
header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
exit ();
} else {
return $dados;
}
}
function adicionar($codigo,$descricao,$papeis,$dbhw){
$esquemaadmin = $_SESSION["esquemaadmin"];
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT * from " . $esquemaadmin . "i3geousr_operacoes WHERE codigo = '". $codigo . "'", $dbhw, false );
if (count($dados) > 0) {
header ( "HTTP/1.1 403 operacao ja existe" );
exit ();
}
try{
$dataCol = array(
"descricao" => ''
);
$id_operacao = \admin\php\funcoesAdmin\i3GeoAdminInsertUnico($dbhw,"i3geousr_operacoes",$dataCol,"descricao","id_operacao");
$retorna = \admin\usuarios\operacoes\alterar($id_operacao,$codigo,$descricao,$papeis,$dbhw);
return $retorna;
}
catch (PDOException $e){
return false;
}
}
//$papeis deve ser um array
function alterar($id_operacao,$codigo,$descricao,$papeis,$dbhw){
$convUTF = $_SESSION["convUTF"];
$esquemaadmin = $_SESSION["esquemaadmin"];
if ($convUTF != true){
$descricao = utf8_decode($descricao);
}
$dataCol = array(
"codigo" => $codigo,
"descricao" => $descricao
);
$resultado = \admin\php\funcoesAdmin\i3GeoAdminUpdate($dbhw,"i3geousr_operacoes",$dataCol,"WHERE id_operacao = $id_operacao");
if($resultado === false){
return false;
}
//apaga todos os papeis
$resultado = \admin\usuarios\operacoes\excluirPapeis($id_operacao,$dbhw);
if($resultado === false){
return false;
}
if(!empty($papeis)){
//atualiza papeis vinculados
foreach($papeis as $p){
$resultado = \admin\usuarios\operacoes\adicionaPapel($id_operacao,$p,$dbhw);
if($resultado === false){
return false;
}
}
}
return $id_operacao;
}
function adicionaPapel($id_operacao,$id_papel,$dbhw){
$esquemaadmin = $_SESSION["esquemaadmin"];
$dataCol = array(
"id_operacao" => $id_operacao,
"id_papel" => $id_papel
);
$resultado = \admin\php\funcoesAdmin\i3GeoAdminInsert($dbhw,"i3geousr_operacoespapeis",$dataCol);
return $resultado;
}
function excluir($id_operacao,$dbhw){
$esquemaadmin = $_SESSION["esquemaadmin"];
$resultado = \admin\php\funcoesAdmin\i3GeoAdminExclui($esquemaadmin."i3geousr_operacoes","id_operacao",$id_operacao,$dbhw,false);
if($resultado === false){
return false;
}
if($resultado === true){
$resultado = \admin\usuarios\operacoes\excluirPapeis($id_operacao,$dbhw);
}
return $resultado;
}
function excluirPapeis($id_operacao,$dbhw){
$esquemaadmin = $_SESSION["esquemaadmin"];
$resultado = \admin\php\funcoesAdmin\i3GeoAdminExclui($esquemaadmin."i3geousr_operacoespapeis","id_operacao",$id_operacao,$dbhw,false);
return $resultado;
}
?>