Пример #1
0
 public static function nuevoTrabajador($nombre, $apellido, $email, $telefono = null, $perfil = null, $idUsu = null, $idCli = null)
 {
     $retVal = 1;
     $key = Utils::random_string(50);
     $bd = Conexion::getInstance()->getDb();
     if (is_null($idCli)) {
         //recuperar el id_cliente en base al usuario
         try {
             $sql = "SELECT trab.Cliente_Id\n\t\t\t\t\t  FROM Usuarios usu JOIN Trabajadores trab\n\t\t\t\t\t  ON usu.Trabajador_Id=trab.Trabajador_Id\n\t\t\t\t\t  WHERE usu.Usuario_Id=:id";
             $consulta = $bd->prepare($sql);
             $consulta->execute(array(':id' => $idUsu));
         } catch (PDOException $e) {
             $retVal = 0;
             return $retVal;
         }
         if ($consulta->rowCount() == 0) {
             $retVal = 0;
             return $retVal;
         } else {
             $datoCli = $consulta->fetch(PDO::FETCH_ASSOC);
             $idCli = $datoCli['Cliente_Id'];
         }
     }
     if (isset($telefono) && isset($perfil)) {
         $sql = "INSERT INTO Trabajadores(Nombre,Apellido,User_key,Cliente_Id,Email,Telefono,Perfil_Id) VALUES(:nom,:ape,:key,:cliId,:email,:tel,:perf)";
         $variables = array(":nom" => $nombre, ":ape" => $apellido, ":key" => $key, ":cliId" => $idCli, ":email" => $email, ":tel" => $telefono, ":perf" => $perfil);
     } else {
         $sql = "INSERT INTO Trabajadores(Nombre,Apellido,User_key,Cliente_Id,Email) VALUES(:nom,:ape,:key,:cliId,:email)";
         $variables = array(":nom" => $nombre, ":ape" => $apellido, ":key" => $key, ":cliId" => $idCli, ":email" => $email);
     }
     try {
         $consulta = $bd->prepare($sql);
         $consulta->execute($variables);
         $res2 = $bd->prepare("SELECT Trabajador_Id from Trabajadores WHERE User_key LIKE :key");
         $res2->execute(array('key' => $key));
     } catch (PDOException $e) {
         $retVal = 0;
         return $retVal;
     }
     $idres2 = $res2->fetch(PDO::FETCH_ASSOC);
     $idTrab = $idres2['Trabajador_Id'];
     $cuenta = $consulta->rowCount();
     if ($cuenta == 0) {
         //Utils::escribeLog("nom_empresa y/o correo  existentes en la BBDD -> KO","debug");
         $retVal = 2;
         return $retVal;
     }
     $idUsuario = mb_strtolower($nombre[0] . $apellido . $idTrab, 'UTF-8');
     $correouser = new CorreoUser();
     $res = $correouser->enviarCorreoRegistro($idUsuario, $nombre, $apellido, $email, $key);
     if (!$res) {
         $retVal = 3;
         return $retVal;
     }
     return $retVal;
 }
Пример #2
0
 public static function nuevoTrabajador($nombre, $apellido, $key, $idCliente, $email)
 {
     $retVal = 1;
     $bd = Conexion::getInstance()->getDb();
     try {
         $sql = "INSERT INTO Trabajadores(Nombre,Apellido,User_key,Cliente_Id,Email) VALUES(:nom,:ape,:key,:cliId,:email)";
         $consulta = $bd->prepare($sql);
         $consulta->execute(array(":nom" => $nombre, ":ape" => $apellido, ":key" => $key, ":cliId" => $idCliente, ":email" => $email));
     } catch (PDOException $e) {
         $retVal = 0;
         return $retVal;
     }
     $cuenta = $comando->rowCount();
     if ($cuenta != 0) {
         //Utils::escribeLog("nom_empresa y/o correo  existentes en la BBDD -> KO","debug");
         $retVal = 2;
         return $retVal;
     }
     $correouser = new CorreoUser();
     $correouser->enviarCorreoRegistro($idUsuario, $Nombre, $ape1, $correo, $key);
 }
