public function index(array $datos = array()) { //Realizamos la busqueda $post = \core\HTTP_Requerimiento::post(); //var_dump($post); if (isset($post['buscar_en'])) { $clausula = self::getTabla($post, $tabla); $vista = $post['buscar_en']; } else { $tabla = self::$table_j; $clausula['where'] = " nombre like '%{$post['nombre']}%' "; $vista = 'players'; } $filas = \modelos\Datos_SQL::select($clausula, $tabla); $datos[$tabla] = $filas; if ($tabla == 'jugadores') { $jugador['equipos'] = \modelos\players::getTeamsOfPlayers($datos); } elseif ($tabla == 'equipos') { foreach ($filas as $key => $equipo) { //For if it comes with several teams, $datos['equipos'][$key]['equipo'] = $equipo; // $equipo = $filas[$key]; $datos['equipos'][$key]['jugadores'] = \modelos\teams::getPlayers_by_team($equipo); } } //Search tiene 3 posibles vistas: players, teams y skills $datos['view_content'] = \core\Vista::generar($vista, $datos); $http_body = \core\Vista_Plantilla::generar('DEFAULT', $datos); \core\HTTP_Respuesta::enviar($http_body); }
public function form_borrar(array $datos = array()) { $datos["form_name"] = __FUNCTION__; //\core\HTTP_Requerimiento::request_come_by_post(); $validaciones = \modelos\players::$validaciones_delete; if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) { $datos['mensaje'] = 'Datos erróneos para identificar el jugador a borrar'; $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla_j . ''); \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos); return; } else { $clausulas['where'] = " id = {$datos['values']['id']} "; if (!($filas = \modelos\Datos_SQL::select($clausulas, self::$tabla_j))) { $datos['mensaje'] = 'Error al recuperar la fila de la base de datos'; \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos); return; } else { $datos['values'] = $filas[0]; } } //Mostramos los datos a modificar en formato europeo. Convertimos el formato de MySQL a europeo self::convertir_formato_mysql_a_ususario($datos['values']); $datos['view_content'] = \core\Vista::generar(__FUNCTION__, $datos); $http_body = \core\Vista_Plantilla::generar('DEFAULT', $datos); \core\HTTP_Respuesta::enviar($http_body); }
public static function getPlayers($kind = 'all', $is_active = false, array $clausulas = array()) { //var_dump($post); if ($is_active) { $clausulas['where'] = "is_active = true"; } switch ($kind) { case 'star': $clausulas['where'] = "jugador_estrella = true"; break; case 'regular': case 'normal': $clausulas['where'] = "jugador_estrella = false"; break; } $clausulas['order_by'] = "nombre"; //$clausulas['group_by'] = "id"; if (!($filas = \modelos\Datos_SQL::select($clausulas, self::$table_j))) { $datos['mensaje'] = 'Lista no disponibe, sentimos las molestias'; \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos); return; } return $filas; }
/** * Genera una respuesta excel. * @param array $datos */ public function listado_xls(array $datos = array()) { $validaciones = array("nombre" => "errores_texto"); \core\Validaciones::errores_validacion_request($validaciones, $datos); if (isset($_datos['values']['nombre'])) { $select['where'] = " nombre like '%{$_datos['values']['nombre']}%'"; } $select['order_by'] = 'nombre'; $datos['filas'] = \modelos\Datos_SQL::select($select, self::$tabla); $datos['contenido_principal'] = \core\Vista::generar(__FUNCTION__, $datos); \core\HTTP_Respuesta::set_mime_type('application/excel'); $http_body = \core\Vista_Plantilla::generar('plantilla_xls', $datos); \core\HTTP_Respuesta::enviar($http_body); }
/** * Comprueba la existencia de los valores pasados en las columnas de la tabla de referencia. * El primer valor debe ser no nulo * @param array $valores * @param type $tabla * @param array $columnas * @return false|string */ public static function errores_referencia(array $valores, $tabla, array $columnas) { $mensaje = null; $no_null = 0; //var_dump($valores); for ($i = 0; $i < count($valores); $i++) { if (strlen($valores[$i]) > 0) { $no_null++; } } if (strlen($valores[0]) && $no_null) { $valores_aportados = ""; $parametros["where"] = ""; for ($i = 0; $i < count($columnas); $i++) { if (is_null($valores[$i]) || $valores[$i] == "" || strlen($valores[$i]) == 0) { $parametros["where"] .= "{$columnas[$i]} is null"; $valores_aportados .= "{$columnas[$i]}= "; } else { $parametros["where"] .= $columnas[$i] . "=" . (is_numeric($valores[$i]) ? $valores[$i] : "'{$valores[$i]}'"); $valores_aportados .= "{$columnas[$i]}=" . $valores[$i]; } if ($i < count($columnas) - 1) { $parametros["where"] .= " and "; $valores_aportados .= " , "; } } $filas = \modelos\Datos_SQL::select($parametros, $tabla); if (!$filas || !count($filas)) { $mensaje .= "El/Los valor/es aportado/s <b>[ {$valores_aportados} ]</b> no existe/n en la tabla de referencia [{$tabla}] en las columnas [{$parametros["where"]}] . Escribe un valor que sí exista."; } if (self::$depuracion) { print "<br />" . __METHOD__ . ":"; print_r($valores); print_r($columnas); print_r($parametros); print_r($filas); print "c=" . count($filas); print "mensaje: {$mensaje}"; } } if ($mensaje == "") { $mensaje = false; } return $mensaje; }
public static function validar_form_modificar_relacion(array $datos = array()) { \core\HTTP_Requerimiento::request_come_by_post(); $post = \core\HTTP_Requerimiento::post(); //var_dump($post); $validaciones = \modelos\teams::$validaciones_update_relationship; 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) { if (!($validacion = \modelos\teams::update_Relatioship_PlayerTeam($post))) { // Devuelve true o false $datos["errores"]["errores_validacion"] = "No se han podido grabar los datos en la bd."; } } } var_dump($datos); //exit; /* if ( ! $validacion) //Devolvemos el formulario para que lo intente corregir de nuevo \core\Distribuidor::cargar_controlador(self::$controlador, 'form_modificar', $datos); else { $datos = array("alerta" => "Se han modificado correctamente."); // Definir el controlador que responderá después de la inserción \core\Distribuidor::cargar_controlador(self::$controlador, 'index', $datos); } */ if (!$validacion) { //Devolvemos el formulario para que lo intente corregir de nuevo $this->cargar_controlador(self::$controlador, 'form_modificar_relacion', $datos); } else { $_SESSION["alerta"] = "Se han modificado correctamente los datos"; \core\HTTP_Respuesta::set_header_line("location", \core\URL::generar(\core\Distribuidor::get_controlador_instanciado())); \core\HTTP_Respuesta::enviar(); } $datos["form_name"] = __FUNCTION__; \core\HTTP_Requerimiento::request_come_by_post(); //Si viene por POST sigue adelante $validaciones = \modelos\teams::$validaciones_update_relationship; if (!isset($datos["errores"])) { // Si no es un reenvío desde una validación fallida $validaciones = array("id" => "errores_requerido && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla_e . "/id"); if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) { $datos['mensaje'] = 'Datos erróneos para identificar el elemento a modificar'; \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos); return; } else { $clausulas['where'] = " id = {$datos['values']['id']} "; if (!($filas = \modelos\Datos_SQL::select($clausulas, self::$tabla_e))) { $datos['mensaje'] = 'Error al recuperar la fila de la base de datos'; \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos); return; } else { $datos['values'] = $filas[0]; } } } //Mostramos los datos a modificar en formato europeo. Convertimos el formato de MySQL a europeo //Abriremos el formulario en una ventana nueva $datos['view_content'] = \core\Vista::generar(__FUNCTION__, $datos); $http_body = \core\Vista_Plantilla::generar('view_content', $datos); \core\HTTP_Respuesta::enviar($http_body); }
/** * Elimina un comentario enviado mediante un formulario * @author Jorge Rodriguez "Jergo" <*****@*****.**> * @param array $datos */ public function validar_form_eliminar_comentario(array $datos = array()) { self::request_come_by_post(); //Si viene por POST sigue adelante $validaciones = array("id" => "errores_requerido && errores_texto && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla2 . "/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 { //Cogemos el nombre del articulo antes de borrarlo, para luego poder mostrar la misma página $where = ' id = ' . $datos['values']['id']; $sql = 'select * from ' . \core\Modelo_SQL::get_prefix_tabla(self::$tabla2) . ' where ' . $where; $fila = \core\Modelo_SQL::execute($sql); $articulo_id = $fila[0]['articulo_id']; if (!($validacion = \modelos\Modelo_SQL::delete($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, 'editar_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"] = "El comentario ha sido eliminado"; //header("Location: ".\core\URL::generar("self::$controlador/index")); $articulo_nombre = str_replace(" ", "-", $datos['values']['articulo_nombre']); $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(); } }