public static function validarLogin()
 {
     $errores = [];
     if (($err = self::validarEntradaLogin()) !== true) {
         $errores = $err;
     }
     if (!$errores) {
         $conn = Database::getInstance()->getDatabase();
         $ssql = "SELECT * \n\t\t\tfrom usuario inner join persona on (usuario.id = persona.id)\n\t\t\twhere (nick = :nick OR email = :nick) AND habilitado = 1";
         $nick = $_POST['nick'];
         $query = $conn->prepare($ssql);
         $query->bindParam(':nick', $nick);
         $query->execute();
         if ($query->rowCount() == 0) {
             $errores['nick'][] = "Usuario o contraseña incorrectos";
         } else {
             $ssql2 = "SELECT * \n\t\t\t\tFROM usuario inner join persona on (usuario.id = persona.id)\n\t\t\t\tWHERE (nick = :nick OR email = :nick) AND habilitado = 1 AND pass = :passwd";
             $passwd = HelperFunctions::encriptarPasswd($_POST['passwd']);
             $query = $conn->prepare($ssql2);
             $query->bindParam(':nick', $nick);
             $query->bindParam(':passwd', $passwd);
             $query->execute();
             if ($query->rowCount() == 0) {
                 $errores['passwd'][] = "La contraseña introducida es incorrecta";
             }
         }
     }
     return Validaciones::resultado($errores);
 }
Example #2
0
 public function editar($id)
 {
     HelperFunctions::comprobarSesion();
     if (Validaciones::validarId($id) !== true) {
         header("Location: " . URL . "estado");
     }
     $estado = EstadoModel::getEstado($id);
     if (!$_POST) {
         if ($estado) {
             $datos = array('destino' => 'estado/editar/' . $id, 'estado' => $estado, 'submit' => 'Editar');
             View::render("estado/formulario", $datos);
         } else {
             header("Location: " . URL . "estado");
         }
     } else {
         $_POST = HelperFunctions::sanear($_POST);
         $errores = [];
         if (!isset($_POST['descripcion']) || empty($_POST['descripcion'])) {
             $errores['descripcion'] = ['descripcion' => 'El campo es requerido'];
         }
         if ($errores) {
             $datos = array('destino' => 'estado/editar/' . $id, 'estado' => $estado, 'submit' => 'Editar', 'errores' => $errores);
             View::render("estado/formulario", $datos);
         } else {
             EstadoModel::update($_POST, $id);
             header("Location: " . URL . "estado");
         }
     }
 }
Example #3
0
 /**
  * Método encargado de validar datos
  * @param  Array $array Datos a validar
  * @return Boolean      true = si los datos son validos, false = si son invalidos
  */
 public static function validar($array)
 {
     // Validación de la clave
     if (isset($array['clave'])) {
         if (($erro = Validaciones::validarPassLogin($array["clave"])) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'No se ha indicado la clave');
     }
     // Validación del email
     if (isset($array['email'])) {
         if (($erro = Validaciones::validarEmail($array["email"])) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'No se ha indicado el email');
     }
     // Si hay errores devolvemos false
     if (Session::get('feedback_negative')) {
         return false;
     }
     // Si no hay errores devolvemos true
     return true;
 }
Example #4
0
 function banc()
 {
     parent::Controller();
     //$this->load->helper('form');
     //$this->load->helper('url');
     //$this->load->helper('text');
     $this->load->library('rapyd');
 }
Example #5
0
 function banc()
 {
     parent::Controller();
     $this->load->helper('form');
     $this->load->helper('url');
     $this->load->helper('text');
     $this->load->library('rapyd');
     define("THISFILE", APPPATH . "controllers/nomina" . $this->uri->segment(2) . EXT);
 }
Example #6
0
 /**
  * Método de edición de usuarios
  * @param  Integer $id ID del usuario a modificar
  * @return [type]     [description]
  */
 public function editar($id)
 {
     HelperFunctions::comprobarSesion();
     if (Validaciones::validarId($id) !== true) {
         header("Location: " . URL . "usuario");
     }
     if (!$_POST) {
         $usuario = UsuarioModel::getUser($id);
         if ($usuario) {
             $datos = array('destino' => 'usuario/editar/' . $id, 'usuario' => $usuario, 'submit' => 'Editar');
             View::render("usuario/formulario", $datos);
         } else {
             header("Location: " . URL . "usuario");
         }
     } else {
         echo "editando";
     }
 }
