UsersModel.php
296 lines
| 11.8 KiB
| text/x-php
|
PhpLexer
|
r0 | <?php | ||
class UsersModel extends ModelBase{ | ||||
public $tableName = 'sis_user'; | ||||
public $id = array('key'=>'iduser','value'=>''); | ||||
public function addItem($datos){ | ||||
$this->setFieldArray($datos); | ||||
list($resultado,$id,$mensaje) = $this->insert(); | ||||
return array ($resultado,$id,$mensaje); | ||||
} | ||||
public function DeleteItem(){ | ||||
list($resultado,$mensaje) = $this->delete(); | ||||
return array ($resultado,$mensaje); | ||||
} | ||||
public function UpdateItem($datos){ | ||||
$this->setFieldArray($datos); | ||||
list($resultado,$mensaje) = $this->update(); | ||||
return array ($resultado,$mensaje); | ||||
} | ||||
public function dolist($datos = array("inicio" => 0, "tamanio" => 5)){ | ||||
$query = "SELECT * FROM sis_user WHERE usertype = 1"; | ||||
$consulta = $this->db->prepare($query); | ||||
$consulta->execute(); | ||||
$num_filas = $consulta->rowCount(); | ||||
//getPager($datos = array("total" => 0, "inicio" => 0, "pagina" => 5)//uso de la variable arreglo. | ||||
$parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']); | ||||
list($paginas,$navegador) = $this->getPager($parametros); | ||||
//realizamos una consulta paginada | ||||
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' '); | ||||
$consulta->execute(); | ||||
return array($consulta,$paginas,$navegador); | ||||
} | ||||
public function validarUsuario($username,$password){ | ||||
$str_query = ' SELECT sis_user.* FROM sis_user WHERE username = "'.$username.'"' | ||||
.' AND password = "'.md5($password).'" AND (state = "1" OR state = "4" OR state = "5") AND usertype = 1 '; | ||||
$consulta = $this->db->prepare($str_query); | ||||
$consulta->execute(); | ||||
return $consulta; | ||||
} | ||||
public function validarAdmin($username,$password){ | ||||
$str_query = 'SELECT * FROM sis_user WHERE username = "'.$username | ||||
.'" AND password = "'.md5($password).'" AND state = "1" AND usertype = 2 '; | ||||
$consulta = $this->db->prepare($str_query); | ||||
$consulta->execute(); | ||||
return $consulta; | ||||
} | ||||
public function validateUsers($username,$password){ | ||||
$str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username | ||||
.'" AND password = "'.md5($password).'" AND usertype >= 1 '; | ||||
$consulta = $this->db->prepare($str_query); | ||||
$consulta->execute(); | ||||
return $consulta; | ||||
} | ||||
public function obtenerUsuarioxId($id){ | ||||
//realizamos la consulta de usuario por id | ||||
$consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE iduser = "'.$id.'" '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function obtenerUsuarioxUsername($username){ | ||||
$str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username.'" '; | ||||
$consulta = $this->db->prepare($str_query); | ||||
$consulta->execute(); | ||||
return $consulta; | ||||
} | ||||
public function obtenerUsuarioxUsernameMD5($username){ | ||||
//realizamos la consulta de usuario por id | ||||
$consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE MD5(sis_user.username) = "'.$username.'" '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function bloquearUsuario($iduser){ | ||||
//realizamos la consulta de usuario por id | ||||
$consulta = $this->db->prepare('UPDATE sis_user SET state = "2" WHERE iduser = '.$iduser.' '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function setUserSession($datos){ | ||||
//realizamos la consulta de usuario por id | ||||
$consulta = $this->db->prepare(' INSERT INTO sis_session ( idsession , iduser , client_ip , date_session, date_last_activity, state ) VALUES ( "" , "'.$datos['iduser'].'", "'.$datos['client_ip'].'", "'.$datos['date_session'].'" , "'.$datos['date_last_activity'].'" , "'.$datos['state'].'" ) '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function obtenerEstadoUsuario($username){ | ||||
$str_query = 'SELECT * FROM '.$this->tableName.' WHERE username = "'.$username.'"'; | ||||
$consulta = $this->db->prepare($str_query); | ||||
$consulta->execute(); | ||||
$datauser = $consulta->fetch(); | ||||
$estado = ""; | ||||
if(isset($datauser['state'])){ | ||||
switch($datauser['state']){ | ||||
case 1: | ||||
$state = "ACTIVE"; | ||||
break; | ||||
case 2: | ||||
$state = "LOCKED"; | ||||
break; | ||||
case 3: | ||||
$state = "DELETED"; | ||||
break; | ||||
case 4: | ||||
$state = "FLOGIN"; | ||||
break; | ||||
case 5: | ||||
$state = "RESET"; | ||||
break; | ||||
} | ||||
return $state; | ||||
}else{ | ||||
return ''; | ||||
} | ||||
} | ||||
public function registrarLogIngreso($id_usu){ | ||||
$consulta = $this->db->prepare(' INSERT INTO log_login ( id_log , id_usu , fec_log ) VALUES ( "" , "'.$id_usu.'", "'.date("Ymd H:i:s", time()).'") '); | ||||
$consulta->execute(); | ||||
//devolvemos .... | ||||
return $consulta; | ||||
} | ||||
public function obtenerListaUsuariosIngresos($where=""){ | ||||
//realizamos la consulta de todos los items | ||||
$consulta = $this->db->prepare('SELECT tb_usuarios.* , tb_roles.des_rol AS "rol", count(log_login.id_usu) as "ingresos", | ||||
max(log_login.fec_log) as "ultimo_ingreso" FROM tb_usuarios LEFT JOIN tb_roles ON tb_usuarios.id_rol = tb_roles.id_rol LEFT JOIN log_login ON tb_usuarios.id_usu = log_login.id_usu '.$where.' GROUP BY tb_usuarios.id_usu'); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function setNewPassword($iduser,$password){ | ||||
//realizamos la consulta de usuario por id | ||||
$consulta = $this->db->prepare('UPDATE sis_user SET password = "'.md5($password).'" WHERE iduser = '.$iduser.' '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function setInactive($iduser){ | ||||
//realizamos la consulta de usuario por id | ||||
$consulta = $this->db->prepare('UPDATE sis_user SET state = "2" WHERE iduser = '.$iduser.' '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function setActive($iduser){ | ||||
//realizamos la consulta de usuario por id | ||||
$consulta = $this->db->prepare('UPDATE sis_user SET state = "1" WHERE iduser = '.$iduser.' '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function getStringUsers(){ | ||||
//realizamos la consulta de todos los items | ||||
$query = $this->db->prepare('SELECT u.* FROM sis_user AS u '); | ||||
$query->execute(); | ||||
//Se recibe el arreglo completo de usuarios. | ||||
$arregloUsuarios = $query->fetchAll(); | ||||
$j = count($arregloUsuarios); | ||||
$cadena = ''; | ||||
for($i=0; $j>$i;$i++){ | ||||
$arregloUsuario = $arregloUsuarios[$i]; | ||||
if(($j-1) == $i){ | ||||
$cadena .= $arregloUsuario['firstname'].' '.$arregloUsuario['lastname'].' [ '.$arregloUsuario['username'].' ]'; | ||||
}else{ | ||||
$cadena .= $arregloUsuario['firstname'].' '.$arregloUsuario['lastname'].' [ '.$arregloUsuario['username'].' ] , '; | ||||
} | ||||
} | ||||
return $cadena; | ||||
} | ||||
public function getStringUser($iduser){ | ||||
//realizamos la consulta de todos los items | ||||
$query = $this->db->prepare('SELECT u.* FROM sis_user AS u WHERE u.iduser = "'.$iduser.'" '); | ||||
$query->execute(); | ||||
//Se recibe el arreglo completo de usuarios. | ||||
$datosUsuarios = $query->fetch(); | ||||
$cadena = ''; | ||||
$cadena .= $datosUsuarios['firstname'].' '.$datosUsuarios['lastname'].' [ '.$datosUsuarios['username'].' ]'; | ||||
return $cadena; | ||||
} | ||||
public function obtenerListaRoles(){ | ||||
//realizamos la consulta de todos los items | ||||
$consulta = $this->db->prepare('SELECT tb_roles.* FROM tb_roles '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return $consulta; | ||||
} | ||||
public function getUsers($datos = array("inicio" => 0, "tamanio" => 5)){ | ||||
//realizamos la consulta de todos los items | ||||
$query = "SELECT * FROM sis_user WHERE usertype = 1"; | ||||
$consulta = $this->db->prepare($query); | ||||
$consulta->execute(); | ||||
$num_filas = $consulta->rowCount(); | ||||
//getPager($datos = array("total" => 0, "inicio" => 0, "pagina" => 5)//uso de la variable arreglo. | ||||
$parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']); | ||||
list($paginas,$navegador) = $this->getPager($parametros); | ||||
//realizamos una consulta paginada | ||||
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return array($consulta,$paginas,$navegador); | ||||
} | ||||
function addUser($username, $password, $data_user){ | ||||
$query = "INSERT INTO sis_user( username, password, date_create, firstname, lastname, email," | ||||
." photo, usertype, state ) VALUES ( '$username' , md5('$password'), '".date("Y-m-d H:i:s")."'," | ||||
." '".$data_user['firstname']."', '".$data_user['lastname']."', '".$data_user['email']."'," | ||||
." '".$data_user['urlphoto']."', 1, 4)"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
function editUser($user){ | ||||
$query = "SELECT * FROM sis_user WHERE iduser = '$user'"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
function updateUser($user, $firstname, $lastname, $state){ | ||||
$query = "UPDATE sis_user SET firstname = '$firstname', lastname = '$lastname'" | ||||
.", state = $state WHERE iduser = $user"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
function delUser($user){ | ||||
$query = "UPDATE sis_user SET state = 3 WHERE iduser = $user"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
function searchUserbyUName($username){ | ||||
$query = "SELECT * FROM sis_user WHERE username = '$username'"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
public function getPasswd($iduser){ | ||||
$query = "SELECT password FROM sis_user WHERE iduser = $iduser"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
public function getAllUsers(){ | ||||
$query = "SELECT username FROM sis_user WHERE usertype = 1"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
} | ||||
?> | ||||