Esempio n. 1
0
 public function index_old(array $datos = array())
 {
     $clausulas['where'] = 'categoria_id <> 1';
     //$clausulas['where'] = isset($_REQUEST['categoria']) ? 'categoria_id like "%'.$_REQUEST['categoria'].'%"' : (isset($_REQUEST['p3']) ? 'categoria_id like "%'.$_REQUEST['p3'].'%"' : 'categoria_id <> 1' );
     if (isset($_REQUEST['p3'])) {
         $sql = 'select id from 3da2_categorias where categoria like "%' . $_REQUEST['p3'] . '%"';
         $categoria_id = \modelos\Modelo_SQL::execute($sql);
         if (count($categoria_id)) {
             $clausulas['where'] = 'categoria_id = "' . $categoria_id[0]['id'] . '"';
         }
         //Categorias especiales:
         if ($_REQUEST['p3'] == '2jugadores') {
             $clausulas['where'] = '(num_min_jug <= 2 and num_max_jug >= 2) or categoria_id = 2';
         } elseif ($_REQUEST['p3'] == 'solitarios') {
             $clausulas['where'] = 'num_min_jug = 1';
         } elseif ($_REQUEST['p3'] == 'busqueda') {
             $busqueda = isset($_SESSION['busqueda']) ? $_SESSION['busqueda'] : '';
             $clausulas["where"] = "nombre like '%{$busqueda}%' ";
             /*
                             $busqueda =array('nombre' => isset($_SESSION['busqueda'])?$_SESSION['busqueda']:'' );
                             self::busqueda($busqueda);
             */
         }
     }
     $next_grp = isset($_REQUEST['p4']) ? $_REQUEST['p4'] : 0;
     $next_art = $next_grp * self::$num_arts_por_pag;
     $clausulas['order_by'] = 'nombre';
     //Ordenamos por lo que venga en $_REQUEST['ordenar_por']  mejorar No funciona al pasar a otra seccion
     $order_by = isset($_REQUEST['ordenar_por']) ? $_REQUEST['ordenar_por'] : 'nombre';
     if (isset($_REQUEST['ordenar_por']) && $_REQUEST['ordenar_por'] != null) {
         //Aqui entrará al realizar una ordenación y en este caso mostraremos el doble de artículos evitando que aparezcan las flechas inferiores para avanzar de sección en la vista/articulos/index.php
         $order_by = $_REQUEST['ordenar_por'];
         self::$num_arts_por_pag *= 2;
     }
     //$order_by = isset($_REQUEST['p5'])?$_REQUEST['p5']:$order_by;
     $clausulas['order_by'] = $order_by;
     /*
             if(isset($_REQUEST['ordenar_por']) && $_REQUEST['ordenar_por'] != null){
        $clausulas['order_by'] = \core\Array_Datos::contenido("ordenar_por", $_REQUEST);
        $_SESSION['usuario']['order_by'] = $clausulas['order_by'];
             }
     */
     $clausulas['limit'] = $next_art . "," . self::$num_arts_por_pag;
     //$datos["filas"] = \modelos\self::$tabla::select($clausulas, "self::$tabla"); // Recupera todas las filas ordenadas
     $datos["filas"] = \modelos\Modelo_SQL::table(self::$tabla)->select($clausulas);
     // Recupera todas las filas ordenadas
     $_SESSION["expositor_actual"] = \core\URL::actual();
     $sql = "select count(*) as num_total_juegos from 3da2_articulos where " . $clausulas['where'];
     $datos["num_total_juegos"] = \modelos\Modelo_SQL::execute($sql);
     if ($next_grp >= $datos["num_total_juegos"][0]['num_total_juegos'] / self::$num_arts_por_pag) {
         $datos['mensaje'] = '<b>Entrada incorrecta</b>';
         \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
     }
     //Mostramos los datos a modificar en formato europeo. Convertimos el formato de MySQL a europeo
     self::convertir_formato_mysql_a_ususario($datos['filas']);
     //var_dump($datos);
     if (isset($_REQUEST['ordenar_por']) && $_REQUEST['ordenar_por'] != null) {
         //Devolvemos el valor original en caso de hacer una ordenación para no afectar al atributo 'title' de la etiqueta 'input' de 'ordenar por' en la vista
         self::$num_arts_por_pag /= 2;
     }
     $datos['view_content'] = \core\Vista::generar(__FUNCTION__, $datos);
     $http_body = \core\Vista_Plantilla::generar('DEFAULT', $datos);
     \core\HTTP_Respuesta::enviar($http_body);
 }