コード例 #1
0
ファイル: noticias.php プロジェクト: jbgae/bareaarquitectos
 public function buscar($campo = 'Titulo', $orden = 'asc', $limit = '5', $busqueda = '', $offset = 0)
 {
     $this->permisos('admin');
     $this->form_validation->set_error_delimiters('<p class="text-error">', '</p>');
     $this->pagina = 'noticias';
     $this->carpeta = 'administrador';
     $this->titulo = 'Búsqueda';
     $this->menu = 'menu_admin_noticias';
     $this->estilo = array('noticias', 'tablas');
     $this->javascript = array('marcar_checkbox', 'redireccion');
     $datos['busqueda'] = TRUE;
     if ($busqueda != '') {
         $datos['buscador'] = array('class' => 'search-query input-medium', 'type' => 'text', 'name' => 'buscador', 'placeholder' => 'Buscar', 'value' => urldecode($busqueda), 'autofocus' => 'autofocus');
     } else {
         $datos['buscador'] = array('class' => 'search-query input-medium', 'type' => 'text', 'name' => 'buscador', 'placeholder' => 'Buscar', 'value' => $this->input->post('buscador'), 'autofocus' => 'autofocus');
     }
     $datos['boton'] = array('class' => 'btn', 'id' => 'buscador', 'name' => 'button', 'value' => 'Buscar');
     $datos['borrar'] = array('class' => 'btn btn-danger', 'id' => 'borrar', 'value' => 'Borrar selección', 'data-confirm' => "¿Estás seguro?");
     $datos['fields'] = array('Titulo' => 'Titulo', 'Contenido' => 'Contenido', 'FechaCreacion' => 'Fecha', 'Escritor' => 'Escritor');
     $this->form_validation->set_rules('buscador', 'Buscador', 'trim|required|xss_clean');
     $this->form_validation->set_message('required', '%s no puede estar vacio');
     $this->form_validation->set_message('xss_clean', ' %s no es una búsqueda válida');
     if ($this->form_validation->run() == FALSE) {
         if ($busqueda != '') {
             $busqueda = urldecode($busqueda);
             $opciones = $this->seleccion(Noticias_model::busqueda_cantidad($busqueda));
             $datos['opciones'] = $opciones;
             if ($this->input->post('cantidad') != '') {
                 if ($opciones[$this->input->post('cantidad')] == 'Todo') {
                     $limit = Noticias_model::busqueda_cantidad($busqueda);
                 } else {
                     $limit = $opciones[$this->input->post('cantidad')];
                 }
             }
             $datos['elementos'] = $limit;
             if ($this->input->post('cantidad') != '') {
                 $datos['limit'] = $this->input->post('cantidad');
             } else {
                 $aux = 0;
                 if ($limit % 5 != 0) {
                     $aux = 1;
                 }
                 $datos['limit'] = floor($limit / 5) - 1 + $aux;
             }
             $datos['busq'] = $busqueda;
             $datos['noticias'] = Noticias_model::buscar($busqueda, $campo, $orden, $offset, $limit, true);
             $datos['numero'] = Noticias_model::busqueda_cantidad($busqueda);
             $config = array();
             $config['base_url'] = base_url() . "admin/noticias/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
             $config['total_rows'] = Noticias_model::busqueda_cantidad($busqueda);
             $config['per_page'] = $limit;
             $config['uri_segment'] = 8;
             $config['prev_link'] = 'anterior';
             $config['next_link'] = 'siguiente';
             $config['first_link'] = '<<';
             $config['last_link'] = '>>';
             $config['num_tag_open'] = '<li>';
             $config['num_tag_close'] = '</li>';
             $config['cur_tag_open'] = '<li class="disabled"><a href="#">';
             $config['cur_tag_close'] = '</a></li>';
             $config['prev_tag_open'] = '<li>';
             $config['prev_tag_close'] = '</li>';
             $config['next_tag_open'] = '<li>';
             $config['next_tag_close'] = '</li>';
             $config['first_tag_open'] = '<li>';
             $config['first_tag_close'] = '</li>';
             $config['last_tag_open'] = '<li>';
             $config['last_tag_close'] = '</li>';
             $this->pagination->initialize($config);
             $datos['links'] = $this->pagination->create_links();
             $datos['campo'] = $campo;
             $datos['orden'] = $orden;
         } else {
             $datos['numero'] = 0;
             $datos['opciones'] = array(0);
             $datos['campo'] = $campo;
             $datos['orden'] = $orden;
             $datos['buscar'] = '';
             $datos['limit'] = 0;
             $datos['elementos'] = 0;
             $datos['busq'] = '';
             $datos['vacio'] = TRUE;
         }
     } else {
         $busqueda = $this->input->post('buscador');
         $opciones = $this->seleccion(Noticias_model::busqueda_cantidad($busqueda));
         $datos['opciones'] = $opciones;
         if ($this->input->post('cantidad') != '') {
             if ($opciones[$this->input->post('cantidad')] == 'Todo') {
                 $limit = $this->Noticias->numero();
             } else {
                 $limit = $opciones[$this->input->post('cantidad')];
             }
         }
         $datos['elementos'] = $limit;
         if ($this->input->post('cantidad') != '') {
             $datos['limit'] = $this->input->post('cantidad');
         } else {
             $aux = 0;
             if ($limit % 5 != 0) {
                 $aux = 1;
             }
             $datos['limit'] = floor($limit / 5) - 1 + $aux;
         }
         $datos['busq'] = $busqueda;
         $datos['noticias'] = Noticias_model::buscar($busqueda, $campo, $orden, $offset, $limit, true);
         $datos['numero'] = Noticias_model::busqueda_cantidad($busqueda);
         $config = array();
         $config['base_url'] = base_url() . "admin/noticias/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
         $config['total_rows'] = Noticias_model::busqueda_cantidad($busqueda);
         $config['per_page'] = $limit;
         $config['uri_segment'] = 7;
         $config['prev_link'] = 'anterior';
         $config['next_link'] = 'siguiente';
         $config['first_link'] = '<<';
         $config['last_link'] = '>>';
         $config['num_tag_open'] = '<li>';
         $config['num_tag_close'] = '</li>';
         $config['cur_tag_open'] = '<li class="disabled"><a href="#">';
         $config['cur_tag_close'] = '</a></li>';
         $config['prev_tag_open'] = '<li>';
         $config['prev_tag_close'] = '</li>';
         $config['next_tag_open'] = '<li>';
         $config['next_tag_close'] = '</li>';
         $config['first_tag_open'] = '<li>';
         $config['first_tag_close'] = '</li>';
         $config['last_tag_open'] = '<li>';
         $config['last_tag_close'] = '</li>';
         $this->pagination->initialize($config);
         $datos['links'] = $this->pagination->create_links();
         $datos['campo'] = $campo;
         $datos['orden'] = $orden;
     }
     $this->mostrar($datos);
 }