Example #1
0
 /**
  * Valida los datos insertados por el usuario. Si estos son correctos mostrará la lista de elementos con 
  * la nueva inserción, sino mostrará los errores por los que nos se admitió los datos introducidos.
  * @param array $datos
  */
 public function validar_form_insertar(array $datos = array())
 {
     $validaciones = \modelos\players::$validaciones_insert;
     if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) {
         //validaciones en PHP
         $datos["errores"]["errores_validacion"] = "Corrija los errores, por favor.";
     } else {
         //$validacion = self::comprobar_files($datos);
         if ($validacion) {
             //Convertimos a formato MySQL
             self::convertir_a_formato_mysql($datos['values']);
             //Start transaction
             \modelos\Modelo_SQL::start_transaction();
             if (!($validacion = \modelos\players::insertDatos($datos))) {
                 // Devuelve true o false
                 //Roll back
                 \modelos\Modelo_SQL::rollback_transaction();
                 $datos["errores"]["errores_validacion"] = "No se han podido grabar los datos en la bd.";
             } else {
                 //Consolidar transaccion
                 \modelos\Modelo_SQL::commit_transaction();
                 //A continuacion con el id ya conseguido procedemos a grabar en la base de datos la imagen y el manual del articulo
                 //self::mover_files($datos);
             }
         }
     }
     if (!$validacion) {
         //Devolvemos el formulario para que lo intente corregir de nuevo
         \core\Distribuidor::cargar_controlador(self::$controlador, 'form_insertar', $datos);
         //$this->cargar_controlador(self::$controlador, 'form_insertar',$datos);
     } else {
         // Se ha grabado la modificación. Devolvemos el control al la situacion anterior a la petición del form_modificar
         //$datos = array("alerta" => "Se han grabado correctamente los detalles");
         // Definir el controlador que responderá después de la inserción
         //\core\Distribuidor::cargar_controlador(self::$tabla, 'index', $datos);
         $_SESSION["alerta"] = "Se han grabado correctamente los detalles";
         //header("Location: ".\core\URL::generar("self::$controlador/index"));
         \core\HTTP_Respuesta::set_header_line("location", \core\URL::generar(self::$controlador . "/index"));
         \core\HTTP_Respuesta::enviar();
     }
 }