loginmodel.php
4.7 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
134
135
136
137
138
139
140
141
<?php
include_once 'models/arcu.php';
include_once 'SED.php';//clase para encriptar contraseña
class LoginModel extends Model{
public function __construct(){
parent::__construct();
}
public function getStatus($datos){
try{
$crypt= new SED();
$clave=$crypt->encryption($datos['clave']);
$query=$this->db->connect()->prepare("SELECT
usuario,
clave,
estatus
FROM
usuario
WHERE usuario=:usuario
AND estatus=:estatus
AND clave=:clave;");
$query->execute([
'usuario'=> $datos['usuario'],
'estatus'=> 'Inactivo',
'clave' =>$clave
]);
$var=$query->fetch(PDO::FETCH_ASSOC);
//validar coincidencia de datos de entrada con los de bbdd
if($var['usuario']==$datos['usuario'] && $var['clave'] == $clave && $var['estatus'] == 'Inactivo'){
return true;
}
} catch(PDOException $e){
return false;
}
}
public function getLogin($datos){
try{
$crypt= new SED();
$clave=$crypt->encryption($datos['clave']);
$query=$this->db->connect()->prepare("SELECT
usuario,
correo,
primer_nombre,
primer_apellido,
usuario.id_perfil,
perfil.descripcion as perfil,
clave,
estatus,
persona.id_persona
FROM
usuario, persona,
perfil
WHERE usuario.id_persona=persona.id_persona
AND usuario.id_perfil=perfil.id_perfil
AND usuario=:usuario
AND estatus=:estatus
AND clave=:clave;");
$query->execute([
'usuario'=> $datos['usuario'],
'estatus'=> 'Activo',
'clave' =>$clave
]);
$var=$query->fetch(PDO::FETCH_ASSOC);
//validar coincidencia de datos de entrada con los de bbdd
if($var['usuario']==$datos['usuario'] && $var['clave'] == $clave && $var['estatus'] == 'Activo'){
//variables de sesion
session_start();
$_SESSION['id_persona']=$var['id_persona'];
$_SESSION['correo']=$var['correo'];
$_SESSION['primer_nombre']=$var['primer_nombre'];
$_SESSION['primer_apellido']=$var['primer_apellido'];
$_SESSION['perfil']=$var['perfil'];
$_SESSION['usuario']=$var['usuario'];
$_SESSION['id_perfil']=$var['id_perfil'];
//obtener roles de usuario
$roles_user=$this->db->connect()->prepare("SELECT usuario_rol.id_usuario,
usuario_rol.id_rol,
rol.descripcion AS rol
FROM rol,
usuario_rol,
usuario,
persona
WHERE usuario_rol.id_rol=rol.id_rol
AND usuario_rol.id_usuario=usuario.id_usuario
AND usuario.id_persona=persona.id_persona
AND usuario.id_persona=:id_persona");
$roles_user->execute(['id_persona'=>$var['id_persona']]);
$_SESSION['Agregar']=false;
$_SESSION['Consultar']=false;
$_SESSION['Editar']=false;
$_SESSION['Eliminar']=false;
while($row=$roles_user->fetch(PDO::FETCH_ASSOC)){
switch($row['rol']){
case 'Agregar':
$_SESSION['Agregar']=true;
break;
case 'Consultar':
$_SESSION['Consultar']=true;
break;
case 'Editar':
$_SESSION['Editar']=true;
break;
case 'Eliminar':
$_SESSION['Eliminar']=true;
break;
}
}
return true;
}else {
return false;
}//end if validar coincidencia
} catch(PDOException $e){
return false;
}
}
}
?>