/** * 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(); } }