upgrade.php (2651B)
1 <?php 2 class ControllerUpgradeUpgrade extends Controller { 3 public function index() { 4 $this->load->language('upgrade/upgrade'); 5 6 $this->document->setTitle($this->language->get('heading_title')); 7 8 $data['heading_title'] = $this->language->get('heading_title'); 9 10 $data['text_upgrade'] = $this->language->get('text_upgrade'); 11 $data['text_server'] = $this->language->get('text_server'); 12 $data['text_steps'] = $this->language->get('text_steps'); 13 $data['text_error'] = $this->language->get('text_error'); 14 $data['text_clear'] = $this->language->get('text_clear'); 15 $data['text_admin'] = $this->language->get('text_admin'); 16 $data['text_user'] = $this->language->get('text_user'); 17 $data['text_setting'] = $this->language->get('text_setting'); 18 $data['text_store'] = $this->language->get('text_store'); 19 20 $data['entry_progress'] = $this->language->get('entry_progress'); 21 22 $data['button_continue'] = $this->language->get('button_continue'); 23 24 $data['store'] = HTTP_OPENCART; 25 26 $data['total'] = count(glob(DIR_APPLICATION . 'model/upgrade/*.php')); 27 28 $data['header'] = $this->load->controller('common/header'); 29 $data['footer'] = $this->load->controller('common/footer'); 30 $data['column_left'] = $this->load->controller('common/column_left'); 31 32 $this->response->setOutput($this->load->view('upgrade/upgrade', $data)); 33 } 34 35 public function next() { 36 $this->load->language('upgrade/upgrade'); 37 38 $json = array(); 39 40 if (isset($this->request->get['step'])) { 41 $step = $this->request->get['step']; 42 } else { 43 $step = 1; 44 } 45 46 $files = glob(DIR_APPLICATION . 'model/upgrade/*.php'); 47 48 if (isset($files[$step - 1])) { 49 // Get the upgrade file 50 try { 51 $this->load->model('upgrade/' . basename($files[$step - 1], '.php')); 52 53 // All upgrade methods require a upgrade method 54 $this->{'model_upgrade_' . str_replace('.', '', basename($files[$step - 1], '.php'))}->upgrade(); 55 56 $json['success'] = sprintf($this->language->get('text_progress'), basename($files[$step - 1], '.php'), $step, count($files)); 57 58 $json['next'] = str_replace('&', '&', $this->url->link('upgrade/upgrade/next', 'step=' . ($step + 1))); 59 } catch(Exception $exception) { 60 $json['error'] = sprintf($this->language->get('error_exception'), $exception->getCode(), $exception->getMessage(), $exception->getFile(), $exception->getLine()); 61 } 62 } else { 63 $json['success'] = $this->language->get('text_success'); 64 } 65 66 $this->response->addHeader('Content-Type: application/json'); 67 $this->response->setOutput(json_encode($json)); 68 } 69 }