public static function validarUsuario($correo, $key) { $retVal = 1; //0-> Fail , 1->OK, 2->Ya validado try { //Comprobar que el usuario no este validado. $sql = "SELECT id_usuario,nombre, apellido1,apellido2,email,key_usuario,validado FROM usuario WHERE email LIKE :correo and key_usuario LIKE :key"; $comando = Conexion::getInstance()->getDb()->prepare($sql); $comando->execute(array(":correo" => $correo, ":key" => $key)); } catch (PDOException $ex) { Utils::escribeLog("Error: " . $e->getMessage() . " | Fichero: " . $e->getFile() . " | Línea: " . $e->getLine() . " [Error al buscar el usuario para validar]", "debug"); $retVal = 0; return $retVal; } //comprobar filas $cuenta = $comando->rowCount(); if ($cuenta == 0) { Utils::escribeLog("No hay usuario para validar", "debug"); $retVal = 0; return $retVal; } //comprobar el estado de validado $result = $comando->fetch(PDO::FETCH_ASSOC); $id_usuario = $result['id_usuario']; $nombre = $result['nombre']; $ape1 = $result['apellido1']; $ape2 = $result['apellido2']; if ($result['validado'] === '1') { Utils::escribeLog("Ya está validado", "debug"); $retVal = 2; return $retVal; } //actualizar campo validado try { $sql = "UPDATE usuario SET validado='1' WHERE id_usuario LIKE :id"; $comando = Conexion::getInstance()->getDb()->prepare($sql); $comando->execute(array(':id' => $id_usuario)); } catch (PDOException $e) { $retVal = 0; Utils::escribeLog("Error: " . $e->getMessage() . " | Fichero: " . $e->getFile() . " | Línea: " . $e->getLine() . " [Error al buscar el usuario para validar]", "debug"); return $retVal; } //ver lineas afectadas if ($comando->rowCount() == 0) { Utils::escribeLog("Error al validar", "debug"); $retVal = 0; return $retVal; } //enviar correo de validado OK $CorreoUser = new CorreoUser(); $result = $CorreoUser->enviarConfirmValidacion($nombre, $ape1, $ape2 = "", $correo); if (!$result) { //Utils::escribeLog("Error: ".$e->getMessage()." | Fichero: ".$e->getFile()." | Línea: ".$e->getLine()." [Error al enviar correo]","debug"); $retVal = 3; return $retVal; } //Utils::escribeLog("Correo enviado OK","debug"); return $retVal; //si todo va OK deveria devolver 1 }
public static function validarUsuario($correo, $key) { $retVal = 1; //0-> Fail , 1->OK, 2->Ya validado $db = Conexion::getInstance()->getDb(); try { //Comprobar que el usuario no este validado. $sql = "SELECT usu.Usuario_Id, trab.Nombre,trab.Apellido,trab.Activo,trab.Trabajador_Id\n\t\t\t\t FROM Usuarios usu JOIN Trabajadores trab \n\t\t\t\t ON usu.Trabajador_Id=trab.Trabajador_Id\n\t\t\t\t WHERE trab.User_key like :key and trab.Email like :email"; $comando = $db->prepare($sql); $comando->execute(array(":key" => $key, ":email" => $correo)); } catch (PDOException $e) { Utils::escribeLog("Error: " . $e->getMessage() . " | Fichero: " . $e->getFile() . " | Línea: " . $e->getLine() . " [Error al buscar el usuario para validar]", "debug"); $retVal = 0; return $retVal; } //comprobar filas $cuenta = $comando->rowCount(); if ($cuenta == 0) { Utils::escribeLog("No hay usuario para validar", "debug"); $retVal = 0; return $retVal; } //comprobar el estado de validado $result = $comando->fetch(PDO::FETCH_ASSOC); //comprobar si el usuario ya está activo if ($result['Activo'] === '1') { Utils::escribeLog("Ya está validado", "debug"); $retVal = 2; return $retVal; } //obtenemos las variables $id_usuario = $result['Usuario_Id']; $nombre = $result['Nombre']; $ape1 = $result['Apellido']; $TrabId = $result['Trabajador_Id']; //actualizar campo validado try { $sql = "UPDATE Trabajadores SET Activo='1' WHERE Trabajador_Id LIKE :id"; $comando = $db->prepare($sql); $comando->execute(array(':id' => $TrabId)); } catch (PDOException $e) { $retVal = 0; Utils::escribeLog("Error: " . $e->getMessage() . " | Fichero: " . $e->getFile() . " | Línea: " . $e->getLine() . " [Error al buscar el usuario para validar]", "debug"); return $retVal; } //ver lineas afectadas if ($comando->rowCount() == 0) { Utils::escribeLog("Error al validar", "debug"); $retVal = 0; return $retVal; } //enviar correo de validado OK $CorreoUser = new CorreoUser(); $result = $CorreoUser->enviarConfirmValidacion($nombre, $ape1, $correo); if (!$result) { //Utils::escribeLog("Error: ".$e->getMessage()." | Fichero: ".$e->getFile()." | Línea: ".$e->getLine()." [Error al enviar correo]","debug"); $retVal = 3; return $retVal; } //Utils::escribeLog("Correo enviado OK","debug"); return $retVal; //si todo va OK deveria devolver 1 }