html.php (4433B)
1 <?php 2 class ControllerExtensionModuleHTML extends Controller { 3 private $error = array(); 4 5 public function index() { 6 $this->load->language('extension/module/html'); 7 8 $this->document->setTitle($this->language->get('heading_title')); 9 10 $this->load->model('setting/module'); 11 12 if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { 13 if (!isset($this->request->get['module_id'])) { 14 $this->model_setting_module->addModule('html', $this->request->post); 15 } else { 16 $this->model_setting_module->editModule($this->request->get['module_id'], $this->request->post); 17 } 18 19 $this->session->data['success'] = $this->language->get('text_success'); 20 21 $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true)); 22 } 23 24 if (isset($this->error['warning'])) { 25 $data['error_warning'] = $this->error['warning']; 26 } else { 27 $data['error_warning'] = ''; 28 } 29 30 if (isset($this->error['name'])) { 31 $data['error_name'] = $this->error['name']; 32 } else { 33 $data['error_name'] = ''; 34 } 35 36 $data['breadcrumbs'] = array(); 37 38 $data['breadcrumbs'][] = array( 39 'text' => $this->language->get('text_home'), 40 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) 41 ); 42 43 $data['breadcrumbs'][] = array( 44 'text' => $this->language->get('text_extension'), 45 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true) 46 ); 47 48 if (!isset($this->request->get['module_id'])) { 49 $data['breadcrumbs'][] = array( 50 'text' => $this->language->get('heading_title'), 51 'href' => $this->url->link('extension/module/html', 'user_token=' . $this->session->data['user_token'], true) 52 ); 53 } else { 54 $data['breadcrumbs'][] = array( 55 'text' => $this->language->get('heading_title'), 56 'href' => $this->url->link('extension/module/html', 'user_token=' . $this->session->data['user_token'] . '&module_id=' . $this->request->get['module_id'], true) 57 ); 58 } 59 60 if (!isset($this->request->get['module_id'])) { 61 $data['action'] = $this->url->link('extension/module/html', 'user_token=' . $this->session->data['user_token'], true); 62 } else { 63 $data['action'] = $this->url->link('extension/module/html', 'user_token=' . $this->session->data['user_token'] . '&module_id=' . $this->request->get['module_id'], true); 64 } 65 66 $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true); 67 68 if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { 69 $module_info = $this->model_setting_module->getModule($this->request->get['module_id']); 70 } 71 72 if (isset($this->request->post['name'])) { 73 $data['name'] = $this->request->post['name']; 74 } elseif (!empty($module_info)) { 75 $data['name'] = $module_info['name']; 76 } else { 77 $data['name'] = ''; 78 } 79 80 if (isset($this->request->post['module_description'])) { 81 $data['module_description'] = $this->request->post['module_description']; 82 } elseif (!empty($module_info)) { 83 $data['module_description'] = $module_info['module_description']; 84 } else { 85 $data['module_description'] = array(); 86 } 87 88 $this->load->model('localisation/language'); 89 90 $data['languages'] = $this->model_localisation_language->getLanguages(); 91 92 if (isset($this->request->post['status'])) { 93 $data['status'] = $this->request->post['status']; 94 } elseif (!empty($module_info)) { 95 $data['status'] = $module_info['status']; 96 } else { 97 $data['status'] = ''; 98 } 99 100 $data['header'] = $this->load->controller('common/header'); 101 $data['column_left'] = $this->load->controller('common/column_left'); 102 $data['footer'] = $this->load->controller('common/footer'); 103 104 $this->response->setOutput($this->load->view('extension/module/html', $data)); 105 } 106 107 protected function validate() { 108 if (!$this->user->hasPermission('modify', 'extension/module/html')) { 109 $this->error['warning'] = $this->language->get('error_permission'); 110 } 111 112 if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) { 113 $this->error['name'] = $this->language->get('error_name'); 114 } 115 116 return !$this->error; 117 } 118 }