Example #7
0
 public function alta()
 {
     // Bloque try catch, para parar cualquier excepción producida
     // por la conexión
     try {
         if ($estado = UsuarioModel::alta($_POST)) {
             header('Location: /');
             exit;
         } else {
             // saneamos $_POST y lo mostramos
             $datos = Validaciones::sanearEntrada($_POST);
             $datos = ['datos' => $datos];
             echo $this->view->render('usuario/index', $datos);
             //header('Location: /Usuario');
         }
     } catch (PDOException $e) {
         // llamamos a la vista de error 500
         $array = ['msg' => 'Error del servidor, disculpe las molestias.'];
         echo $this->view->render('error/error500', $array);
         // modo debbug ON
         /*echo '<pre>';
         		echo $e->getMessage();*/
     }
 }
Example #8
0
<?php

// Indica la dependencia con el archivo Login.php
require_once '../Login.php';
$log = new Login();
// Objeto de tipo login
// Indica la dependencia con el archivo validaciones.php
require_once "../validaciones.php";
$validar = new Validaciones();
//Objeto de tipo validaciones
// Indica dependencia con el archivo Usuario.php
require_once '../Usuario.php';
//Inicio de sesión
if (!isset($_SESSION)) {
    session_start();
}
//Recibir los datos ingresados en el formulario
$documento = $_POST['documento'];
$password = $_POST['password'];
// Se realiza la validación
if ($validar->validar_documento($documento)) {
    if ($log->validarCredencialesEmpleado($documento, $password)) {
        $user = $log->crearUsuarioEmpleado($documento, $password);
        $_SESSION['user'] = $user;
        //enviar por sesion el rol al script que gestiona la interfaz del html oara que use roles con el rol obtenido de la session
        //Definimos las variables de sesión y redirigimos a la página de usuario
        //Pasar todos los atributos por variable de sesion para no hacer consulta en index
        $_SESSION['documento_usuario'] = $user->getDocumento_usuario();
        $_SESSION['rol_usuario'] = $user->getRol_usuario();
        $_SESSION['nombres_usuario'] = $user->getNombres_usuario();
        header("Location: ../index.php");
Example #9
0
 /**
  * método que realiza la busqueda
  */
 public function buscar()
 {
     if ($ofertas = OfertaModel::buscar($_POST)) {
         // llamamamos a la vista que permitira ver los resultados
         $datos = ['ofertas' => $ofertas];
         echo $this->view->render('ofertas/listaOfertas', $datos);
     } else {
         // Hay errores
         if (isset($_POST['busqueda'])) {
             $_POST['busqueda'] = Validaciones::limpiarString($_POST['busqueda']);
             $ofertas = OfertaModel::todas();
             $datos = ['ofertas' => $ofertas, 'busqueda' => $_POST['busqueda']];
             echo $this->view->render("ofertas/index", $datos);
         } else {
             // no se ha realizado busqueda alguna
             header('Location: /Oferta');
             exit;
         }
     }
 }
Example #10
0
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <h2>Acceso usuarios</h2>
    <form name="formulario" method="post" action="<?php 
echo $_SERVER['PHP_SELF'];
?>
">
       <?php 
if (isset($errores["usuario"])) {
    echo $errores["usuario"] . "</br>";
}
?>
            
        <label>Usuario</label><input type="text" name="usuario" value="<?php 
if (isset($_POST["usuario"])) {
    Validaciones::mostrarDatos($_POST["usuario"]);
}
?>
"><br/>
         <?php 
if (isset($errores["clave"])) {
    echo $errores["clave"] . "</br>";
}
?>
        <label>Clave</label><input type="password" name="clave"><br/>
        <input type="submit" value="Enviar">
    </form>
</body>
</html>
Example #11
0
 function rica()
 {
     parent::Controller();
     $this->load->library('rapyd');
 }
Example #12
0
 public function crear()
 {
     HelperFunctions::comprobarSesion();
     if (!$_POST) {
         $clientes = ClienteModel::getAll();
         $promos = PromocionModel::getAllPromociones();
         $estados = EstadoModel::getAll();
         $datos = array('destino' => 'proyecto/crear', 'submit' => 'Crear', 'promolist' => $promos, 'estadolist' => $estados, 'clientelist' => $clientes);
         View::render("proyecto/formulario", $datos);
     } else {
         $_POST = HelperFunctions::sanear($_POST);
         $errores = [];
         if (($err = Validaciones::validarFecha($_POST['fecha_de_inicio'])) !== true) {
             $errores['fecha_de_inicio'] = $err;
         }
         if (($err = Validaciones::validarFecha($_POST['fecha_prevista'])) !== true) {
             $errores['fecha_prevista'] = $err;
         }
         if ($errores) {
             $clientes = ClienteModel::getAll();
             $clienteselected = $_POST['cliente'];
             $promos = PromocionModel::getAllPromociones();
             $promoselected = $_POST['promocion'];
             $estados = EstadoModel::getAll();
             $estadoselected = $_POST['estado'];
             $datos = array('destino' => 'proyecto/crear', 'submit' => 'Crear', 'promolist' => $promos, 'promo_selected' => $promoselected, 'estadolist' => $estados, 'estado_selected' => $estadoselected, 'clientelist' => $clientes, 'cliente_selected' => $clienteselected, 'errores' => $errores);
             View::render("proyecto/formulario", $datos);
         } else {
             ProyectoModel::insert($_POST);
             header("Location: " . URL . "proyecto");
         }
     }
 }
Example #13
0
 public function update($id)
 {
     $errores = [];
     HelperFunctions::comprobarSesion();
     if (Validaciones::validarId($id) !== true) {
         header("Location: " . URL . "cliente");
     }
     if (!$_POST) {
         $cliente = ClienteModel::getCliente($id);
         $provincias = ProvinciaModel::getAll();
         $archivos = array("generic/formpersona", "cliente/formulario");
         $datos = array('destino' => 'cliente/update', 'submit' => 'Editar Cliente', 'provincialist' => $provincias, 'persona' => $cliente, 'errores' => $errores, 'volver' => 'cliente/index');
         View::renderMulti($archivos, $datos);
     } else {
         if (!is_array($err = ClienteModel::update()) && $err === true) {
             header("Location: " . URL . "cliente");
         }
         $errores = $err;
         $provincias = ProvinciaModel::getAll();
         $provinciaSelected = $_POST['provincia'];
         $archivos = array("generic/formpersona", "cliente/formulario");
         $datos = array('destino' => 'cliente/update', 'submit' => 'Insertar Cliente', 'provincialist' => $provincias, 'provinciaSelected' => $provinciaSelected, 'persona' => $_POST, 'errores' => $errores, 'volver' => 'cliente/index');
         View::renderMulti($archivos, $datos);
     }
 }
 public static function update($id)
 {
     // Primero tenemos que preparar un bloque try catch
     $errores = [];
     if ($_POST) {
         // Validamos todas las variables de $_POST
         $_POST = Validaciones::sanearEntrada($_POST);
         // empezamos la transacción
         $conn = Database::getInstance()->getDatabase();
         $conn->beginTransaction();
         if (is_array($ErrorOId = PersonaModel::update())) {
             $errores[] = $ErrorOId;
             $conn->rollback();
             return Validaciones::resultado($errores);
         } elseif ($ErrorOId === false) {
             $conn->rollback();
             return $errores['generic'][] = "El cliente no se ha insertado correctamente";
         } else {
             // Comprobaos los campos requeridos en la tabla
             if (isset($_POST["nombreCorp"])) {
                 $_POST["nombreCorp"] = Validaciones::saneamiento($_POST["nombreCorp"]);
                 if (($err = Validaciones::validarNombreCorporativo($_POST["nombreCorp"])) === true) {
                     try {
                         $conn = Database::getInstance()->getDatabase();
                         $ssql = "UPDATE cliente set nombre_corporativo = :nombreCorp WHERE id=:id";
                         $prepare = $conn->prepare($ssql);
                         $prepare->bindParam(":nombreCorp", $_POST["nombreCorp"], PDO::PARAM_STR);
                         $prepare->execute();
                         if ($prepare->rowCount() === 1) {
                             return $errores["nombreCorp"][] = "El nombre corporativo ya existe";
                         }
                     } catch (PDOException $e) {
                         return $errores['generic'][] = "Error en la base de datos";
                     }
                     try {
                         $conn = Database::getInstance()->getDatabase();
                         $ssql = "insert into cliente (id, nombre_corporativo) values (:id, :nombreCorp)";
                         $prepare = $conn->prepare($ssql);
                         $prepare->bindParam(":id", $ErrorOId, PDO::PARAM_INT);
                         $prepare->bindParam(":nombreCorp", $_POST["nombreCorp"], PDO::PARAM_STR);
                         $prepare->execute();
                         if ($prepare->rowCount() === 1) {
                             $conn->commit();
                             return true;
                         }
                         return false;
                     } catch (PDOException $e) {
                         return $errores['generic'][] = "Error en la base de datos";
                     }
                 } else {
                     $conn->rollback();
                     return $err;
                 }
             } else {
                 $conn->rollback();
                 return $errores["nombreCorp"][] = "El nombre corporativo no se ha recibido";
             }
         }
     } else {
         $errores['generic'][] = "No se han recivido datos";
         return Validaciones::resultado($errores);
     }
 }
 /**
  * Método estatico de inserción de registros en persona
  * + FECHA DE ALTA
  * @return [type]              [description]
  */
 public static function insert($actualiza = false)
 {
     // Comprobamos que los campos requeridos están sino error
     if (isset($_POST["nombre"]) && isset($_POST["apellidos"]) && isset($_POST["email"])) {
         // variable del método para poder hacer un rapido bindeo de parametros y errores
         $errores = [];
         $campos = [];
         //  validamos el nombre
         if (isset($_POST["nombre"])) {
             if (($err = Validaciones::validarNombre($_POST["nombre"])) !== true) {
                 $errores["nombre"] = $err;
             } else {
                 // si hay nombre lo ponemos en un array
                 $campos[":nombre"] = $_POST["nombre"];
             }
         }
         if (isset($_POST["apellidos"])) {
             // Validamos los apellidos
             if (($err = Validaciones::validarApellidos($_POST["apellidos"])) !== true) {
                 $errores["apellidos"] = $err;
             } else {
                 // si son validos los apellidos lo preparamos para el bindeo
                 $campos[":apellidos"] = $_POST["apellidos"];
             }
         }
         if (isset($_POST["email"])) {
             // validamos el email
             if (($err = Validaciones::validarEmail($_POST["email"])) !== true) {
                 $errores["email"] = $err;
             } else {
                 if (self::comprobarUnique("email", $_POST["email"]) === true) {
                     $errores["email"][] = "El email insertado ya está registrado.";
                 } else {
                     $campos[":email"] = $_POST["email"];
                 }
             }
         }
         if (isset($_POST["direccion"])) {
             // Si existe la dirección se valida
             if (($err = Validaciones::validarDireccion($_POST["direccion"])) !== true) {
                 $errores["direccion"] = $err;
             } else {
                 // si existe, preparamos el bindeo
                 $campos[":direccion"] = $_POST["direccion"];
             }
         }
         // si existe la provincia
         if (isset($_POST["provincia"])) {
             // se valida la provincia
             if (($err = provinciaModel::getProvinciaByNombre($_POST["provincia"])) !== true) {
                 $errores["provincia"][] = "La provincia no existe";
             } else {
                 $prov = ProvinciaModel::getProvinciaId($_POST["provincia"]);
                 $campos[":provincia"] = $prov[0]['id'];
             }
         }
         // si existe provincia
         // si exite el nif
         if (isset($_POST["nif"])) {
             // se valida
             if (($err = Validaciones::validarNif($_POST["nif"])) !== true) {
                 $errores["nif"][] = "El DNI o NIF no cumple el formato.";
             } else {
                 if (self::comprobarUnique("nif", $_POST["nif"]) === true) {
                     $errores["nif"][] = "El DNI o NIF insertado ya está registrado.";
                 } else {
                     $campos[":nif"] = $_POST["nif"];
                 }
             }
         }
         // si existe telefono
         if (isset($_POST["telefono"])) {
             // se valida
             if (($err = Validaciones::validarTelefono($_POST["telefono"])) !== true) {
                 $errores["telefono"] = $err;
             } else {
                 // si existe la preparo
                 $campos[":telefono"] = $_POST["telefono"];
             }
         }
         // si exite newsletter
         if (isset($_POST["newsletter"])) {
             // se valida
             if (($err = Validaciones::validarTelefono($_POST["newsletter"])) !== true) {
                 $errores["newsletter"] = $err;
             } else {
                 // si existe la preparo
                 $campos[":newsletter"] = $_POST["newsletter"];
             }
         }
         // si no hay errores
         if (!$errores) {
             // Si ha pasado las validaciones y estoy actualizando paro aquí y devuelvo true.
             if ($actualiza === true) {
                 return true;
             }
             try {
                 // Montamos las consultas
                 $fields = "";
                 $values = "";
                 // $values = " :campo1 :campo2 ..."
                 // $fields = "campo1, campo2,"
                 foreach ($campos as $indice => $valor) {
                     $values .= " " . $indice . ",";
                     $aux = mb_substr($indice, 1);
                     $fields .= $aux . ",";
                 }
                 // le quito la última coma de más
                 $fields = trim($fields, ",");
                 $values = trim($values, ",");
                 // conexión a la base de datos
                 $conn = Database::getInstance()->getDatabase();
                 // consulta de la base de datos
                 // Añadimos a la consulta la fecha de alta formateada
                 $fecha = "'" . date("Y-m-d") . "'";
                 $ssql = "INSERT INTO persona({$fields}, fecha_alta) VALUES ({$values}, {$fecha})";
                 // preparamos la consulta
                 $query = $conn->prepare($ssql);
                 $query->execute($campos);
                 if ($query->rowCount() === 1) {
                     return $conn->lastInsertId();
                 }
                 return false;
             } catch (PDOException $e) {
                 // Lanzamos una excepción a tratar en el controlador
                 throw new Exception('Error con la base de datos');
             }
         } else {
             // devolvemos los errores
             return Validaciones::resultado($errores);
         }
     } else {
         // si los campos requeridos no existen
         $errores['generic'][] = "Los campos requeridos no han sido introducidos";
         return Validaciones::resultado($errores);
     }
 }
Example #16
0
 /**
  * Método que valida los datos a insertar en la base de datos
  * @param  Array $array Datos a validar
  * @return Boolean    True = si los datos son validos, False = sino lo son
  */
 public static function validar($array)
 {
     // Si exite el campo lo validamos
     // Validación del nombre
     if (isset($array['nombre'])) {
         if (($erro = Validaciones::validarNombre($array["nombre"])) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'El nombre no ha sido recicibido');
     }
     // fin de las validaciones del nombre
     // Validación del apellido
     if (isset($array['apellido'])) {
         if (($erro = Validaciones::validarApellidos($array["apellido"])) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'Los apellidos no han sido recicibido');
     }
     // fin de las validaciones del apellido
     // Validación del email
     if (isset($array['email'])) {
         if (($erro = Validaciones::validarEmail($array["email"])) !== true) {
             Session::addArray('feedback_negative', $erro);
         } else {
             // comprobamos que el email no existe en la base de datos
             if (UsuarioModel::getEmail($array["email"])) {
                 Session::add('feedback_negative', 'El email ya exite');
             }
         }
     } else {
         Session::add('feedback_negative', 'El email no ha sido recicibido');
     }
     // Fin de la validación del email
     //validación de las contraseñas
     if (isset($array['clave'])) {
         if (isset($array['claveRe'])) {
             // lógica de las validaciones
             if (($erro = Validaciones::validarPassAlta($array["clave"], $array['claveRe'])) !== true) {
                 Session::addArray('feedback_negative', $erro);
             }
         } else {
             Session::add('feedback_negative', 'La clave repetida no se se ha recibido');
         }
     } else {
         Session::add('feedback_negative', 'La clave no se se ha recibido');
     }
     // fin de la validación de las contraseñas
     // Comprobación de de que no haya habido errores
     return Session::comprobarErrores();
 }
Example #17
0
//Clase que controla errores
require _CLASE_EJECUCION;
//Clase que controla los datos de cada ejecucion.
$GLOBALS["firephp"];
//Variable global de herramienta de DEBUG.
/*******************************************/
/* TODAS LAS VARIABLES DE SESION RECIBIDAS */
/*******************************************/
if (isset($_SESSION)) {
    $firephp->info($_SESSION, "SESIONES RECIBIDAS");
}
/************************************/
/* OBJETOS LOCALES DEL APLICATIVO */
/************************************/
$ejecucion = new Ejecuciones();
$validador = new Validaciones();
$error = new Errores();
$matriz_poo = new Matriz();
/*************************************************************/
/* RECUPERACION DE VARIABLES PARA EL CORRECTO FUNCIONAMIENTO */
/*************************************************************/
$firephp->Group("SESIONES RECIBIDAS");
if (isset($_SESSION["T"])) {
    $ejecucion->set_casos_de_prueba($_SESSION["T"]);
    unset($_SESSION["T"]);
    $firephp->log("Los casos de prueba se recuperan por sesion.");
} else {
    $firephp->log("Los casos de prueba no tienen sesion.");
}
if (isset($_SESSION["casos_prueba_ejecutados"])) {
    $ejecucion->set_caso_de_prueba_en_ejecucion($_SESSION["casos_prueba_ejecutados"]);
Example #18
0
 /**
  * Método que valida los datos a insertar en la base de datos
  * @param  Array $array Datos a validar
  * @return Boolean    True = si los datos son validos, False = sino lo son
  */
 public static function validar($array)
 {
     // Si exite el campo lo validamos
     // Validación del nombre
     if (isset($array['nombre'])) {
         if (($erro = Validaciones::validarNombre($array["nombre"], 50)) !== true) {
             Session::addArray('feedback_negative', $erro);
         } else {
             if (isset($array['id'])) {
                 // cuando estamos editando
                 $nombres = OfertaModel::getNombreNoRepetido($array['id']);
                 if (!OfertaModel::compararNombre($nombres, $array['nombre'])) {
                     Session::add('feedback_negative', 'La oferta ya exite');
                 }
             } else {
                 // cuando estamos insertando
                 if (OfertaModel::getNombre($array['nombre'])) {
                     Session::add('feedback_negative', 'El nombre ya existe');
                 }
             }
         }
     } else {
         Session::add('feedback_negative', 'El nombre no ha sido recicibido');
     }
     // fin de las validaciones del nombre
     // Validación del descripcion
     if (isset($array['descripcion'])) {
         $array['descripcion'] = Validaciones::limpiarTextarea($array['descripcion']);
         if (($erro = Validaciones::validarDescripcion($array["descripcion"], 1000)) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'La descripcion no ha sido recicibida');
     }
     // Fin de la validación del descripcion
     // Validación de los requisitos
     if (isset($array['requisitos'])) {
         $array['requisitos'] = Validaciones::limpiarTextarea($array['requisitos']);
         if (($erro = Validaciones::validarRequisitos($array["requisitos"], 1000)) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'Los requisitos no han sido recicibidos');
     }
     // Fin de la validación de los requisitos
     // Validación de la url
     if (isset($array['url'])) {
         if (($erro = Validaciones::validarUrl($array["url"])) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'La url no ha sido recicibida');
     }
     // fin de las validaciones de la url
     // validamos el salario
     if (isset($array['salario'])) {
         if (($erro = Validaciones::validarSalario($array["salario"])) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'El salario no ha sido recibido');
     }
     // validamos la empresa
     if (isset($array['empresa']) || !empty($array['empresa'])) {
         $array['empresa'] = Validaciones::saneamiento($array['empresa']);
         if (!OfertaModel::getIdEmpresaByNombre($array['empresa'])) {
             Session::add('feedback_negative', 'La empresa no existe');
         } else {
             $empresa = OfertaModel::getIdEmpresaByNombre($array['empresa']);
             Session::set('empresa', $empresa);
             Session::set('selected', $array['empresa']);
         }
     } else {
         Session::add('feedback_negative', 'La empresa no ha sido seleccionada, o quizás no tenga ninguna');
     }
     // Comprobación de de que no haya habido errores
     return Session::comprobarErrores();
 }
 /**
  * Método de inserción que recoge las variables de $_POST
  * @return [type] [description]
  */
 public static function insert()
 {
     // Primero tenemos que preparar un bloque try catch
     $errores = [];
     if ($_POST) {
         // Validamos todas las variables de $_POST
         $_POST = Validaciones::sanearEntrada($_POST);
         // empezamos la transacción
         $conn = Database::getInstance()->getDatabase();
         $conn->beginTransaction();
         if (($error = PersonaModel::insert()) && !is_array($error)) {
             // Comprobaos los campos requeridos en la tabla
             if (isset($_POST["nick"]) && isset($_POST["pass1"]) && isset($_POST["pass2"]) && isset($_POST["categoria"])) {
                 // Si cualquiera de los campos requeridos
                 // Diese un error deberemos lanzar un rollback
                 // validar Nick
                 if (isset($_POST["nick"])) {
                     if (($err = Validaciones::validarNick($_POST["nick"])) === true) {
                         // comprobamos que dicho nick exista en la base de datos
                         // Sino lanzamos un error
                         try {
                             $conn = Database::getInstance()->getDatabase();
                             $ssql = "SELECT * FROM usuario WHERE nick = :nick";
                             $prepare = $conn->prepare($ssql);
                             $prepare->bindParam(":nick", $_POST["nick"], PDO::PARAM_STR);
                             $prepare->execute();
                             if ($prepare->rowCount() === 1) {
                                 // si existe la preparo
                                 $errores["nick"][] = "El nick ya existe";
                             } else {
                                 $campos[":nick"] = $_POST["nick"];
                                 // creamos la carpeta personal del usuario
                                 $ruta = shell_exec('pwd');
                                 $ruta = trim($ruta);
                                 $ruta .= "/" . $_POST['nick'];
                                 if (Validaciones::crearDir($carpeta = $ruta)) {
                                     $campos[":carpeta"] = $carpeta;
                                 }
                             }
                         } catch (PDOException $e) {
                             return $errores['generic'][] = "Error en la base de datos";
                         }
                     } else {
                         $errores["nick"][] = $err;
                     }
                 }
                 // Validar contraseña
                 if (isset($_POST["pass1"]) && isset($_POST["pass1"])) {
                     if (($err = Validaciones::validarPassAlta($_POST["pass1"], $_POST["pass2"])) !== true) {
                         $errores["pass"] = $err;
                     } else {
                         $campos[":pass"] = HelperFunctions::encriptarPasswd($_POST["pass1"]);
                     }
                 } else {
                     $errores["pass"][] = "Una de las contraseñas o ambas no han sido introducidas";
                 }
                 if (isset($_POST["categoria"])) {
                     // Validar la categoría
                     // En el formulario es un campo select
                     // el cual tiene como value el valor de la BD
                     // de forma que aqui solo hay que validar el id de la categria
                     if (($err = CategoriaModel::getCategoriaByNombre($_POST["categoria"])) !== true) {
                         $errores["categoria"][] = "La categoría no existe";
                     } else {
                         $aux = CategoriaModel::getCategoriaId($_POST["categoria"]);
                         $campos[":categoria"] = $aux[0]['id'];
                     }
                     // fin de las comprobaciones de categoria
                 } else {
                     $errores["categoria"][] = "La categoría no existe";
                 }
                 // Si hay errores los retornamos
                 if ($errores) {
                     $conn->rollback();
                     return Validaciones::resultado($errores);
                 } else {
                     // Insertamos todos los valores
                     // Montamos las consultas
                     $fields = "";
                     $values = "";
                     // $values = " :campo1 :campo2 ..."
                     // $fields = "campo1, campo2,"
                     foreach ($campos as $indice => $valor) {
                         $values .= " " . $indice . ",";
                         $aux = mb_substr($indice, 1);
                         $fields .= $aux . ",";
                     }
                     // le añado el id
                     $fields .= " id";
                     $values .= " :id";
                     $campos[":id"] = $error;
                     // Si ha entrado aqui, $error es el id.
                     $ssql = "INSERT INTO usuario({$fields}) VALUES ({$values})";
                     $query = $conn->prepare($ssql);
                     /*foreach ($campos as $indice => $valor) {
                     			if ($indice == ":categoria") {
                     				$query->bindParam($indice, $valor,PDO::PARAM_INT);
                     			} else {
                     				$query->bindParam($indice, $valor,PDO::PARAM_STR);
                     			}
                     		}*/
                     $query->execute($campos);
                     $conn->commit();
                     return true;
                 }
             } else {
                 // puesto que no tratamos de insertar
                 // solamente personas sino que tenemos que insertar usuarios
                 // que puedan logearse, si los campos del usuario no existen
                 // directamente se hace un rollback
                 $conn->rollback();
                 $errores['generic'][] = "No se han recivido los datos minimos requeridos";
             }
         } elseif ($error === false) {
             $errores['generic'][] = "El usuario no se a insertado correctamente";
             // Si no se puede insertar el usuario hacemos un rollback
             $conn->rollback();
         } else {
             // Almacenamos los errores los errores
             $errores[] = $error;
             $conn->rollback();
             return Validaciones::resultado($errores);
         }
     } else {
         $errores['generic'][] = "No se han recivido datos";
         return Validaciones::resultado($errores);
     }
 }
Example #20
0
 public function editarPromocion($id)
 {
     HelperFunctions::comprobarSesion();
     if (!$_POST) {
         $promocion = PromocionModel::getPromocion($id);
         View::render('promocion/editarPromocion', array('titulo' => 'Promocion', 'promocion' => $promocion, 'destino' => 'promocion/editarPromocion/' . $id));
     } else {
         $_POST = HelperFunctions::sanear($_POST);
         $errores = [];
         if (!isset($_POST['descripcion']) || empty($_POST['descripcion'])) {
             $errores['descripcion'] = ['descripcion' => 'El campo es requerido'];
         }
         if (($err = Validaciones::validarUnidades($_POST['unidades'])) !== true) {
             $errores['unidades'] = $err;
         }
         if (($err = Validaciones::validarDecimales($_POST['porcentaje'])) !== true) {
             $errores['porcentaje'] = $err;
         }
         if (($err = Validaciones::validarFecha($_POST['fecha_inicio'])) !== true) {
             $errores['fecha_inicio'] = $err;
         }
         if ($errores) {
             $promocion = PromocionModel::getPromocion($id);
             View::render('promocion/editarPromocion', array('titulo' => 'Promocion', 'promocion' => $promocion, 'destino' => 'promocion/editarPromocion/' . $id, 'errores' => $errores));
         } else {
             PromocionModel::editPromocion($id, $_POST);
             View::render('promocion/promocionEditada', array('titulo' => 'Promocion Guardada'));
         }
     }
 }
Example #21
0
 function Conforch()
 {
     parent::Controller();
     $this->load->library('rapyd');
 }
Example #22
0
 /**
  * Método que valida los datos a insertar en la base de datos
  * @param  Array $array Datos a validar
  * @return Boolean    True = si los datos son validos, False = sino lo son
  */
 public static function validar($array)
 {
     // Si exite el campo lo validamos
     // Validación del nombre
     if (isset($array['nombre'])) {
         if (($erro = Validaciones::validarNombre($array["nombre"], 50)) !== true) {
             Session::addArray('feedback_negative', $erro);
         } else {
             if (isset($array['id'])) {
                 // obtengo todos los nombres salvo el de la empresa
                 // que intento editar
                 $nombres = EmpresaModel::getNombreNoRepetido($array['id']);
                 if (!EmpresaModel::compararNombre($nombres, $array['nombre'])) {
                     Session::add('feedback_negative', 'La empresa ya exite');
                 }
             } else {
                 if (EmpresaModel::getNombre($array["nombre"])) {
                     Session::add('feedback_negative', 'La empresa ya exite');
                 }
             }
         }
     } else {
         Session::add('feedback_negative', 'El nombre no ha sido recicibido');
     }
     // fin de las validaciones del nombre
     // Validación de la web
     if (isset($array['web'])) {
         if (($erro = Validaciones::validarUrl($array["web"])) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'La web no ha sido recicibida');
     }
     // fin de las validaciones del apellido
     // Validación de la descripcion
     if (isset($array['descripcion'])) {
         $array['descripcion'] = Validaciones::limpiarTextarea($array['descripcion']);
         if (($erro = Validaciones::validarDescripcion($array["descripcion"], 1000)) !== true) {
             Session::addArray('feedback_negative', $erro);
         }
     } else {
         Session::add('feedback_negative', 'La descripcion no ha sido recicibida');
     }
     // Fin de la validación de la descripcion
     // Comprobación de de que no haya habido errores
     return Session::comprobarErrores();
 }
Example #23
0
 function Conforch()
 {
     parent::Controller();
     $this->load->library('rapyd');
     define("THISFILE", APPPATH . "controllers/nomina" . $this->uri->segment(2) . EXT);
 }