##// END OF EJS Templates
modificaciones del componente usuarios. Reduccion de codigo
modificaciones del componente usuarios. Reduccion de codigo

File last commit:

r0:1
r4:5
Show More
UsersModel.php
318 lines | 10.2 KiB | text/x-php | PhpLexer
<?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;
}
}
?>