public function browse_table()
{
$this->user->restrict('Admin.Maintenance.Access');
$this->user->restrict('Admin.Maintenance.Manage');
$filter = array();
if ($this->input->get('page')) {
$filter['page'] = (int) $this->input->get('page');
} else {
$filter['page'] = '';
}
if ($this->config->item('page_limit')) {
$filter['limit'] = $this->config->item('page_limit');
}
if ($this->uri->rsegment(3)) {
$filter['table'] = $this->uri->rsegment(3);
} else {
$filter['table'] = '';
}
$table_info = $this->Maintenance_model->browseTable($filter);
$this->template->setTitle(sprintf($this->lang->line('text_browse_heading'), $filter['table']));
$this->template->setHeading(sprintf($this->lang->line('text_browse_heading'), $filter['table']));
$this->template->setButton($this->lang->line('button_icon_back'), array('class' => 'btn btn-default', 'href' => site_url('maintenance')));
$data['sql_query'] = 'SELECT * FROM (' . $filter['table'] . ')';
if (!empty($table_info['query'])) {
$this->load->library('table');
$template = array('table_open' => '<table class="table table-striped table-border">');
$this->table->set_template($template);
$data['query_table'] = $this->table->generate($table_info['query']);
} else {
$data['query_table'] = '';
}
$config['base_url'] = site_url('maintenance/browse_table/' . $filter['table']);
$config['total_rows'] = !empty($table_info['total_rows']) ? $table_info['total_rows'] : '0';
$config['per_page'] = $filter['limit'];
$this->load->library('pagination');
$this->pagination->initialize($config);
$data['pagination'] = array('info' => $this->pagination->create_infos(), 'links' => $this->pagination->create_links());
$this->template->render('maintenance_browse', $data);
}