public function index()
{
$this->load->helper('number');
$this->user->restrict('Admin.Maintenance.Access');
if ($this->input->post('migrate') and $this->_migrate() === TRUE) {
redirect('maintenance');
}
if ($this->Maintenance_model->checkTables($this->input->post('tables'))) {
$this->session->set_flashdata('tables', $this->input->post('tables'));
redirect('maintenance/backup');
}
$this->template->setTitle($this->lang->line('text_title'));
$this->template->setHeading($this->lang->line('text_heading'));
$this->template->setButton($this->lang->line('button_backup'), array('class' => 'btn btn-primary', 'onclick' => '$(\'#tables-form\').submit();'));
$this->template->setButton($this->lang->line('button_migrate'), array('class' => 'btn btn-success', 'onclick' => '$(\'#migrate-form\').submit();'));
$data['backup_tables'] = FALSE;
$data['db_tables'] = array();
$db_tables = $this->Maintenance_model->getdbTables();
foreach ($db_tables as $db_table) {
$data['db_tables'][] = array('name' => $db_table['table_name'], 'records' => $db_table['table_rows'], 'data_length' => byte_format($db_table['data_length']), 'index_length' => byte_format($db_table['index_length']), 'data_free' => byte_format($db_table['data_free']), 'engine' => $db_table['engine'], 'browse' => site_url('maintenance/browse_table/' . $db_table['table_name']));
}
$data['backup_files'] = $this->Maintenance_model->getBackupFiles();
$migrate_type = 'core';
$this->load->library('migration');
$data['installed_version'] = $this->migration->get_version($migrate_type);
$data['latest_version'] = (int) $this->migration->get_latest_version($migrate_type);
$data['migration_files'] = array();
if ($migration_files = $this->migration->find_migrations($migrate_type)) {
foreach ($migration_files as $version => $migration_file) {
$migration_file = basename($migration_file);
$version = $this->migration->get_migration_number(basename($migration_file));
$data['migration_files'][$version] = $migration_file;
}
}
$this->template->render('maintenance', $data);
}