Пример #3
0
 public static function nuevoTrabajador($nombre, $apellido, $key, $idCliente, $email, $telefono = null, $perfil = null)
 {
     $retVal = 1;
     $bd = Conexion::getInstance()->getDb();
     if (isset($telefono) && isset($perfil)) {
         $sql = "INSERT INTO Trabajadores(Nombre,Apellido,User_key,Cliente_Id,Email,Telefono,Perfil_Id) VALUES(:nom,:ape,:key,:cliId,:email,:tel,:perfil)";
         $variables = array(":nom" => $nombre, ":ape" => $apellido, ":key" => $key, ":cliId" => $idCliente, ":email" => $email, ":tel" => $telefono, ":perfil" => $perfil);
     } else {
         $sql = "INSERT INTO Trabajadores(Nombre,Apellido,User_key,Cliente_Id,Email) VALUES(:nom,:ape,:key,:cliId,:email)";
         $variables = array(":nom" => $nombre, ":ape" => $apellido, ":key" => $key, ":cliId" => $idCliente, ":email" => $email);
     }
     try {
         $bd->beginTransaction();
         $consulta = $bd->prepare($sql);
         $consulta->execute($variables);
         $bd->commit();
         $res2 = $bd->prepare("SELECT MAX(Trabajador_Id)as Trabajador_Id from Trabajadores");
         $res2->execute();
     } catch (PDOException $e) {
         $retVal = 0;
         $bd->rollback();
         return $retVal;
     }
     $idres2 = $res2->fetch(PDO::FETCH_ASSOC);
     $idTrab = $idres2['Trabajador_Id'];
     $cuenta = $consulta->rowCount();
     if ($cuenta == 0) {
         //Utils::escribeLog("nom_empresa y/o correo  existentes en la BBDD -> KO","debug");
         $retVal = 2;
         return $retVal;
     }
     $idUsuario = mb_strtolower($nombre[0] . $apellido . $idTrab, 'UTF-8');
     $correouser = new CorreoUser();
     $res = $correouser->enviarCorreoRegistro($idUsuario, $nombre, $apellido, $email, $key);
     if (!$res) {
         $retVal = 3;
         return $retVal;
     }
     return $retVal;
 }
Пример #4
0
 public static function nuevoUsuario($id, $pass, $nombre, $ape1, $ape2 = "", $email)
 {
     //return $this->getIdUsuario();
     $retVal = 1;
     //0->KO / 1->OK / 2->Existe el usuario/3-> Usuario insertado correo KO
     Utils::escribeLog("Inicio nuevoUsuario", "debug");
     try {
         //Antes de insertar comprobar que no exista el mismo id_usuario y correo
         $sql = "SELECT id_usuario FROM usuario WHERE id_usuario=:id or email=:email";
         $comando = Conexion::getInstance()->getDb()->prepare($sql);
         $comando->execute(array(":id" => $id, ":email" => $email));
     } catch (PDOException $e) {
         Utils::escribeLog("Error: " . $e->getMessage() . " | Fichero: " . $e->getFile() . " | Línea: " . $e->getLine() . " [Usuario o email existentes]", "debug");
         $retVal = 0;
         return $retVal;
     }
     $cuenta = $comando->rowCount();
     if ($cuenta != 0) {
         Utils::escribeLog("IdUsuario y/o correo  existentes en la BBDD -> KO", "debug");
         $retVal = 2;
         return $retVal;
     }
     //Utils::escribeLog("IdUsuario y/o correo no existentes en la BBDD -> OK","debug");
     try {
         //si la cuenta da 0 insertar
         $sql = "INSERT INTO usuario(id_usuario,pass,nombre,apellido1,apellido2,email,key_usuario)VALUES\n\t\t\t(:id,:pass,:nombre,:ape1,:ape2,:email,:key)";
         $key = Utils::random_string(50);
         $comando = null;
         $comando = Conexion::getInstance()->getDb()->prepare($sql);
         $comando->execute(array(":id" => $id, ":pass" => md5($pass), ":nombre" => $nombre, ":ape1" => $ape1, ":ape2" => $ape2, ":email" => $email, ":key" => $key));
     } catch (PDOException $e) {
         Utils::escribeLog("Error: " . $e->getMessage() . " | Fichero: " . $e->getFile() . " | Línea: " . $e->getLine() . " [Error al insertar usuario]", "debug");
         $retVal = 0;
         return $retVal;
     }
     $cuenta = $comando->rowCount();
     if ($cuenta == 0) {
         $retVal = 0;
         return $retVal;
     }
     Utils::escribeLog("Usuario insertado en la BBDD -> OK", "debug");
     Utils::escribeLog("Pre-envio correo", "debug");
     //Enviar correo
     $CorreoUser = new CorreoUser();
     $result = $CorreoUser->enviarCorreoRegistro($id, $nombre, $ape1, $ape2, $email, $key);
     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 a: " . $id . " |Nombre: " . $nombre . " " . $ape1, "debug");
     return $retVal;
     //si todo va OK deveria devolver 1
 }