Ekl script no es mio pero llama no se porque a dos listas distintas.
Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Informes extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('report');
$this->load->model('report_manager');
$this->load->model('report_category');
$this->load->model('report_category_manager');
}
public function index()
{
if (!$this->session->userdata('admin'))
redirect('/admin/sesion/ingresar/', 'refresh');
redirect('/admin/informes/listar/', 'refresh');
}
public function agregar() // process
{
if (!$this->session->userdata('admin'))
redirect('/admin/sesion/ingresar/', 'refresh');
$this->report->id = $this->session->flashdata('id');
$this->session->set_flashdata('msg_type', "success");
if ($this->report_manager->get($this->report))
$this->session->set_flashdata('msg_text', "El informe ha sido editado satisfactoriamente.");
else {
$this->report->is_available = 1;
$this->session->set_flashdata('msg_text', "El informe ha sido agregado satisfactoriamente.");
}
$this->report->name = $this->input->post('name');
$this->report->re_is_used = $this->input->post('re_is_used');
$this->report->rep_cat_id = $this->input->post('rep_cat_id');
$this->report_category->id = $this->input->post('rep_cat_id');
$this->report_category_manager->get($this->report_category);
if ($this->report_category->type <> 'url') // upload a mp3 or a pdf
{
$this->load->library('upload');
if (!$this->upload->do_upload('filepath'))
{
if ($_FILES['filepath']['error'] != 4)
{
// upload with errors! :S
$this->session->set_flashdata('msg_type', "error");
$this->session->set_flashdata('msg_text', $this->upload->display_errors('',''));
redirect($this->session->flashdata('edit_url'), 'refresh');
}
}
else
{
$data = $this->upload->data();
if ((($data['file_ext'] == ".pdf") && ($this->report_category->type == "pdf")) OR (($data['file_ext'] == '.mp3') && ($this->report_category->type == 'audio')))
{
$this->report->path = base_url() . "resources/uploads/" . $data['file_name'];
$this->report->full_path = $data['full_path'];
}
else
{
delete_file($data['full_path']);
$this->session->set_flashdata('msg_type', "error");
$this->session->set_flashdata('msg_text', "El tipo de archivo que subió no se corresponde con el tipo de Informe. Por favor, intente nuevamente.");
redirect($this->session->flashdata('edit_url'), 'refresh');
}
}
}
else // upload a url
$this->report->path = $this->input->post('path');
$this->report->id = $this->report_manager->set($this->report); // last insert id
if ($this->session->flashdata('last_url'))
redirect($this->session->flashdata('last_url'), 'refresh');
else
redirect('/admin/informes/', 'refresh');
}
public function borrar($id = 0) // process
{
if (!$this->session->userdata('admin'))
redirect('/admin/sesion/ingresar/', 'refresh');
$this->report->id = (int)$id;
//$this->report_manager->get($this->report);
$this->report_manager->delete($this->report);
$this->session->set_flashdata('msg_text', "El informe ha sido eliminado satisfactoriamente.");
$this->session->set_flashdata('msg_type', "success");
if ($this->session->flashdata('last_url'))
redirect($this->session->flashdata('last_url'), 'refresh');
else
redirect('/admin/informes/', 'refresh');
}
public function editar($id = 0)
{
if (!$this->session->userdata('admin'))
redirect('/admin/sesion/ingresar/', 'refresh');
$this->session->set_flashdata('last_url', $this->session->flashdata('last_url'));
$this->session->set_flashdata('edit_url', uri_string());
$this->report->id = (int)$id;
$this->session->set_flashdata('id', $this->report->id);
$this->report_manager->get($this->report);
$data['rep_cats'] = $this->report_category_manager->getAll();
$data['report'] = $this->report;
$this->load->view('admin/header');
$this->load->view('admin/reports-edit',$data);
$this->load->view('admin/footer');
}
public function habilitar($id = 0, $value = 1) // process
{
if (!$this->session->userdata('admin'))
redirect('/admin/sesion/ingresar/', 'refresh');
$this->report->id = (int)$id;
$this->report_manager->get($this->report);
$this->report->is_available = $value;
$this->report_manager->set($this->report);
if ($value)
$this->session->set_flashdata('msg_text', "Se ha habilitado el informe.");
else
$this->session->set_flashdata('msg_text', "Se ha deshabilitado el informe.");
$this->session->set_flashdata('msg_type', "success");
if ($this->session->flashdata('last_url'))
redirect($this->session->flashdata('last_url'), 'refresh');
else
redirect('/admin/informes/', 'refresh');
}
public function listar($page = 0)
{
if (!$this->session->userdata('admin'))
redirect('/admin/sesion/ingresar/', 'refresh');
$this->session->set_flashdata('last_url', uri_string());
$config['total_rows'] = (int)$this->report_manager->countAll();
$config['base_url'] = site_url('/admin/informes/listar');
$this->pagination->initialize($config);
/*$a = $this->report_manager->getAllUno();
echo '<pre>';
print_r($a);exit();*/
$data['reports'] = $this->report_manager->getAllUno($this->pagination->per_page);
$this->load->view('admin/header');
$this->load->view('admin/reports-show',$data);
$this->load->view('admin/footer');
}
public function buscar($str)
{
if (!$this->session->userdata('admin'))
redirect('/admin/sesion/ingresar/', 'refresh');
$this->session->set_flashdata('last_url', uri_string());
$config['total_rows'] = (int)$this->report_manager->countAll();
$config['base_url'] = site_url('/admin/informes/listar');
$this->pagination->initialize($config);
$data['reports'] = $this->report_manager->findReport($str);
$data['str'] = urldecode($str);
$this->load->view('admin/header');
$this->load->view('admin/reports-show',$data);
$this->load->view('admin/footer');
}
}
/* End of file informes.php */
/* Location: ./application/controllers/admin/informes.php */