|
|
<?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 validarUsuario($username,$password)
|
|
|
{
|
|
|
//realizamos la consulta de todos los items
|
|
|
$consulta = $this->db->prepare('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->execute();
|
|
|
//devolvemos la coleccion para que la vista la presente.
|
|
|
return $consulta;
|
|
|
}
|
|
|
|
|
|
public function validarAdministrador($username,$password)
|
|
|
{
|
|
|
//realizamos la consulta de todos los items
|
|
|
$consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE username = "'.$username.'" AND password = "'.md5($password).'" AND state = "1" AND usertype = 2 ');
|
|
|
$consulta->execute();
|
|
|
//devolvemos la coleccion para que la vista la presente.
|
|
|
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){
|
|
|
//realizamos la consulta de usuario por id
|
|
|
$consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE username = "'.$username.'" ');
|
|
|
$consulta->execute();
|
|
|
//devolvemos la coleccion para que la vista la presente.
|
|
|
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){
|
|
|
//realizamos la consulta de usuario por id
|
|
|
$consulta = $this->db->prepare('SELECT sis_user.* FROM sis_user WHERE username = "'.$username.'" ');
|
|
|
$consulta->execute();
|
|
|
//obtenemos el arreglo de datos y lo evaluamos
|
|
|
$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;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
* FUNCIONES DESARROLLADAS POR JOSE ANTONIO SAL Y ROSAS C.
|
|
|
**/
|
|
|
//JASYRC 06MAY2010
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//JASYRC 06MAY2010
|
|
|
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);
|
|
|
}
|
|
|
|
|
|
//JASYRC 12MAY2010
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
//JASYRC 06MAY2010
|
|
|
function editUser($user){
|
|
|
$query = "SELECT * FROM sis_user WHERE iduser = '$user'";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 07MAY2010
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
//JASYRC 06MAY2010
|
|
|
function delUser($user){
|
|
|
$query = "UPDATE sis_user SET state = 3 WHERE iduser = $user";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 07MAY2010 - FECHA DE DESARROLLO
|
|
|
//JASYRC 10MAY2010 - FECHA DE ACTUALIZACION
|
|
|
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;
|
|
|
}
|
|
|
}
|
|
|
?>
|
|
|
|