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($nom_empresa, $nom, $app, $cont, $email, $dirr, $tel) { //return $this->getIdUsuario(); $retVal = 1; //0->KO / 1->OK / 2->Existe el usuario/3-> Usuario insertado correo KO //Utils::escribeLog("Inicio nuevoUsuario","debug"); $timezone = date_default_timezone_get(); $date = date('m/d/Y h:i:s a', time()); $date = date('Y-m-d H:i:s'); try { //Antes de insertar comprobar que no exista el mismo id_usuario y correo $sql = "SELECT Client_Id FROM Clientes WHERE Nombre_empresa=:nom_emp or Email=:ema"; $comando = Conexion::getInstance()->getDb()->prepare($sql); $comando->execute(array(":nom_emp" => $nom_empresa, ":ema" => $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("nom_empresa 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 Clientes(Nombre_empresa,Nombre,Apelido,Password,Email,Direccion,Telefono,Fecha_crear)VALUES\n\t\t\t(:nom_empresa,:nombre,:ape,:contra,:email,:dir,:tel,:fecha)"; //INSERT INTO `Clientes`(`Client_Id`, `Nombre`, `Apelido`, `Password`, `Direccion`, `Ciudad`, `Telefono`, `Email`, `Comprado`, `User_key`, `Fecha_creacion`, `otra`, `NIF`, `fecha_modif`) $key = Utils::random_string(50); $comando = null; $comando = Conexion::getInstance()->getDb()->prepare($sql); $comando->execute(array(":nom_empresa" => $nom_empresa, ":nombre" => $nom, ":ape" => $app, ":contra" => md5($cont), ":email" => $email, ":dir" => $dirr, ":tel" => $tel, ":fecha" => $date)); } 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 //$CorreoUse=new CorreoUser(); //$result=$CorreoUser->enviarCorreoRegistro($nom_empresa,$nom,$app,$cont,$email,$key); //$result=$CorreoUse->email_confirm($nom_empresa,$key,$email); $result = CorreoUser::email_confirm($nom_empresa, $key, $email); 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 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 }
$app->get('/inicio2', function () use($app) { $app->render('tmp_inicio2.php'); }); //Contacto $app->post('/contacto', function () use($app) { include_once 'Modelos/CorreoUser.php'; $req = $app->request(); $nombre = trim($req->post('nombre')); $email = trim($req->post("correo")); $asunto = trim($req->post("asunto")); $comentarios = trim($req->post("comentario")); if (!isset($nombre) || !isset($email) || !isset($asunto) || !isset($comentarios)) { $mensaje = "con_ko_ef"; $app->redirect($app->urlFor('resultado', array('mensaje' => $mensaje))); } else { $CorreoUser = new CorreoUser(); $result = $CorreoUser->enviarCorreoContacto($nombre, $email, $asunto, $comentarios); if ($result) { $mensaje = "con_ok"; $app->redirect($app->urlFor('resultado', array('mensaje' => $mensaje))); } else { $mensaje = "con_ko"; $app->redirect($app->urlFor('resultado', array('mensaje' => $mensaje))); } } }); //Registro $app->post('/registro', function () use($app) { require_once 'Modelos/Cliente.php'; require_once 'Modelos/Utils.php'; //Utils::escribeLog("Inicio Registro","debug");
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 }