shop.balmet.com

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

royal_mail.php (25240B)


      1 <?php
      2 class ControllerExtensionShippingRoyalMail extends Controller {
      3 	private $error = array();
      4 
      5 	public function index() {
      6 		$this->load->language('extension/shipping/royal_mail');
      7 
      8 		$this->document->setTitle($this->language->get('heading_title'));
      9 
     10 		$this->load->model('setting/setting');
     11 
     12 		if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
     13 			$this->model_setting_setting->editSetting('shipping_royal_mail', $this->request->post);
     14 
     15 			$this->session->data['success'] = $this->language->get('text_success');
     16 
     17 			$this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true));
     18 		}
     19 
     20 		if (isset($this->error['warning']))  {
     21 			$data['error_warning'] = $this->error['warning'];
     22 		} else {
     23 			$data['error_warning'] = '';
     24 		}
     25 
     26 		$data['breadcrumbs'] = array();
     27 
     28 		$data['breadcrumbs'][] = array(
     29 			'text' => $this->language->get('text_home'),
     30 			'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true)
     31 		);
     32 
     33 		$data['breadcrumbs'][] = array(
     34 			'text' => $this->language->get('text_extension'),
     35 			'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)
     36 		);
     37 
     38 		$data['breadcrumbs'][] = array(
     39 			'text' => $this->language->get('heading_title'),
     40 			'href' => $this->url->link('extension/shipping/royal_mail', 'user_token=' . $this->session->data['user_token'], true)
     41 		);
     42 
     43 		$data['action'] = $this->url->link('extension/shipping/royal_mail', 'user_token=' . $this->session->data['user_token'], true);
     44 
     45 		$data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true);
     46 
     47 		// Special Delivery < 500
     48 		if (isset($this->request->post['shipping_royal_mail_special_delivery_500_rate'])) {
     49 			$data['shipping_royal_mail_special_delivery_500_rate'] = $this->request->post['shipping_royal_mail_special_delivery_500_rate'];
     50 		} elseif ($this->config->has('shipping_royal_mail_special_delivery_500_rate')) {
     51 			$data['shipping_royal_mail_special_delivery_500_rate'] = $this->config->get('shipping_royal_mail_special_delivery_500_rate');
     52 		} else {
     53 			$data['shipping_royal_mail_special_delivery_500_rate'] = '0.1:6.40,0.5:7.15,1:8.45,2:11.00,10:26.60,20:41.20';
     54 		}
     55 
     56 		if (isset($this->request->post['shipping_royal_mail_special_delivery_500_insurance'])) {
     57 			$data['shipping_royal_mail_special_delivery_500_insurance'] = $this->request->post['shipping_royal_mail_special_delivery_500_insurance'];
     58 		} elseif ($this->config->has('shipping_royal_mail_special_delivery_500_insurance')) {
     59 			$data['shipping_royal_mail_special_delivery_500_insurance'] = $this->config->get('shipping_royal_mail_special_delivery_500_insurance');
     60 		} else {
     61 			$data['shipping_royal_mail_special_delivery_500_insurance'] = '0:500';
     62 		}
     63 
     64 		if (isset($this->request->post['shipping_royal_mail_special_delivery_500_status'])) {
     65 			$data['shipping_royal_mail_special_delivery_500_status'] = $this->request->post['shipping_royal_mail_special_delivery_500_status'];
     66 		} else {
     67 			$data['shipping_royal_mail_special_delivery_500_status'] = $this->config->get('shipping_royal_mail_special_delivery_500_status');
     68 		}
     69 
     70 		// Special Delivery < 1000
     71 		if (isset($this->request->post['shipping_royal_mail_special_delivery_1000_rate'])) {
     72 			$data['shipping_royal_mail_special_delivery_1000_rate'] = $this->request->post['shipping_royal_mail_special_delivery_1000_rate'];
     73 		} elseif ($this->config->has('shipping_royal_mail_special_delivery_1000_rate')) {
     74 			$data['shipping_royal_mail_special_delivery_1000_rate'] = $this->config->get('shipping_royal_mail_special_delivery_1000_rate');
     75 		} else {
     76 			$data['shipping_royal_mail_special_delivery_1000_rate'] = '0.1:7.40,0.5:8.15,1:9.45,2:12.00,10:27.60,20:42.20';
     77 		}
     78 
     79 		if (isset($this->request->post['shipping_royal_mail_special_delivery_1000_insurance'])) {
     80 			$data['shipping_royal_mail_special_delivery_1000_insurance'] = $this->request->post['shipping_royal_mail_special_delivery_1000_insurance'];
     81 		} elseif ($this->config->has('shipping_royal_mail_special_delivery_1000_insurance')) {
     82 			$data['shipping_royal_mail_special_delivery_1000_insurance'] = $this->config->get('shipping_royal_mail_special_delivery_1000_insurance');
     83 		} else {
     84 			$data['shipping_royal_mail_special_delivery_1000_insurance'] = '0:1000';
     85 		}
     86 
     87 		if (isset($this->request->post['shipping_royal_mail_special_delivery_1000_status'])) {
     88 			$data['shipping_royal_mail_special_delivery_1000_status'] = $this->request->post['shipping_royal_mail_special_delivery_1000_status'];
     89 		} else {
     90 			$data['shipping_royal_mail_special_delivery_1000_status'] = $this->config->get('shipping_royal_mail_special_delivery_1000_status');
     91 		}
     92 
     93 		// Special Delivery < 2500
     94 		if (isset($this->request->post['shipping_royal_mail_special_delivery_2500_rate'])) {
     95 			$data['shipping_royal_mail_special_delivery_2500_rate'] = $this->request->post['shipping_royal_mail_special_delivery_2500_rate'];
     96 		} elseif ($this->config->has('shipping_royal_mail_special_delivery_2500_rate')) {
     97 			$data['shipping_royal_mail_special_delivery_2500_rate'] = $this->config->get('shipping_royal_mail_special_delivery_2500_rate');
     98 		} else {
     99 			$data['shipping_royal_mail_special_delivery_2500_rate'] = '0.1:9.40,0.5:10.15,1:11.45,2:14.00,10:29.60,20:44.20';
    100 		}
    101 
    102 		if (isset($this->request->post['shipping_royal_mail_special_delivery_2500_insurance'])) {
    103 			$data['shipping_royal_mail_special_delivery_2500_insurance'] = $this->request->post['shipping_royal_mail_special_delivery_2500_insurance'];
    104 		} elseif ($this->config->has('shipping_royal_mail_special_delivery_2500_insurance')) {
    105 			$data['shipping_royal_mail_special_delivery_2500_insurance'] = $this->config->get('shipping_royal_mail_special_delivery_2500_insurance');
    106 		} else {
    107 			$data['shipping_royal_mail_special_delivery_2500_insurance'] = '0:2500';
    108 		}
    109 
    110 		if (isset($this->request->post['shipping_royal_mail_special_delivery_2500_status'])) {
    111 			$data['shipping_royal_mail_special_delivery_2500_status'] = $this->request->post['shipping_royal_mail_special_delivery_2500_status'];
    112 		} else {
    113 			$data['shipping_royal_mail_special_delivery_2500_status'] = $this->config->get('shipping_royal_mail_special_delivery_2500_status');
    114 		}
    115 
    116 		// 1st Class Signed
    117 		if (isset($this->request->post['shipping_royal_mail_1st_class_signed_rate'])) {
    118 			$data['shipping_royal_mail_1st_class_signed_rate'] = $this->request->post['shipping_royal_mail_1st_class_signed_rate'];
    119 		} elseif ($this->config->has('shipping_royal_mail_1st_class_signed_rate')) {
    120 			$data['shipping_royal_mail_1st_class_signed_rate'] = $this->config->get('shipping_royal_mail_1st_class_signed_rate');
    121 		} else {
    122 			$data['shipping_royal_mail_1st_class_signed_rate'] = '0.1:2.03,0.25:2.34,0.5:2.75,0.75:3.48,1:6.75,2:10.00,5:16.95,10:23.00,20:34.50';
    123 		}
    124 
    125 		if (isset($this->request->post['shipping_royal_mail_1st_class_signed_status'])) {
    126 			$data['shipping_royal_mail_1st_class_signed_status'] = $this->request->post['shipping_royal_mail_1st_class_signed_status'];
    127 		} else {
    128 			$data['shipping_royal_mail_1st_class_signed_status'] = $this->config->get('shipping_royal_mail_1st_class_signed_status');
    129 		}
    130 
    131 		// 2nd Class Signed
    132 		if (isset($this->request->post['shipping_royal_mail_2nd_class_signed_rate'])) {
    133 			$data['shipping_royal_mail_2nd_class_signed_rate'] = $this->request->post['shipping_royal_mail_2nd_class_signed_rate'];
    134 		} elseif ($this->config->has('shipping_royal_mail_2nd_class_signed_rate')) {
    135 			$data['shipping_royal_mail_2nd_class_signed_rate'] = $this->config->get('shipping_royal_mail_2nd_class_signed_rate');
    136 		} else {
    137 			$data['shipping_royal_mail_2nd_class_signed_rate'] = '0.1:1.83,0.25:2.27,0.5:2.58,0.75:3.11,1:6.30,2:9.10,5:14.85,10:21.35,20:29.65';
    138 		}
    139 
    140 		if (isset($this->request->post['shipping_royal_mail_2nd_class_signed_status'])) {
    141 			$data['shipping_royal_mail_2nd_class_signed_status'] = $this->request->post['shipping_royal_mail_2nd_class_signed_status'];
    142 		} else {
    143 			$data['shipping_royal_mail_2nd_class_signed_status'] = $this->config->get('shipping_royal_mail_2nd_class_signed_status');
    144 		}
    145 
    146 		// 1st Class Standard
    147 		if (isset($this->request->post['shipping_royal_mail_1st_class_standard_rate'])) {
    148 			$data['shipping_royal_mail_1st_class_standard_rate'] = $this->request->post['shipping_royal_mail_1st_class_standard_rate'];
    149 		} elseif ($this->config->has('shipping_royal_mail_1st_class_standard_rate')) {
    150 			$data['shipping_royal_mail_1st_class_standard_rate'] = $this->config->get('shipping_royal_mail_1st_class_standard_rate');
    151 		} else {
    152 			$data['shipping_royal_mail_1st_class_standard_rate'] = '0.1:0.93,0.25:1.24,0.5:1.65,0.75:2.38,1:5.65,2:8.90,5:15.85,10:21.90,20:33.40';
    153 		}
    154 
    155 		if (isset($this->request->post['shipping_royal_mail_1st_class_standard_status'])) {
    156 			$data['shipping_royal_mail_1st_class_standard_status'] = $this->request->post['shipping_royal_mail_1st_class_standard_status'];
    157 		} else {
    158 			$data['shipping_royal_mail_1st_class_standard_status'] = $this->config->get('shipping_royal_mail_1st_class_standard_status');
    159 		}
    160 
    161 		// 2nd Class Standard
    162 		if (isset($this->request->post['shipping_royal_mail_2nd_class_standard_rate'])) {
    163 			$data['shipping_royal_mail_2nd_class_standard_rate'] = $this->request->post['shipping_royal_mail_2nd_class_standard_rate'];
    164 		} elseif ($this->config->has('shipping_royal_mail_2nd_class_standard_rate')) {
    165 			$data['shipping_royal_mail_2nd_class_standard_rate'] = $this->config->get('shipping_royal_mail_2nd_class_standard_rate');
    166 		} else {
    167 			$data['shipping_royal_mail_2nd_class_standard_rate'] = '0.1:0.73,.25:1.17,.5:1.48,.75:2.01,1:5.20,2:8.00,5:13.75,10:20.25,20:28.55';
    168 		}
    169 
    170 		if (isset($this->request->post['shipping_royal_mail_2nd_class_standard_status'])) {
    171 			$data['shipping_royal_mail_2nd_class_standard_status'] = $this->request->post['shipping_royal_mail_2nd_class_standard_status'];
    172 		} else {
    173 			$data['shipping_royal_mail_2nd_class_standard_status'] = $this->config->get('shipping_royal_mail_2nd_class_standard_status');
    174 		}
    175 
    176 		// International Standard
    177 		if (isset($this->request->post['shipping_royal_mail_international_standard_eu_rate'])) {
    178 			$data['shipping_royal_mail_international_standard_eu_rate'] = $this->request->post['shipping_royal_mail_international_standard_eu_rate'];
    179 		} elseif ($this->config->has('shipping_royal_mail_international_standard_eu_rate')) {
    180 			$data['shipping_royal_mail_international_standard_eu_rate'] = $this->config->get('shipping_royal_mail_international_standard_eu_rate');
    181 		} else {
    182 			$data['shipping_royal_mail_international_standard_eu_rate'] = '0.01:0.97,0.02:0.97,0.06:1.47,0.1:3.20,0.25:3.70,0.5:5.15,0.75:6.60,1.25:9.50,1.5:10.95,1.75:12.40,2:13.85';
    183 		}
    184 
    185 		if (isset($this->request->post['shipping_royal_mail_international_standard_zone_1_rate'])) {
    186 			$data['shipping_royal_mail_international_standard_zone_1_rate'] = $this->request->post['shipping_royal_mail_international_standard_zone_1_rate'];
    187 		} elseif ($this->config->has('shipping_royal_mail_international_standard_zone_1_rate')) {
    188 			$data['shipping_royal_mail_international_standard_zone_1_rate'] = $this->config->get('shipping_royal_mail_international_standard_zone_1_rate');
    189 		} else {
    190 			$data['shipping_royal_mail_international_standard_zone_1_rate'] = '0.01:0.97,0.02:1.28,0.06:2.15,0.1:3.80,0.25:4.75,0.5:7.45,0.75:10.15,1:12.85,1.25:15.55,1.5:18.25,1.75:20.95,2:23.65';
    191 		}
    192 
    193 		if (isset($this->request->post['shipping_royal_mail_international_standard_zone_2_rate'])) {
    194 			$data['shipping_royal_mail_international_standard_zone_2_rate'] = $this->request->post['shipping_royal_mail_international_standard_zone_2_rate'];
    195 		} elseif ($this->config->has('shipping_royal_mail_international_standard_zone_2_rate')) {
    196 			$data['shipping_royal_mail_international_standard_zone_2_rate'] = $this->config->get('shipping_royal_mail_international_standard_zone_2_rate');
    197 		} else {
    198 			$data['shipping_royal_mail_international_standard_zone_2_rate'] = '0.01:0.97,0.02:1.28,0.06:2.15,0.1:4.00,0.25:5.05,0.5:7.90,0.75:10.75,1:13.60,1.25:16.45,1.5:19.30,1.75:22.15,2:25.00';
    199 		}
    200 
    201 		if (isset($this->request->post['shipping_royal_mail_international_standard_status'])) {
    202 			$data['shipping_royal_mail_international_standard_status'] = $this->request->post['shipping_royal_mail_international_standard_status'];
    203 		} else {
    204 			$data['shipping_royal_mail_international_standard_status'] = $this->config->get('shipping_royal_mail_international_standard_status');
    205 		}
    206 
    207 		// International Tracked & Signed
    208 		if (isset($this->request->post['shipping_royal_mail_international_tracked_signed_eu_rate'])) {
    209 			$data['shipping_royal_mail_international_tracked_signed_eu_rate'] = $this->request->post['shipping_royal_mail_international_tracked_signed_eu_rate'];
    210 		} elseif ($this->config->has('shipping_royal_mail_international_tracked_signed_eu_rate')) {
    211 			$data['shipping_royal_mail_international_tracked_signed_eu_rate'] = $this->config->get('shipping_royal_mail_international_tracked_signed_eu_rate');
    212 		} else {
    213 			$data['shipping_royal_mail_international_tracked_signed_eu_rate'] = '0.02:5.97,0.06:6.47,0.1:8.20,0.25:8.70,0.50:10.15,0.75:11.60,1:13.05,1.25:14.50,1.5:15.95,1.75:17.40,2:18.85';
    214 		}
    215 
    216 		if (isset($this->request->post['shipping_royal_mail_international_tracked_signed_zone_1_rate'])) {
    217 			$data['shipping_royal_mail_international_tracked_signed_zone_1_rate'] = $this->request->post['shipping_royal_mail_international_tracked_signed_zone_1_rate'];
    218 		} elseif ($this->config->has('shipping_royal_mail_international_tracked_signed_zone_1_rate')) {
    219 			$data['shipping_royal_mail_international_tracked_signed_zone_1_rate'] = $this->config->get('shipping_royal_mail_international_tracked_signed_zone_1_rate');
    220 		} else {
    221 			$data['shipping_royal_mail_international_tracked_signed_zone_1_rate'] = '0.02:6.28,0.06:7.15,0.1:8.80,0.25:9.75,0.5:12.45,0.75:15.15,1:17.85,1.25:20.55,1.5:23.25,1.75:25.95,2:28.65';
    222 		}
    223 
    224 		if (isset($this->request->post['shipping_royal_mail_international_tracked_signed_zone_2_rate'])) {
    225 			$data['shipping_royal_mail_international_tracked_signed_zone_2_rate'] = $this->request->post['shipping_royal_mail_international_tracked_signed_zone_2_rate'];
    226 		} elseif ($this->config->has('shipping_royal_mail_international_tracked_signed_zone_2_rate')) {
    227 			$data['shipping_royal_mail_international_tracked_signed_zone_2_rate'] = $this->config->get('shipping_royal_mail_international_tracked_signed_zone_2_rate');
    228 		} else {
    229 			$data['shipping_royal_mail_international_tracked_signed_zone_2_rate'] = '0.02:6.28,0.06:7.15,0.1:9.00,0.25:10.05,0.5:12.90,0.75:15.75,1:18.60,1.25:21.45,1.5:24.30,1.75:27.15,2:30.00';
    230 		}
    231 
    232 		if (isset($this->request->post['shipping_royal_mail_international_tracked_signed_status'])) {
    233 			$data['shipping_royal_mail_international_tracked_signed_status'] = $this->request->post['shipping_royal_mail_international_tracked_signed_status'];
    234 		} else {
    235 			$data['shipping_royal_mail_international_tracked_signed_status'] = $this->config->get('shipping_royal_mail_international_tracked_signed_status');
    236 		}
    237 
    238 		// International Tracked
    239 		// Europe
    240 		if (isset($this->request->post['shipping_royal_mail_international_tracked_eu_rate'])) {
    241 			$data['shipping_royal_mail_international_tracked_eu_rate'] = $this->request->post['shipping_royal_mail_international_tracked_eu_rate'];
    242 		} elseif ($this->config->has('shipping_royal_mail_international_tracked_eu_rate')) {
    243 			$data['shipping_royal_mail_international_tracked_eu_rate'] = $this->config->get('shipping_royal_mail_international_tracked_eu_rate');
    244 		} else {
    245 			$data['shipping_royal_mail_international_tracked_eu_rate'] = '0.02:7.16,0.06:7.76,0.1:9.84,0.25:10.44,0.5:12.18,0.75:13.92,1:15.66,1.25:17.40,1.5:19.14,1.75:20.88,2:22.62';
    246 		}
    247 
    248 		// International Tracked
    249 		// Non Europe
    250 		if (isset($this->request->post['shipping_royal_mail_international_tracked_non_eu_rate'])) {
    251 			$data['shipping_royal_mail_international_tracked_non_eu_rate'] = $this->request->post['shipping_royal_mail_international_tracked_non_eu_rate'];
    252 		} elseif ($this->config->has('shipping_royal_mail_international_tracked_non_eu_rate')) {
    253 			$data['shipping_royal_mail_international_tracked_non_eu_rate'] = $this->config->get('shipping_royal_mail_international_tracked_non_eu_rate');
    254 		} else {
    255 			$data['shipping_royal_mail_international_tracked_non_eu_rate'] = '0.02:5.97,0.06:6.47,0.1:8.20,0.25:8.70,0.5:10.15,0.75:11.60,1:13.05,1.25:14.50,1.5:15.95,1.75:17.40,2:18.85';
    256 		}
    257 
    258 		// International Tracked
    259 		// World Zones 1
    260 		if (isset($this->request->post['shipping_royal_mail_international_tracked_zone_1_rate'])) {
    261 			$data['shipping_royal_mail_international_tracked_zone_1_rate'] = $this->request->post['shipping_royal_mail_international_tracked_zone_1_rate'];
    262 		} elseif ($this->config->has('shipping_royal_mail_international_tracked_zone_1_rate')) {
    263 			$data['shipping_royal_mail_international_tracked_zone_1_rate'] = $this->config->get('shipping_royal_mail_international_tracked_zone_1_rate');
    264 		} else {
    265 			$data['shipping_royal_mail_international_tracked_zone_1_rate'] = '0.02:5.97,0.06:6.47,0.1:8.80,0.25:9.75,0.5:12.45,0.75:15.15,1:17.85,1.25:20.55,1.5:23.25,1.75:25.95,2:28.65';
    266 		}
    267 
    268 		// International Tracked
    269 		// World Zones 2
    270 		if (isset($this->request->post['shipping_royal_mail_international_tracked_zone_2_rate'])) {
    271 			$data['shipping_royal_mail_international_tracked_zone_2_rate'] = $this->request->post['shipping_royal_mail_international_tracked_zone_2_rate'];
    272 		} elseif ($this->config->has('shipping_royal_mail_international_tracked_zone_2_rate')) {
    273 			$data['shipping_royal_mail_international_tracked_zone_2_rate'] = $this->config->get('shipping_royal_mail_international_tracked_zone_2_rate');
    274 		} else {
    275 			$data['shipping_royal_mail_international_tracked_zone_2_rate'] = '0.02:6.28,0.06:7.15,0.1:9.00,0.25:10.05,0.5:12.90,0.75:15.75,1:18.60,1.25:21.45,1.5:24.30,1.75:27.15,2:30.00';
    276 		}
    277 
    278 		if (isset($this->request->post['shipping_royal_mail_international_tracked_status'])) {
    279 			$data['shipping_royal_mail_international_tracked_status'] = $this->request->post['shipping_royal_mail_international_tracked_status'];
    280 		} else {
    281 			$data['shipping_royal_mail_international_tracked_status'] = $this->config->get('shipping_royal_mail_international_tracked_status');
    282 		}
    283 
    284 		// International Signed
    285 		// Europe
    286 		if (isset($this->request->post['shipping_royal_mail_international_signed_eu_rate'])) {
    287 			$data['shipping_royal_mail_international_signed_eu_rate'] = $this->request->post['shipping_royal_mail_international_signed_eu_rate'];
    288 		} elseif ($this->config->has('shipping_royal_mail_international_signed_eu_rate')) {
    289 			$data['shipping_royal_mail_international_signed_eu_rate'] = $this->config->get('shipping_royal_mail_international_signed_eu_rate');
    290 		} else {
    291 			$data['shipping_royal_mail_international_signed_eu_rate'] = '0.02:5.97,0.06:6.47,0.1:8.20,0.25:8.70,0.5:10.15,0.75:11.60,1:13.05,1.25:14.50,1.5:15.95,1.75:17.40,2:18.85';
    292 		}
    293 
    294 		// International Signed
    295 		// World Zones 1
    296 		if (isset($this->request->post['shipping_royal_mail_international_signed_zone_1_rate'])) {
    297 			$data['shipping_royal_mail_international_signed_zone_1_rate'] = $this->request->post['shipping_royal_mail_international_signed_zone_1_rate'];
    298 		} elseif ($this->config->has('shipping_royal_mail_international_signed_zone_1_rate')) {
    299 			$data['shipping_royal_mail_international_signed_zone_1_rate'] = $this->config->get('shipping_royal_mail_international_signed_zone_1_rate');
    300 		} else {
    301 			$data['shipping_royal_mail_international_signed_zone_1_rate'] = '0.02:6.28,0.06:7.15,0.1:8.80,0.25:9.75,0.5:12.45,0.75:15.15,1:17.85,1.25:20.55,1.5:23.25,1.75:25.95,2:28.65';
    302 		}
    303 
    304 		// International Signed
    305 		// World Zones 2
    306 		if (isset($this->request->post['shipping_royal_mail_international_signed_zone_2_rate'])) {
    307 			$data['shipping_royal_mail_international_signed_zone_2_rate'] = $this->request->post['shipping_royal_mail_international_signed_zone_2_rate'];
    308 		} elseif ($this->config->has('shipping_royal_mail_international_signed_zone_2_rate')) {
    309 			$data['shipping_royal_mail_international_signed_zone_2_rate'] = $this->config->get('shipping_royal_mail_international_signed_zone_2_rate');
    310 		} else {
    311 			$data['shipping_royal_mail_international_signed_zone_2_rate'] = '0.02:6.28,0.06:7.15,0.1:9.00,0.25:10.05,0.5:12.90,0.75:15.75,1:18.60,1.25:21.45,1.5:24.30,1.75:27.15,2:30.00';
    312 		}
    313 
    314 		if (isset($this->request->post['shipping_royal_mail_international_signed_status'])) {
    315 			$data['shipping_royal_mail_international_signed_status'] = $this->request->post['shipping_royal_mail_international_signed_status'];
    316 		} else {
    317 			$data['shipping_royal_mail_international_signed_status'] = $this->config->get('shipping_royal_mail_international_signed_status');
    318 		}
    319 
    320 		// International Economy
    321 		if (isset($this->request->post['shipping_royal_mail_international_economy_rate'])) {
    322 			$data['shipping_royal_mail_international_economy_rate'] = $this->request->post['shipping_royal_mail_international_economy_rate'];
    323 		} elseif ($this->config->has('shipping_royal_mail_international_economy_rate')) {
    324 			$data['shipping_royal_mail_international_economy_rate'] = $this->config->get('shipping_royal_mail_international_economy_rate');
    325 		} else {
    326 			$data['shipping_royal_mail_international_economy_rate'] = '0.02:0.81,0.06:1.43,0.1:2.80,0.25:3.65,0.5:5.10,0.75:6.55,1:8.00,1.25:9.45,1.5:10.90,1.75:12.35,2:13.80';
    327 		}
    328 
    329 		if (isset($this->request->post['shipping_royal_mail_international_economy_status'])) {
    330 			$data['shipping_royal_mail_international_economy_status'] = $this->request->post['shipping_royal_mail_international_economy_status'];
    331 		} else {
    332 			$data['shipping_royal_mail_international_economy_status'] = $this->config->get('shipping_royal_mail_international_economy_status');
    333 		}
    334 
    335 		if (isset($this->request->post['shipping_royal_mail_display_weight'])) {
    336 			$data['shipping_royal_mail_display_weight'] = $this->request->post['shipping_royal_mail_display_weight'];
    337 		} else {
    338 			$data['shipping_royal_mail_display_weight'] = $this->config->get('shipping_royal_mail_display_weight');
    339 		}
    340 
    341 		if (isset($this->request->post['shipping_royal_mail_display_insurance'])) {
    342 			$data['shipping_royal_mail_display_insurance'] = $this->request->post['shipping_royal_mail_display_insurance'];
    343 		} else {
    344 			$data['shipping_royal_mail_display_insurance'] = $this->config->get('shipping_royal_mail_display_insurance');
    345 		}
    346 
    347 		if (isset($this->request->post['shipping_royal_mail_weight_class_id'])) {
    348 			$data['shipping_royal_mail_weight_class_id'] = $this->request->post['shipping_royal_mail_weight_class_id'];
    349 		} else {
    350 			$data['shipping_royal_mail_weight_class_id'] = $this->config->get('shipping_royal_mail_weight_class_id');
    351 		}
    352 
    353 		$this->load->model('localisation/weight_class');
    354 
    355 		$data['weight_classes'] = $this->model_localisation_weight_class->getWeightClasses();
    356 
    357 		if (isset($this->request->post['shipping_royal_mail_tax_class_id'])) {
    358 			$data['shipping_royal_mail_tax_class_id'] = $this->request->post['shipping_royal_mail_tax_class_id'];
    359 		} else {
    360 			$data['shipping_royal_mail_tax_class_id'] = $this->config->get('shipping_royal_mail_tax_class_id');
    361 		}
    362 
    363 		$this->load->model('localisation/tax_class');
    364 
    365 		$data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses();
    366 
    367 		if (isset($this->request->post['shipping_royal_mail_geo_zone_id'])) {
    368 			$data['shipping_royal_mail_geo_zone_id'] = $this->request->post['shipping_royal_mail_geo_zone_id'];
    369 		} else {
    370 			$data['shipping_royal_mail_geo_zone_id'] = $this->config->get('shipping_royal_mail_geo_zone_id');
    371 		}
    372 
    373 		$this->load->model('localisation/geo_zone');
    374 
    375 		$data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
    376 
    377 		if (isset($this->request->post['shipping_royal_mail_status'])) {
    378 			$data['shipping_royal_mail_status'] = $this->request->post['shipping_royal_mail_status'];
    379 		} else {
    380 			$data['shipping_royal_mail_status'] = $this->config->get('shipping_royal_mail_status');
    381 		}
    382 
    383 		if (isset($this->request->post['shipping_royal_mail_sort_order'])) {
    384 			$data['shipping_royal_mail_sort_order'] = $this->request->post['shipping_royal_mail_sort_order'];
    385 		} else {
    386 			$data['shipping_royal_mail_sort_order'] = $this->config->get('shipping_royal_mail_sort_order');
    387 		}
    388 
    389 		$data['header'] = $this->load->controller('common/header');
    390 		$data['column_left'] = $this->load->controller('common/column_left');
    391 		$data['footer'] = $this->load->controller('common/footer');
    392 
    393 		$this->response->setOutput($this->load->view('extension/shipping/royal_mail', $data));
    394 	}
    395 
    396 	protected function validate() {
    397 		if (!$this->user->hasPermission('modify', 'extension/shipping/royal_mail')) {
    398 			$this->error['warning'] = $this->language->get('error_permission');
    399 		}
    400 
    401 		return !$this->error;
    402 	}
    403 }