Current Path : /var/www/opcart/upload/admin/controller/tool/ |
Current File : /var/www/opcart/upload/admin/controller/tool/backup.php |
<?php class ControllerToolBackup extends Controller { private $error = array(); public function index() { $this->load->language('tool/backup'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('tool/backup'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->user->hasPermission('modify', 'tool/backup')) { if (is_uploaded_file($this->request->files['import']['tmp_name'])) { $content = file_get_contents($this->request->files['import']['tmp_name']); } else { $content = false; } if ($content) { $this->model_tool_backup->restore($content); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('tool/backup', 'token=' . $this->session->data['token'], true)); } else { $this->error['warning'] = $this->language->get('error_empty'); } } $data['heading_title'] = $this->language->get('heading_title'); $data['text_select_all'] = $this->language->get('text_select_all'); $data['text_unselect_all'] = $this->language->get('text_unselect_all'); $data['entry_export'] = $this->language->get('entry_export'); $data['entry_import'] = $this->language->get('entry_import'); $data['button_export'] = $this->language->get('button_export'); $data['button_import'] = $this->language->get('button_import'); if (isset($this->session->data['error'])) { $data['error_warning'] = $this->session->data['error']; unset($this->session->data['error']); } elseif (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } if (isset($this->session->data['success'])) { $data['success'] = $this->session->data['success']; unset($this->session->data['success']); } else { $data['success'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('tool/backup', 'token=' . $this->session->data['token'], true) ); $data['restore'] = $this->url->link('tool/backup', 'token=' . $this->session->data['token'], true); $data['backup'] = $this->url->link('tool/backup/backup', 'token=' . $this->session->data['token'], true); $data['tables'] = $this->model_tool_backup->getTables(); $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('tool/backup', $data)); } public function backup() { $this->load->language('tool/backup'); if (!isset($this->request->post['backup'])) { $this->session->data['error'] = $this->language->get('error_export'); $this->response->redirect($this->url->link('tool/backup', 'token=' . $this->session->data['token'], true)); } elseif ($this->user->hasPermission('modify', 'tool/backup')) { $this->response->addheader('Pragma: public'); $this->response->addheader('Expires: 0'); $this->response->addheader('Content-Description: File Transfer'); $this->response->addheader('Content-Type: application/octet-stream'); $this->response->addheader('Content-Disposition: attachment; filename="' . DB_DATABASE . '_' . date('Y-m-d_H-i-s', time()) . '_backup.sql"'); $this->response->addheader('Content-Transfer-Encoding: binary'); $this->load->model('tool/backup'); $this->response->setOutput($this->model_tool_backup->backup($this->request->post['backup'])); } else { $this->session->data['error'] = $this->language->get('error_permission'); $this->response->redirect($this->url->link('tool/backup', 'token=' . $this->session->data['token'], true)); } } }