<?php
/**
* Descripción del Modelo de Datos Usuarios
*
* %%DESC_MODELO%%
*
* Licenciado bajo la Licencia Apache, Versión 2.0;
* Usted no puede usar este archivo excepto en conformidad con la Licencia.
* Usted puede obtener una copia de la Licencia en:
* http://www.php.net/license/3_01.txt.
* A menos que sea requerido por la ley aplicable o acordado por escrito, el software
* Distribuido bajo la licencia se distribuye en una "AS IS" o "COMO ESTA" BASE,
* SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, expresas o implícitas.
* Consulte la Licencia para los permisos y Limitaciones bajo la Licencia.
*
* @package Modelos\Datos\Usuarios
* @author LUIS ANTONIO MONTOYA CONTRERAS <lmontoya@ccsm.org.co>
* @author SICAM 20171025 <sicam32@ccsm.org.co>
* @copyright 2017 Cámara de Comercio de Santa Marta para el Magdalena
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @version 201712181018
* @link http://sicam.ccsm.org.co/docs/modelos/datos/Usuarios
*/
class Usuarios {
//put your code here
public static function usuarioColaboradorPorUserPass($usuario, $password) {
$sqlQuery = UsuariosSQL::DATOS_COMPLETOS . 'WHERE '
. 'Usuarios.colaboradorID IS NOT NULL '
. 'AND Usuarios.usuarioNOMBRE = ? '
. 'AND Usuarios.usuarioCLAVE = MD5(?)';
return SicamDB::selectUnaFila($sqlQuery, array($usuario, $password));
}
public static function deApiPorUserPass($usuario, $password) {
$sqlQuery = UsuariosSQL::DATOS_COMPLETOS_API . ' WHERE '
. 'Usuarios.aplicacionID IS NOT NULL '
. 'AND Usuarios.usuarioNOMBRE = ? '
. 'AND Usuarios.usuarioCLAVE = MD5(?)';
return SicamDB::selectUnaFila($sqlQuery, array($usuario, $password));
}
public static function datosCompletosApi($idUsuario) {
$sqlQuery = UsuariosSQL::DATOS_COMPLETOS_API . ' WHERE '
. 'Usuarios.aplicacionID IS NOT NULL '
. 'AND Usuarios.usuarioID = ? ';
return SicamDB::selectUnaFila($sqlQuery, array($idUsuario));
}
public static function datosCompletosApiporNombre($usuarioNombre) {
$sqlQuery = UsuariosSQL::DATOS_COMPLETOS_API . ' WHERE '
. 'Usuarios.aplicacionID IS NOT NULL '
. 'AND Usuarios.usuarioNOMBRE = ? ';
return SicamDB::selectUnaFila($sqlQuery, array($usuarioNombre));
}
public static function todos() {
$sqlQuery = UsuariosSQL::DATOS_COMPLETOS;
return SicamDB::selectVariasFilas($sqlQuery, array());
}
public static function datos($userID) {
$sqlQuery = UsuariosSQL::DATOS_COMPLETOS . ' WHERE ( Usuarios.usuarioID = ? );' ;
return SicamDB::selectUnaFila($sqlQuery, array($userID));
}
public static function porUsernamePass($user, $password) {
$sqlQuery = "SELECT usuarioID , colaboradorID, usuarioNOMBRE, usuarioESTADO FROM Usuarios "
. " WHERE ( Usuarios.usuarioNOMBRE = ? AND Usuarios.usuarioCLAVE = MD5(?) AND Usuarios.usuarioESTADO = 'ACTIVO'); ";
return SicamDB::selectUnaFila($sqlQuery, array($user, $password));
}
public static function datoPorNombre($usuarioNOMBRE) {
$sqlQuery = "SELECT usuarioID , colaboradorID, usuarioNOMBRE, usuarioESTADO FROM Usuarios "
. " WHERE ( Usuarios.usuarioNOMBRE = ? ); ";
return SicamDB::selectUnaFila($sqlQuery, array($usuarioNOMBRE));
}
public static function porUsername($userCORREO) {
$sqlQuery = "SELECT usuarioID , colaboradorID, usuarioNOMBRE, usuarioESTADO FROM Usuarios "
. " WHERE ( Usuarios.usuarioNOMBRE = ? AND Usuarios.usuarioESTADO = 'ACTIVO'); ";
return SicamDB::selectUnaFila($sqlQuery, array($userCORREO));
}
public static function porId($userID) {
$sqlQuery = "SELECT usuarioID , colaboradorID, usuarioNOMBRE, usuarioESTADO FROM Usuarios "
. " WHERE ( Usuarios.usuarioID = ? ); ";
return SicamDB::selectUnaFila($sqlQuery, array($userID));
}
public static function porIdporContrasena($userID,$password) {
$sqlQuery = "SELECT usuarioID , colaboradorID, usuarioNOMBRE, usuarioESTADO FROM Usuarios "
. " WHERE ( Usuarios.usuarioID = ? ) AND ( Usuarios.usuarioCLAVE = MD5(?) ); ";
return SicamDB::selectUnaFila($sqlQuery, array($userID,$password));
}
public static function usuariosActivos() {
$sqlQuery = "SELECT usuarioID , colaboradorID , usuarioNOMBRE FROM Usuarios "
. " WHERE (Usuarios.usuarioESTADO = 'ACTIVO'); ";
return SicamDB::selectVariasFilas($sqlQuery);
}
public static function guardar($colaboradorID, $usuarioNOMBRE, $usuarioCLAVE, $usuarioUSRACTIVA) {
$sqlQuery = "INSERT INTO Usuarios ( colaboradorID, usuarioNOMBRE, usuarioCLAVE, usuarioUSRACTIVA ) VALUES ( ?, ?, MD5(?), ?);";
return SicamDB::insertFila($sqlQuery, array($colaboradorID, $usuarioNOMBRE, $usuarioCLAVE, $usuarioUSRACTIVA));
}
public static function colaborador($usuarioID) {
$colaborador = Colaboradores::datosCompletosPorUsuario($usuarioID);
$colaborador->contacto = Personas::buscarPersonaPorId($colaborador->personaID);
$colaborador->estudios = PersonasEstudios::estudiosPorIdPersonas($colaborador->personaID);
$colaborador->familiar = PersonasRelaciones::relacionesPersonasPorIDPersonas($colaborador->personaID);
return $colaborador;
}
/*
**
***/
public static function roles($usuarioID) {
$sqlQuery = UsuariosSQL::ROLES . " WHERE Usuarios.usuarioID = ?";
return SicamDB::selectVariasFilas($sqlQuery, array($usuarioID));
}
public static function asignarPermiso($permisoID, $usaurioID) {
$sqlQuery = UsuariosSQL::ASIGNAR_PERMISO;
return SicamDB::insertFila($sqlQuery, array($permisoID, $usaurioID));
}
public static function asignarRol($rolID, $usaurioID) {
$sqlQuery = UsuariosSQL::ASIGNAR_ROL;
return SicamDB::insertFila($sqlQuery, array($rolID, $usaurioID));
}
public static function permisos($usaurioID) {
$sqlQuery = ControlOperacionesSQL::DATOS_POR_USUARIO . " WHERE Usuarios.usuarioID = ?";
return SicamDB::selectVariasFilas($sqlQuery, array($usaurioID));
}
public static function activar($usuarioID) {
$sqlQuery = UsuariosSQL::ACTIVAR;
return SicamDB::actualizarFila($sqlQuery, array(Cliente::usuarioID(), $usuarioID));
}
public static function desactivar($usuarioID) {
$sqlQuery = UsuariosSQL::DESACTIVAR;
return SicamDB::actualizarFila($sqlQuery, array(Cliente::usuarioID(), $usuarioID));
}
public static function actualizarClave($userPassword, $userID) {
$sqlQuery = "UPDATE Usuarios SET usuarioCLAVE = MD5(?) WHERE usuarioID = ?;";
return SicamDB::actualizarFila($sqlQuery, array($userPassword, $userID));
}
public static function eliminarPermiso($operacionID, $usuarioID){
$sqlQuery = UsuariosSQL::ELIMINAR_PERMISO;
return SicamDB::actualizarFila($sqlQuery, array($operacionID, $usuarioID));
}
public static function eliminarRol($rolID, $usuarioID){
$sqlQuery = UsuariosSQL::ELIMINAR_ROL;
return SicamDB::actualizarFila($sqlQuery, array($rolID, $usuarioID));
}
public static function registrarLogin($ipSesion, $latSesion, $lngSesion){
$sqlQuery = "UPDATE Usuarios "
. " SET Usuarios.usuarioULTINGRESO = NOW(), "
. " Usuarios.usuarioULTDIRECCIONIP = ?, Usuarios.usuarioULTLATITUD = ?, Usuarios.usuarioULTLONGITUD = ? "
. " WHERE "
. " Usuarios.usuarioID = ? ";
return SicamDB::actualizarFila($sqlQuery, array($ipSesion, $latSesion, $lngSesion, Cliente::usuarioID()));
}
}
// Generado el 2017-12-18 10:18:50:000000