Exemplo n.º 1
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);
     }
 }
Exemplo n.º 2
0
 /**
  * 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);
     }
 }
Exemplo n.º 3
0
 public function crear()
 {
     HelperFunctions::comprobarSesion();
     if (!$_POST) {
         // Sino hay post mostramos el formulario
         $provincias = ProvinciaModel::getAll();
         $categorias = CategoriaModel::getAll();
         $filenames = ["generic/formpersona", "usuario/formulario"];
         $datos = array('destino' => 'usuario/crear', 'submit' => 'Crear', 'provincialist' => $provincias, 'categorialist' => $categorias);
         View::renderMulti($filenames, $datos);
     } else {
         $_POST = HelperFunctions::sanear($_POST);
         $provincias = ProvinciaModel::getAll();
         $categorias = CategoriaModel::getAll();
         $errores = [];
         $err = UsuarioModel::insert();
         if ($err === true) {
             header("Location: " . URL . "usuario");
         } elseif ($err !== true && is_array($err)) {
             $errores = $err;
             $filenames = ["generic/formpersona", "usuario/formulario"];
             $datos = array('destino' => 'usuario/crear', 'submit' => 'Crear', 'provincialist' => $provincias, 'categorialist' => $categorias, 'persona' => $_POST, 'errores' => $errores);
             View::renderMulti($filenames, $datos);
         } else {
             $filenames = ["generic/formpersona", "usuario/formulario"];
             $datos = array('destino' => 'usuario/crear', 'submit' => 'Crear', 'provincialist' => $provincias, 'categorialist' => $categorias, 'persona' => $_POST, 'errores' => $errores);
             View::renderMulti($filenames, $datos);
         }
     }
 }