public function buscar($campo = 'Estado', $orden = 'asc', $limit = '5', $busqueda = '', $offset = 0) { if ($this->uri->segment(1) == 'admin') { $this->permisos('admin'); $datos['user'] = '******'; $numeroProyectos = Proyecto_model::numero(); } if ($this->uri->segment(1) == 'empleados') { $this->permisos('empleado'); $datos['user'] = '******'; $numeroProyectos = Proyecto_model::numero($this->session->userdata('email')); } $this->pagina = 'proyectos'; $this->carpeta = 'empleado'; $this->titulo = 'buscar proyectos'; $this->estilo = 'tablas'; $this->javascript = array('marcar_checkbox', 'confirmacion', '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('NombreProyecto' => 'Proyecto', 'Estado' => 'Estado', 'Progreso' => 'Progreso', 'FechaComienzo' => 'Comienzo', 'FechaFinPrevista' => 'Fin previsto', 'Tipo' => 'Tipo', 'Direccion' => 'Dirección', 'Ciudad' => 'Ciudad', 'Provincia' => 'Provincia'); $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); $cantidad = Proyecto_model::busqueda_cantidad($busqueda); $opciones = $this->seleccion(); $datos['opciones'] = $opciones; if ($this->input->post('cantidad') != '') { if ($opciones[$this->input->post('cantidad')] == 'Todo') { $limit = $cantidad; } 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; $proyectos = $this->Proyecto->buscar($busqueda, $campo, $orden, $offset, $limit); foreach ($proyectos as $proyecto) { $proyecto->Progreso = $this->_progreso($proyecto->Codigo); } $datos['proyectos'] = $proyectos; $datos['numero'] = $cantidad; $config = array(); $config['base_url'] = base_url() . "admin/proyecto/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/"; $config['total_rows'] = $cantidad; $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'); $cantidad = Proyecto_model::busqueda_cantidad($busqueda); $opciones = $this->seleccion($cantidad); $datos['opciones'] = $opciones; if ($this->input->post('cantidad') != '') { if ($opciones[$this->input->post('cantidad')] == 'Todo') { $limit = $this->Proyecto->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; $proyectos = Proyecto_model::buscar($busqueda, $campo, $orden, $offset, $limit); foreach ($proyectos as $proyecto) { $proyecto->Progreso = $this->_progreso($proyecto->Codigo); } $datos['proyectos'] = $proyectos; $datos['numero'] = $cantidad; $config = array(); $config['base_url'] = base_url() . "admin/proyecto/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/"; $config['total_rows'] = $cantidad; $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); }