Example #1
0
 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);
 }
Example #2
0
 public function validar_form_borrar(array $datos = array())
 {
     \core\HTTP_Requerimiento::request_come_by_post();
     $validaciones = array("id" => "errores_requerido && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla_j . "/id");
     if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) {
         $datos['mensaje'] = 'Datos erróneos para identificar el artículo a borrar';
         $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla . '');
         \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
         return;
     } else {
         //Eliminamos la foto y el manual de nuestra carpeta, debemos de hacerlo lo primero
         //self::borrar_files($datos);
         //Borrado:
         //Borrado normal:
         $validacion = \modelos\Datos_SQL::delete($datos["values"], self::$tabla_j);
         //Borrado lógico:
         //            $fila = array(
         //                'id' => $datos["values"]['id'],
         //                'is_active' => 'false',
         //            );
         //            $validacion = \modelos\Datos_SQL::update($fila, self::$tabla_j);
         if (!$validacion) {
             // Devuelve true o false
             $datos['mensaje'] = 'Error al borrar en la bd';
             $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla . '');
             \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
             return;
         } else {
             $datos = array("alerta" => "Se ha borrado correctamente.");
             \core\Distribuidor::cargar_controlador(self::$controlador, 'index', $datos);
         }
     }
 }
Example #3
0
 public function validar_form_borrar(array $datos = array())
 {
     \core\HTTP_Requerimiento::request_come_by_post();
     $validaciones = array("id" => "errores_requerido && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla . "/id");
     if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) {
         $datos['mensaje'] = 'Datos erróneos para identificar el elemento a borrar';
         $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla . '');
         \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
         return;
     } else {
         if (!($validacion = \modelos\Datos_SQL::delete($datos["values"], self::$tabla))) {
             // Devuelve true o false
             $datos['mensaje'] = 'Error al borrar en la bd';
             $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla . '');
             \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
             return;
         } else {
             $datos = array("alerta" => "Se ha borrado correctamente.");
             \core\Distribuidor::cargar_controlador(self::$controlador, 'index', $datos);
         }
     }
 }
Example #4
0
 public static function getTeamsOfPlayers(&$datos)
 {
     //Extraemos los equipos de los jugadores
     $vista = \modelos\Datos_SQL::get_prefix_tabla(self::$vista);
     $sql = "select id, raza from {$vista} order by raza";
     $filas_vista = \modelos\Datos_SQL::execute($sql);
     $jugador['equipos'] = null;
     foreach ($filas_vista as $fila_vista) {
         foreach ($datos['jugadores'] as &$jugador) {
             if ($fila_vista['id'] == $jugador['id']) {
                 $jugador['equipos'][] = $fila_vista['raza'];
             }
         }
     }
     return $jugador['equipos'];
 }
Example #5
0
 /**
  * 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);
 }
Example #6
0
 /**
  * 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;
 }
Example #7
0
 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);
 }
Example #8
0
 /**
  * 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();
     }
 }