latest.php (5245B)
1 <?php 2 class ControllerExtensionModuleLatest extends Controller { 3 private $error = array(); 4 5 public function index() { 6 $this->load->language('extension/module/latest'); 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('latest', $this->request->post); 15 } else { 16 $this->model_setting_module->editModule($this->request->get['module_id'], $this->request->post); 17 } 18 19 $this->cache->delete('product'); 20 21 $this->session->data['success'] = $this->language->get('text_success'); 22 23 $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true)); 24 } 25 26 if (isset($this->error['warning'])) { 27 $data['error_warning'] = $this->error['warning']; 28 } else { 29 $data['error_warning'] = ''; 30 } 31 32 if (isset($this->error['name'])) { 33 $data['error_name'] = $this->error['name']; 34 } else { 35 $data['error_name'] = ''; 36 } 37 38 if (isset($this->error['width'])) { 39 $data['error_width'] = $this->error['width']; 40 } else { 41 $data['error_width'] = ''; 42 } 43 44 if (isset($this->error['height'])) { 45 $data['error_height'] = $this->error['height']; 46 } else { 47 $data['error_height'] = ''; 48 } 49 50 $data['breadcrumbs'] = array(); 51 52 $data['breadcrumbs'][] = array( 53 'text' => $this->language->get('text_home'), 54 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) 55 ); 56 57 $data['breadcrumbs'][] = array( 58 'text' => $this->language->get('text_extension'), 59 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true) 60 ); 61 62 if (!isset($this->request->get['module_id'])) { 63 $data['breadcrumbs'][] = array( 64 'text' => $this->language->get('heading_title'), 65 'href' => $this->url->link('extension/module/latest', 'user_token=' . $this->session->data['user_token'], true) 66 ); 67 } else { 68 $data['breadcrumbs'][] = array( 69 'text' => $this->language->get('heading_title'), 70 'href' => $this->url->link('extension/module/latest', 'user_token=' . $this->session->data['user_token'] . '&module_id=' . $this->request->get['module_id'], true) 71 ); 72 } 73 74 if (!isset($this->request->get['module_id'])) { 75 $data['action'] = $this->url->link('extension/module/latest', 'user_token=' . $this->session->data['user_token'], true); 76 } else { 77 $data['action'] = $this->url->link('extension/module/latest', 'user_token=' . $this->session->data['user_token'] . '&module_id=' . $this->request->get['module_id'], true); 78 } 79 80 $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true); 81 82 if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { 83 $module_info = $this->model_setting_module->getModule($this->request->get['module_id']); 84 } 85 86 if (isset($this->request->post['name'])) { 87 $data['name'] = $this->request->post['name']; 88 } elseif (!empty($module_info)) { 89 $data['name'] = $module_info['name']; 90 } else { 91 $data['name'] = ''; 92 } 93 94 if (isset($this->request->post['limit'])) { 95 $data['limit'] = $this->request->post['limit']; 96 } elseif (!empty($module_info)) { 97 $data['limit'] = $module_info['limit']; 98 } else { 99 $data['limit'] = 5; 100 } 101 102 if (isset($this->request->post['width'])) { 103 $data['width'] = $this->request->post['width']; 104 } elseif (!empty($module_info)) { 105 $data['width'] = $module_info['width']; 106 } else { 107 $data['width'] = 200; 108 } 109 110 if (isset($this->request->post['height'])) { 111 $data['height'] = $this->request->post['height']; 112 } elseif (!empty($module_info)) { 113 $data['height'] = $module_info['height']; 114 } else { 115 $data['height'] = 200; 116 } 117 118 if (isset($this->request->post['status'])) { 119 $data['status'] = $this->request->post['status']; 120 } elseif (!empty($module_info)) { 121 $data['status'] = $module_info['status']; 122 } else { 123 $data['status'] = ''; 124 } 125 126 $data['header'] = $this->load->controller('common/header'); 127 $data['column_left'] = $this->load->controller('common/column_left'); 128 $data['footer'] = $this->load->controller('common/footer'); 129 130 $this->response->setOutput($this->load->view('extension/module/latest', $data)); 131 } 132 133 protected function validate() { 134 if (!$this->user->hasPermission('modify', 'extension/module/latest')) { 135 $this->error['warning'] = $this->language->get('error_permission'); 136 } 137 138 if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) { 139 $this->error['name'] = $this->language->get('error_name'); 140 } 141 142 if (!$this->request->post['width']) { 143 $this->error['width'] = $this->language->get('error_width'); 144 } 145 146 if (!$this->request->post['height']) { 147 $this->error['height'] = $this->language->get('error_height'); 148 } 149 150 return !$this->error; 151 } 152 }