public function backup()
{
$this->user->restrict('Admin.Maintenance.Manage');
$data['backup_tables'] = TRUE;
$timestamp = mdate('%Y-%m-%d-%H-%i-%s', now());
$this->template->setTitle($this->lang->line('text_backup_heading'));
$this->template->setHeading($this->lang->line('text_backup_heading'));
$this->template->setButton($this->lang->line('button_backup'), array('class' => 'btn btn-primary', 'onclick' => '$(\'#edit-form\').submit();'));
$this->template->setButton($this->lang->line('button_migrate'), array('class' => 'btn btn-success', 'onclick' => '$(\'#migrate-form\').submit();'));
$this->template->setButton($this->lang->line('button_icon_back'), array('class' => 'btn btn-default', 'href' => site_url('maintenance')));
if ($this->input->get('restore') and $this->_restore() === TRUE) {
redirect('maintenance');
} else {
if ($this->input->get('download') and $this->_download() === TRUE) {
redirect('maintenance');
} else {
if ($this->input->get('delete') and $this->_delete() === TRUE) {
redirect('maintenance');
}
}
}
$checked_tables = $this->session->flashdata('tables') ? $this->session->flashdata('tables') : $this->input->post('tables');
if (!$this->Maintenance_model->checkTables($checked_tables)) {
redirect('maintenance');
} else {
if ($this->input->post('tables') and $this->input->post('compression') and $this->_backup() === TRUE) {
redirect('maintenance');
}
}
if ($this->input->post('file_name')) {
$data['file_name'] = $this->input->post('file_name');
} else {
$data['file_name'] = 'tastyigniter-' . $timestamp;
}
if ($this->input->post('drop_tables')) {
$data['drop_tables'] = $this->input->post('drop_tables');
} else {
$data['drop_tables'] = '0';
}
if ($this->input->post('add_inserts')) {
$data['add_inserts'] = $this->input->post('add_inserts');
} else {
$data['add_inserts'] = '1';
}
if ($this->input->post('compression')) {
$data['compression'] = $this->input->post('compression');
} else {
$data['compression'] = 'none';
}
if ($this->session->flashdata('tables')) {
$data['tables'] = $this->session->flashdata('tables');
} else {
if ($this->input->post('tables')) {
$data['tables'] = $this->input->post('tables');
} else {
$data['tables'] = array();
}
}
$this->template->render('maintenance', $data);
}