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; }
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); }
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; }
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 }