/** * * @param string $login * @param string $pwd * @return DTO del usuario asociado a las credenciales si estas son validas, null en caso contrario */ public static function getUserDoingLogin($login, $pwd) { $usuarioDTO = NULL; try { $query = "SELECT u.id, u.nombre, u.apellido, u.correo, u.tiempo_sesion, u.clave, u.active, u.registros_por_pagina " . "FROM usuarios u " . "WHERE u.login='******' " . "AND u.clave=MD5('" . $pwd . "') "; $arrayResult = DBUtil::executeSelect($query); if (count($arrayResult) > 0) { //credenciales validas $row = $arrayResult[0]; $usuarioDTO = new UsuarioDTO($row["id"], $row["nombre"], $row["apellido"], $login, $row["clave"], $row["correo"], $row["tiempo_sesion"], $row["active"], $row["registros_por_pagina"]); $moduloDAO = new ModuloDAO(); $usuarioDTO->setModulesAllowed($moduloDAO->getModulosXUser($row["id"])); } } catch (Exception $e) { die("Error verificando login"); } return $usuarioDTO; }
<?php include_once '../classes/Constants.php'; include_once "../classes/PageAccess.php"; include_once '../classes/BitacoraDAO.php'; include_once '../classes/UsuarioDTO.php'; include_once '../classes/DBUtil.php'; include_once '../includes/session.php'; //falta el criterio de filtro para esta pagina PageAccess::validateAccess(Constants::$OPCION_PERFIL); BitacoraDAO::registrarComentario("Acceso autorizado a la funcionalidad de cambio de perfil"); $userDTO = $_SESSION[Constants::$KEY_USUARIO_DTO]; $query = "UPDATE usuarios SET " . " nombre='" . $_POST["nombre"] . "'," . " apellido='" . $_POST["apellido"] . "'," . " correo='" . $_POST["correo"] . "'," . ($_POST["clave"] != "" ? " clave=MD5('" . $_POST["clave"] . "'), " : "") . " tiempo_sesion=" . $_POST["tiempoSesion"] . ", " . " registros_por_pagina=" . $_POST["registrosPorPagina"] . " WHERE id=" . $userDTO->getId(); DBUtil::executeQuery($query); BitacoraDAO::registrarComentario("Informacion de perfil actualizada"); //actualizamos en session los valores $newUserDTO = new UsuarioDTO($userDTO->getId(), $_POST["nombre"], $_POST["apellido"], $userDTO->getLogin(), '', $_POST["correo"], $_POST["tiempoSesion"], $userDTO->getActive(), $_POST["registrosPorPagina"]); $newUserDTO->setModulesAllowed($userDTO->getModulesAllowed()); $_SESSION[Constants::$KEY_USUARIO_DTO] = $newUserDTO; $_SESSION[Constants::$KEY_MESSAGE_OPERATION] = "Su operación fue realizada"; header("Location: ../perfil.php");