shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

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 }