public function validar_form_comentario(array $datos = array()) { self::request_come_by_post(); //Si viene por POST sigue adelante $validaciones = array("articulo_id" => "errores_requerido && errores_texto && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla . "/id", "usuario_login" => "errores_requerido && errores_texto", "comentario" => "errores_requerido && errores_texto"); if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) { //validaciones en PHP $datos["errores"]["errores_validacion"] = "Corrija los errores, por favor."; } else { if (!($validacion = \modelos\Modelo_SQL::insert($datos["values"], self::$tabla2))) { // Devuelve true o false $datos["errores"]["errores_validacion"] = "No se han podido grabar los datos en la bd."; } } if (!$validacion) { //Devolvemos el formulario para que lo intente corregir de nuevo \core\Distribuidor::cargar_controlador(self::$controlador, 'form_comentario', $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"] = "Su comentario ha sido enviado"; //header("Location: ".\core\URL::generar("self::$controlador/index")); $articulo_nombre = str_replace(" ", "-", $datos['values']['articulo_nombre']); $articulo_id = $datos['values']['articulo_id']; $clausulas['where'] = " id = {$articulo_id} "; $filas = \modelos\Datos_SQL::select($clausulas, self::$tabla); $articulo_nombre = $filas[0]['nombre']; $articulo_nombre = str_replace(" ", "-", $articulo_nombre); \core\HTTP_Respuesta::set_header_line("location", \core\URL::generar(self::$controlador . "/juego/" . $articulo_id . "/" . $articulo_nombre)); \core\HTTP_Respuesta::enviar(); } }
private static function updatePlayerTeams($data) { //var_dump($data); $playerTeam = array(); foreach ($data as $key => $value) { if (in_array($key, array('jugador_id', 'equipos'))) { $playerTeam[$key] = $value; } } //Vamos a extraer los datos de la DB $table_je = \modelos\Modelo_SQL::get_prefix_tabla(self::$table_je); $sql = "select * from {$table_je} where jugador_id = {$data['id']}"; $rows = \modelos\Modelo_SQL::execute($sql); //Diferencia entre la DB y la modificacion $equipos_jugador = array(); foreach ($rows as $row) { $equipos_jugador[] = $row['equipo_id']; } $teams_to_add = array_diff($data['equipo_id'], $equipos_jugador); $teams_to_delete = array_udiff($equipos_jugador, $data['equipo_id'], 'strcasecmp'); //borramos foreach ($teams_to_delete as $equipo_id) { $table = \modelos\Modelo_SQL::get_prefix_tabla(self::$table_je); $sql = "delete from {$table} where jugador_id = {$data['id']} and equipo_id = {$equipo_id}"; if (!\modelos\Modelo_SQL::execute($sql)) { return false; } } //Añadimos $playerTeam['jugador_id'] = $data['id']; foreach ($teams_to_add as $equipo_id) { $playerTeam['equipo_id'] = $equipo_id; //var_dump($playerTeam); if (!\modelos\Modelo_SQL::insert($playerTeam, self::$table_je)) { return false; } } return true; }