Maintenance::backup PHP Method

backup() public method

public backup ( )
    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);
    }