Пример #1
0
 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
 }
Пример #2
0
 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
 }