funcoes.php
4.65 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
namespace admin\usuarios\cadastro;
use PDOException;
function listar($dbh, $id_usuario = ""){
$esquemaadmin = $_SESSION["esquemaadmin"];
if($id_usuario != ""){
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios WHERE id_usuario = $id_usuario order by nome_usuario", $dbh, false );
$dados = $dados[0];
} else {
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT id_usuario,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios order by lower(nome_usuario)", $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 );
if ($dados === false) {
header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
exit ();
} else {
return $dados;
}
}
function listaPapeisUsuario($id_usuario,$dbh){
$esquemaadmin = $_SESSION["esquemaadmin"];
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM " . $esquemaadmin . "i3geousr_papelusuario AS UP JOIN " . $esquemaadmin . "i3geousr_papeis AS P ON UP.id_papel = P.id_papel WHERE UP.id_usuario = $id_usuario ", $dbh, false );
if ($dados === false) {
header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
exit ();
} else {
return $dados;
}
}
function enviarSenha( $senha, $email ){
$to = $email;
$subject = 'senha i3geo criada em '. date('l jS \of F Y h:i:s A');
$message = $senha;
return mail($to, $subject, $message);
}
// $papeis deve ser um array
function adicionar($ativo, $data_cadastro, $email, $login, $nome_usuario, $senha, $papeis, $dbhw) {
$esquemaadmin = $_SESSION["esquemaadmin"];
$dados = \admin\php\funcoesAdmin\pegaDados ( "SELECT * from " . $esquemaadmin . "i3geousr_usuarios WHERE login = '". $login . "'", $dbhw, false );
if (count($dados) > 0) {
header ( "HTTP/1.1 403 login ja existe" );
exit ();
}
try {
$dataCol = array(
"nome_usuario" => '',
"login" => '',
"email" => '',
"ativo" => 0,
"data_cadastro" => '',
"senha" => ''
);
$id_usuario = \admin\php\funcoesAdmin\i3GeoAdminInsertUnico ( $dbhw, "i3geousr_usuarios", $dataCol, "nome_usuario", "id_usuario" );
$data_cadastro = date('l jS \of F Y h:i:s A');
$retorna = \admin\usuarios\cadastro\alterar ( $id_usuario, $ativo, $data_cadastro, $email, $login, $nome_usuario, $senha, $papeis, $dbhw );
return $retorna;
} catch ( PDOException $e ) {
return false;
}
}
// $papeis deve ser um array
function alterar($id_usuario, $ativo, $data_cadastro, $email, $login, $nome_usuario, $senha, $papeis, $dbhw) {
$convUTF = $_SESSION["convUTF"];
$esquemaadmin = $_SESSION["esquemaadmin"];
if ($convUTF != true) {
$nome_usuario = utf8_decode ( $nome_usuario );
}
$dataCol = array (
"nome_usuario" => $nome_usuario,
"login" => $login,
"email" => $email,
"ativo" => $ativo
);
// se a senha foi enviada, ela sera trocada
if ($senha != "") {
if(!function_exists("password_hash")){
$dataCol ["senha"] = md5 ( $senha );
} else {
$dataCol["senha"] = password_hash($senha, PASSWORD_DEFAULT);
}
}
$resultado = \admin\php\funcoesAdmin\i3GeoAdminUpdate ( $dbhw, "i3geousr_usuarios", $dataCol, "WHERE id_usuario = $id_usuario" );
if ($resultado === false) {
return false;
}
// apaga todos os papeis
$resultado = \admin\usuarios\cadastro\excluirPapeis ( $id_usuario, $dbhw );
if ($resultado === false) {
return false;
}
if (! empty ( $papeis )) {
// atualiza papeis vinculados
foreach ( $papeis as $p ) {
$resultado = \admin\usuarios\cadastro\adicionaPapel ( $id_usuario, $p, $dbhw );
if ($resultado === false) {
return false;
}
}
}
return $id_usuario;
}
function adicionaPapel($id_usuario, $id_papel, $dbhw) {
$esquemaadmin = $_SESSION["esquemaadmin"];
$dataCol = array (
"id_usuario" => $id_usuario,
"id_papel" => $id_papel
);
$resultado = \admin\php\funcoesAdmin\i3GeoAdminInsert ( $dbhw, "i3geousr_papelusuario", $dataCol );
return $resultado;
}
function excluir($id_usuario, $dbhw) {
$esquemaadmin = $_SESSION["esquemaadmin"];
$resultado = \admin\php\funcoesAdmin\i3GeoAdminExclui ( $esquemaadmin . "i3geousr_usuarios", "id_usuario", $id_usuario, $dbhw, false );
$resultado = \admin\usuarios\cadastro\excluirPapeis ( $id_usuario, $dbhw );
return $resultado;
}
function excluirPapeis($id_usuario, $dbhw) {
$esquemaadmin = $_SESSION["esquemaadmin"];
$resultado = \admin\php\funcoesAdmin\i3GeoAdminExclui ( $esquemaadmin . "i3geousr_papelusuario", "id_usuario", $id_usuario, $dbhw, false );
return $resultado;
}
?>