Example #1
0
 public function buscar($campo = 'Cif', $orden = 'asc', $limit = '5', $busqueda = '', $offset = 0)
 {
     if ($this->uri->segment(1) == 'admin') {
         $this->permisos('admin');
         $datos['user'] = '******';
     } else {
         $this->permisos('empleado');
         $datos['user'] = '******';
     }
     $this->pagina = 'proveedores';
     $this->carpeta = 'empleado';
     $this->menu = 'menu_empleado_proveedor';
     $this->titulo = 'Búsqueda proveedor';
     $this->estilo = 'tablas';
     $this->javascript = array('marcar_checkbox', 'redireccion');
     $datos['busqueda'] = TRUE;
     //$datos['buscador'] = array('class' => 'search-query', 'type'=>'text','name'=>'buscador', 'placeholder' => 'Buscar');
     $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?");
     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['fields'] = array('Cif' => 'Cif', 'RazonSocial' => 'Razón Social', 'Web' => 'Web', 'Servicios' => 'Servicios', 'Email' => 'Email', 'Telefono' => 'Teléfono', 'Fax' => 'Fax', 'Descripcion' => 'Descripción');
     $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(Proveedor_model::busqueda_cantidad($busqueda));
             $datos['opciones'] = $opciones;
             if ($this->input->post('cantidad') != '') {
                 if ($opciones[$this->input->post('cantidad')] == 'Todo') {
                     $limit = Proveedor_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['proveedores'] = Proveedor_model::buscar($busqueda, $campo, $orden, $offset, $limit);
             $datos['numero'] = Proveedor_model::busqueda_cantidad($busqueda);
             $config = array();
             if ($this->uri->segment(1) == 'admin') {
                 $config['base_url'] = base_url() . "admin/proveedor/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
             } else {
                 $config['base_url'] = base_url() . "empleados/proveedor/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
             }
             $config['total_rows'] = Proveedor_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;
         }
         $this->mostrar($datos);
     } else {
         $busqueda = $this->input->post('buscador');
         $opciones = $this->seleccion(Proveedor_model::busqueda_cantidad($busqueda));
         $datos['opciones'] = $opciones;
         if ($this->input->post('cantidad') != '') {
             if ($opciones[$this->input->post('cantidad')] == 'Todo') {
                 $limit = Proveedor_model::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['proveedores'] = Proveedor_model::buscar($busqueda, $campo, $orden, $offset, $limit);
         $datos['numero'] = Proveedor_model::busqueda_cantidad($busqueda);
         $config = array();
         if ($this->uri->segment(1) == 'admin') {
             $config['base_url'] = base_url() . "admin/proveedor/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
         } else {
             $config['base_url'] = base_url() . "empleados/proveedor/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
         }
         $config['total_rows'] = Proveedor_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);
     }
 }