shop.balmet.com

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

openbay.php (83634B)


      1 <?php
      2 class ControllerMarketplaceOpenbay extends Controller {
      3 	private $error = array();
      4 
      5 	public function install() {
      6 		$this->load->language('marketplace/openbay');
      7 
      8 		$this->load->model('setting/extension');
      9 
     10 		if (!$this->user->hasPermission('modify', 'marketplace/openbay')) {
     11 			$this->session->data['error'] = $this->language->get('error_permission');
     12 
     13 			$this->response->redirect($this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true));
     14 		} else {
     15 			$this->model_setting_extension->install('openbay', $this->request->get['extension']);
     16 
     17 			$this->session->data['success'] = $this->language->get('text_install_success');
     18 
     19 			$this->load->model('user/user_group');
     20 
     21 			$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'extension/openbay/' . $this->request->get['extension']);
     22 			$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/openbay/' . $this->request->get['extension']);
     23 
     24 			require_once(DIR_APPLICATION . 'controller/extension/openbay/' . $this->request->get['extension'] . '.php');
     25 
     26 			$class = 'ControllerExtensionOpenbay' . str_replace('_', '', $this->request->get['extension']);
     27 			$class = new $class($this->registry);
     28 
     29 			if (method_exists($class, 'install')) {
     30 				$class->install();
     31 			}
     32 
     33 			$this->response->redirect($this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true));
     34 		}
     35 	}
     36 
     37 	public function uninstall() {
     38 		$this->load->language('marketplace/openbay');
     39 
     40 		$this->load->model('setting/extension');
     41 
     42 		if (!$this->user->hasPermission('modify', 'marketplace/openbay')) {
     43 			$this->session->data['error'] = $this->language->get('error_permission');
     44 
     45 			$this->response->redirect($this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true));
     46 		} else {
     47 			$this->session->data['success'] = $this->language->get('text_uninstall_success');
     48 
     49 			require_once(DIR_APPLICATION . 'controller/extension/openbay/' . $this->request->get['extension'] . '.php');
     50 
     51 			$this->load->model('setting/extension');
     52 			$this->load->model('setting/setting');
     53 
     54 			$this->model_setting_extension->uninstall('openbay', $this->request->get['extension']);
     55 
     56 			$this->model_setting_setting->deleteSetting($this->request->get['extension']);
     57 
     58 			$class = 'ControllerExtensionOpenbay' . str_replace('_', '', $this->request->get['extension']);
     59 			$class = new $class($this->registry);
     60 
     61 			if (method_exists($class, 'uninstall')) {
     62 				$class->uninstall();
     63 			}
     64 
     65 			$this->response->redirect($this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true));
     66 		}
     67 	}
     68 
     69 	public function index() {
     70 		$this->load->model('extension/openbay/openbay');
     71 		$this->load->model('setting/extension');
     72 		$this->load->model('setting/setting');
     73 		$this->load->model('extension/openbay/version');
     74 		$data = $this->load->language('marketplace/openbay');
     75 
     76 		$this->document->setTitle($this->language->get('heading_title'));
     77 		$this->document->addScript('view/javascript/openbay/js/faq.js');
     78 
     79 		$data['breadcrumbs'] = array();
     80 
     81 		$data['breadcrumbs'][] = array(
     82 			'text' => $this->language->get('text_home'),
     83 			'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true),
     84 		);
     85 
     86 		$data['breadcrumbs'][] = array(
     87 			'text' => $this->language->get('heading_title'),
     88 			'href' => $this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true),
     89 		);
     90 
     91 		$data['manage_link'] = $this->url->link('marketplace/openbay/manage', 'user_token=' . $this->session->data['user_token'], true);
     92 		$data['product_link'] = $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'], true);
     93 		$data['order_link'] = $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'], true);
     94 
     95 		$data['success'] = '';
     96 		if (isset($this->session->data['success'])) {
     97 			$data['success'] = $this->session->data['success'];
     98 			unset($this->session->data['success']);
     99 		}
    100 
    101 		$data['error'] = $this->model_extension_openbay_openbay->requirementTest();
    102 
    103 		if (isset($this->session->data['error'])) {
    104 			$data['error'][] = $this->session->data['error'];
    105 			unset($this->session->data['error']);
    106 		}
    107 
    108 		$extensions = $this->model_setting_extension->getInstalled('openbay');
    109 
    110 		foreach ($extensions as $key => $value) {
    111 			if (!file_exists(DIR_APPLICATION . 'controller/extension/openbay/' . $value . '.php')) {
    112 				$this->model_setting_extension->uninstall('openbay', $value);
    113 				unset($extensions[$key]);
    114 			}
    115 		}
    116 
    117 		$data['extensions'] = array();
    118 
    119 		$markets = array('ebay', 'etsy', 'amazon', 'amazonus', 'fba');
    120 
    121 		foreach ($markets as $market) {
    122 			$extension = basename($market, '.php');
    123 
    124 			$this->load->language('extension/openbay/' . $extension, 'extension');
    125 
    126 			$data['extensions'][] = array(
    127 				'name'      => $this->language->get('extension')->get('heading_title'),
    128 				'edit'      => $this->url->link('extension/openbay/' . $extension . '', 'user_token=' . $this->session->data['user_token'], true),
    129 				'status'    => ($this->config->get('openbay_' . $extension . '_status') || $this->config->get($extension . '_status')) ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
    130 				'install'   => $this->url->link('marketplace/openbay/install', 'user_token=' . $this->session->data['user_token'] . '&extension=' . $extension, true),
    131 				'uninstall' => $this->url->link('marketplace/openbay/uninstall', 'user_token=' . $this->session->data['user_token'] . '&extension=' . $extension, true),
    132 				'installed' => in_array($extension, $extensions),
    133 				'code'      => $extension
    134 			);
    135 		}
    136 
    137 		$settings = $this->model_setting_setting->getSetting('feed_openbaypro');
    138 
    139 		if (isset($settings['feed_openbaypro_version'])) {
    140 			$data['feed_openbaypro_version'] = $settings['feed_openbaypro_version'];
    141 		} else {
    142 			$data['feed_openbaypro_version'] = $this->model_extension_openbay_version->version();
    143 			$settings['feed_openbaypro_version'] = $this->model_extension_openbay_version->version();
    144 			$this->model_setting_setting->editSetting('feed_openbaypro', $settings);
    145 		}
    146 
    147 		$data['user_token'] = $this->session->data['user_token'];
    148 
    149 		$data['header'] = $this->load->controller('common/header');
    150 		$data['column_left'] = $this->load->controller('common/column_left');
    151 		$data['footer'] = $this->load->controller('common/footer');
    152 
    153 		$this->response->setOutput($this->load->view('marketplace/openbay', $data));
    154 	}
    155 
    156 	public function manage() {
    157 		$this->load->model('setting/setting');
    158 		$data = $this->load->language('marketplace/openbay');
    159 
    160 		$this->document->setTitle($this->language->get('text_manage'));
    161 		$this->document->addScript('view/javascript/openbay/js/faq.js');
    162 
    163 		$data['breadcrumbs'] = array();
    164 
    165 		$data['breadcrumbs'][] = array(
    166 			'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true),
    167 			'text' => $this->language->get('text_home'),
    168 		);
    169 
    170 		$data['breadcrumbs'][] = array(
    171 			'href' => $this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true),
    172 			'text' => $this->language->get('heading_title'),
    173 		);
    174 
    175 		$data['breadcrumbs'][] = array(
    176 			'href' => $this->url->link('marketplace/openbay/manage', 'user_token=' . $this->session->data['user_token'], true),
    177 			'text' => $this->language->get('text_manage'),
    178 		);
    179 
    180 		if ($this->request->server['REQUEST_METHOD'] == 'POST') {
    181 			$this->model_setting_setting->editSetting('feed_openbaypro', $this->request->post);
    182 
    183 			$this->session->data['success'] = $this->language->get('text_success');
    184 
    185 			$this->response->redirect($this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true));
    186 		}
    187 
    188 		if (isset($this->request->post['feed_openbaypro_version'])) {
    189 			$data['feed_openbaypro_version'] = $this->request->post['feed_openbaypro_version'];
    190 		} else {
    191 			$settings = $this->model_setting_setting->getSetting('feed_openbaypro');
    192 
    193 			if (isset($settings['feed_openbaypro_version'])) {
    194 				$data['feed_openbaypro_version'] = $settings['feed_openbaypro_version'];
    195 			} else {
    196 				$this->load->model('extension/openbay/version');
    197 				$settings['feed_openbaypro_version'] = $this->model_extension_openbay_version->version();
    198 				$data['feed_openbaypro_version'] = $this->model_extension_openbay_version->version();
    199 				$this->model_setting_setting->editSetting('feed_openbaypro', $settings);
    200 			}
    201 		}
    202 
    203 		if (isset($this->request->post['feed_openbaypro_language'])) {
    204 			$data['feed_openbaypro_language'] = $this->request->post['feed_openbaypro_language'];
    205 		} else {
    206 			$data['feed_openbaypro_language'] = $this->config->get('feed_openbaypro_language');
    207 		}
    208 
    209 		$data['api_languages'] = array(
    210 			'en_GB' => 'English',
    211 			'de_DE' => 'German',
    212 			'es_ES' => 'Spanish',
    213 			'fr_FR' => 'French',
    214 			'it_IT' => 'Italian',
    215 			'nl_NL' => 'Dutch',
    216 			'zh_HK' => 'Simplified Chinese'
    217 		);
    218 
    219 		$data['text_version'] = $this->config->get('feed_openbaypro_version');
    220 
    221 		$data['action'] = $this->url->link('marketplace/openbay/manage', 'user_token=' . $this->session->data['user_token'], true);
    222 		$data['cancel'] = $this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true);
    223 
    224 		$data['user_token'] = $this->session->data['user_token'];
    225 
    226 		$data['header'] = $this->load->controller('common/header');
    227 		$data['column_left'] = $this->load->controller('common/column_left');
    228 		$data['footer'] = $this->load->controller('common/footer');
    229 
    230 		$this->response->setOutput($this->load->view('extension/openbay/openbay_manage', $data));
    231 	}
    232 
    233 	public function update() {
    234 		$this->load->model('extension/openbay/openbay');
    235 		$this->load->language('marketplace/openbay');
    236 
    237 		if (!isset($this->request->get['stage'])) {
    238 			$stage = 'check_server';
    239 		} else {
    240 			$stage = $this->request->get['stage'];
    241 		}
    242 
    243 		if (!isset($this->request->get['beta']) || $this->request->get['beta'] == 0) {
    244 			$beta = 0;
    245 		} else {
    246 			$beta = 1;
    247 		}
    248 
    249 		switch ($stage) {
    250 			case 'check_server': // step 1
    251 				$response = $this->model_extension_openbay_openbay->updateTest();
    252 
    253 				sleep(1);
    254 				$this->response->addHeader('Content-Type: application/json');
    255 				$this->response->setOutput(json_encode($response));
    256 				break;
    257 			case 'check_version': // step 2
    258 				$response = $this->model_extension_openbay_openbay->updateCheckVersion($beta);
    259 
    260 				sleep(1);
    261 				$this->response->addHeader('Content-Type: application/json');
    262 				$this->response->setOutput(json_encode($response));
    263 
    264 				break;
    265 			case 'download': // step 3
    266 				$response = $this->model_extension_openbay_openbay->updateDownload($beta);
    267 
    268 				sleep(1);
    269 				$this->response->addHeader('Content-Type: application/json');
    270 				$this->response->setOutput(json_encode($response));
    271 				break;
    272 			case 'extract': // step 4
    273 				$response = $this->model_extension_openbay_openbay->updateExtract();
    274 
    275 				sleep(1);
    276 				$this->response->addHeader('Content-Type: application/json');
    277 				$this->response->setOutput(json_encode($response));
    278 				break;
    279 			case 'remove': // step 5 - remove any files no longer needed
    280 				$response = $this->model_extension_openbay_openbay->updateRemove($beta);
    281 
    282 				$this->response->addHeader('Content-Type: application/json');
    283 				$this->response->setOutput(json_encode($response));
    284 				break;
    285 			case 'run_patch': // step 6 - run any db updates or other patch files
    286 				$this->model_extension_openbay_openbay->patch();
    287 
    288 				$this->load->model('extension/openbay/ebay');
    289 				$this->model_extension_openbay_ebay->patch();
    290 
    291 				$this->load->model('extension/openbay/amazon');
    292 				$this->model_extension_openbay_amazon->patch();
    293 
    294 				$this->load->model('extension/openbay/amazonus');
    295 				$this->model_extension_openbay_amazonus->patch();
    296 
    297 				$this->load->model('extension/openbay/etsy');
    298 				$this->model_extension_openbay_etsy->patch();
    299 
    300 				$response = array('error' => 0, 'response' => '', 'percent_complete' => 90, 'status_message' => 'Running patch files');
    301 
    302 				$this->response->addHeader('Content-Type: application/json');
    303 				$this->response->setOutput(json_encode($response));
    304 				break;
    305 			case 'update_version': // step 7 - update the version number
    306 				$this->load->model('setting/setting');
    307 
    308 				$response = $this->model_extension_openbay_openbay->updateUpdateVersion($beta);
    309 
    310 				$this->response->addHeader('Content-Type: application/json');
    311 				$this->response->setOutput(json_encode($response));
    312 				break;
    313 			default;
    314 		}
    315 	}
    316 
    317 	public function patch() {
    318 		$this->load->model('extension/openbay/openbay');
    319 		$this->load->model('extension/openbay/ebay');
    320 		$this->load->model('extension/openbay/amazon');
    321 		$this->load->model('extension/openbay/amazonus');
    322 		$this->load->model('extension/openbay/etsy');
    323 		$this->load->model('setting/extension');
    324 		$this->load->model('setting/setting');
    325 		$this->load->model('user/user_group');
    326 		$this->load->model('extension/openbay/version');
    327 
    328 		$this->model_extension_openbay_openbay->patch();
    329 		$this->model_extension_openbay_ebay->patch();
    330 		$this->model_extension_openbay_amazon->patch();
    331 		$this->model_extension_openbay_amazonus->patch();
    332 		$this->model_extension_openbay_etsy->patch();
    333 
    334 		$openbay = $this->model_setting_setting->getSetting('feed_openbaypro');
    335 		$openbay['feed_openbaypro_version'] = (int)$this->model_extension_openbay_version->version();
    336 		$this->model_setting_setting->editSetting('feed_openbaypro', $openbay);
    337 
    338 		$installed_modules = $this->model_setting_extension->getInstalled('feed');
    339 
    340 		if (!in_array('openbay', $installed_modules)) {
    341 			$this->model_setting_extension->install('feed', 'openbaypro');
    342 			$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'marketplace/openbay');
    343 			$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'marketplace/openbay');
    344 		}
    345 
    346 		sleep(1);
    347 
    348 		$json = array('msg' => 'ok');
    349 
    350 		$this->response->addHeader('Content-Type: application/json');
    351 		$this->response->setOutput(json_encode($json));
    352 	}
    353 
    354 	public function notifications() {
    355 		$this->load->model('extension/openbay/openbay');
    356 
    357 		$json = $this->model_extension_openbay_openbay->getNotifications();
    358 
    359 		$this->response->addHeader('Content-Type: application/json');
    360 		$this->response->setOutput(json_encode($json));
    361 	}
    362 
    363 	public function version() {
    364 		$this->load->model('extension/openbay/openbay');
    365 
    366 		$json = $this->model_extension_openbay_openbay->version();
    367 
    368 		$this->response->addHeader('Content-Type: application/json');
    369 		$this->response->setOutput(json_encode($json));
    370 	}
    371 
    372 	public function faq() {
    373 		$this->load->model('extension/openbay/openbay');
    374 
    375 		$this->load->language('marketplace/openbay');
    376 
    377 		$data = $this->model_extension_openbay_openbay->faqGet($this->request->get['qry_route']);
    378 
    379 		$data['button_faq'] = $this->language->get('button_faq');
    380 		$data['button_close'] = $this->language->get('button_close');
    381 
    382 		$this->response->addHeader('Content-Type: application/json');
    383 		$this->response->setOutput(json_encode($data));
    384 	}
    385 
    386 	public function faqDismiss() {
    387 		$this->load->model('extension/openbay/openbay');
    388 
    389 		$this->model_extension_openbay_openbay->faqDismiss($this->request->get['qry_route']);
    390 
    391 		$json = array();
    392 
    393 		$this->response->addHeader('Content-Type: application/json');
    394 		$this->response->setOutput(json_encode($json));
    395 	}
    396 
    397 	public function faqClear() {
    398 		$this->load->model('extension/openbay/openbay');
    399 		$this->model_extension_openbay_openbay->faqClear();
    400 
    401 		$json = array('msg' => 'ok');
    402 
    403 		$this->response->addHeader('Content-Type: application/json');
    404 		$this->response->setOutput(json_encode($json));
    405 	}
    406 
    407 	public function getOrderInfo() {
    408 		$data = $this->load->language('marketplace/openbay');
    409 
    410 		if ($this->config->get('ebay_status') == 1) {
    411 			if ($this->openbay->ebay->getOrder($this->request->get['order_id']) !== false) {
    412 				if ($this->config->get('ebay_status_shipped_id') == $this->request->get['status_id']) {
    413 					$data['carriers'] = $this->openbay->ebay->getCarriers();
    414 					$data['order_info'] = $this->openbay->ebay->getOrder($this->request->get['order_id']);
    415 					$this->response->setOutput($this->load->view('extension/openbay/ebay_ajax_shippinginfo', $data));
    416 				}
    417 			}
    418 		}
    419 
    420 		if ($this->config->get('openbay_amazon_status') == 1) {
    421 			$data['order_info'] = $this->openbay->amazon->getOrder($this->request->get['order_id']);
    422 
    423 			if ($data['order_info']) {
    424 				if ($this->request->get['status_id'] == $this->config->get('openbay_amazon_order_status_shipped')) {
    425 					$data['couriers'] = $this->openbay->amazon->getCarriers();
    426 					$data['courier_default'] = $this->config->get('openbay_amazon_default_carrier');
    427 					$this->response->setOutput($this->load->view('extension/openbay/amazon_ajax_shippinginfo', $data));
    428 				}
    429 			}
    430 		}
    431 
    432 		if ($this->config->get('openbay_amazonus_status') == 1) {
    433 			$data['order_info'] = $this->openbay->amazonus->getOrder($this->request->get['order_id']);
    434 
    435 			if ($data['order_info']) {
    436 				if ($this->request->get['status_id'] == $this->config->get('openbay_amazonus_order_status_shipped')) {
    437 					$data['couriers'] = $this->openbay->amazonus->getCarriers();
    438 					$data['courier_default'] = $this->config->get('openbay_amazon_default_carrier');
    439 					$this->response->setOutput($this->load->view('extension/openbay/amazonus_ajax_shippinginfo', $data));
    440 				}
    441 			}
    442 		}
    443 
    444 		if ($this->config->get('etsy_status') == 1) {
    445 			$data['order_info'] = $this->openbay->etsy->orderFind($this->request->get['order_id']);
    446 
    447 			if ($data['order_info']) {
    448 				if ($this->request->get['status_id'] == $this->config->get('etsy_order_status_shipped')) {
    449 
    450 				}
    451 			}
    452 		}
    453 	}
    454 
    455 	public function addOrderInfo() {
    456 		if ($this->config->get('ebay_status') == 1 && $this->openbay->ebay->getOrder($this->request->get['order_id']) !== false) {
    457 			if ($this->config->get('ebay_status_shipped_id') == $this->request->get['status_id']) {
    458 				$this->openbay->ebay->orderStatusListen($this->request->get['order_id'], $this->request->get['status_id'], array('tracking_no' => $this->request->post['tracking_no'], 'carrier_id' => $this->request->post['carrier_id']));
    459 			} else {
    460 				$this->openbay->ebay->orderStatusListen($this->request->get['order_id'], $this->request->get['status_id']);
    461 			}
    462 		}
    463 
    464 		if ($this->config->get('openbay_amazon_status') == 1 && $this->openbay->amazon->getOrder($this->request->get['order_id']) !== false) {
    465 			if ($this->config->get('openbay_amazon_order_status_shipped') == $this->request->get['status_id']) {
    466 				if (!empty($this->request->post['courier_other'])) {
    467 					$this->openbay->amazon->updateOrder($this->request->get['order_id'], 'shipped', $this->request->post['courier_other'], false, $this->request->post['tracking_no']);
    468 				} else {
    469 					$this->openbay->amazon->updateOrder($this->request->get['order_id'], 'shipped', $this->request->post['courier_id'], true, $this->request->post['tracking_no']);
    470 				}
    471 			}
    472 
    473 			if ($this->config->get('openbay_amazon_order_status_canceled') == $this->request->get['status_id']) {
    474 				$this->openbay->amazon->updateOrder($this->request->get['order_id'], 'canceled');
    475 			}
    476 		}
    477 
    478 		if ($this->config->get('openbay_amazonus_status') == 1 && $this->openbay->amazonus->getOrder($this->request->get['order_id']) !== false) {
    479 			if ($this->config->get('openbay_amazonus_order_status_shipped') == $this->request->get['status_id']) {
    480 				if (!empty($this->request->post['courier_other'])) {
    481 					$this->openbay->amazonus->updateOrder($this->request->get['order_id'], 'shipped', $this->request->post['courier_other'], false, $this->request->post['tracking_no']);
    482 				} else {
    483 					$this->openbay->amazonus->updateOrder($this->request->get['order_id'], 'shipped', $this->request->post['courier_id'], true, $this->request->post['tracking_no']);
    484 				}
    485 			}
    486 			if ($this->config->get('openbay_amazonus_order_status_canceled') == $this->request->get['status_id']) {
    487 				$this->openbay->amazonus->updateOrder($this->request->get['order_id'], 'canceled');
    488 			}
    489 		}
    490 
    491 		if ($this->config->get('etsy_status') == 1) {
    492 			$linked_order = $this->openbay->etsy->orderFind($this->request->get['order_id']);
    493 
    494 			if ($linked_order != false) {
    495 				if ($this->config->get('etsy_order_status_paid') == $this->request->get['status_id']) {
    496 					$response = $this->openbay->etsy->orderUpdatePaid($linked_order['receipt_id'], "true");
    497 				}
    498 
    499 				if ($this->config->get('etsy_order_status_shipped') == $this->request->get['status_id']) {
    500 					$response = $this->openbay->etsy->orderUpdateShipped($linked_order['receipt_id'], "true");
    501 				}
    502 			}
    503 		}
    504 	}
    505 
    506 	public function orderList() {
    507 		$this->load->model('extension/openbay/order');
    508 		$data = $this->load->language('sale/order');
    509 		$data = $this->load->language('extension/openbay/openbay_order', $data);
    510 
    511 		$this->document->setTitle($this->language->get('heading_title'));
    512 		$this->document->addScript('view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.js');
    513         $this->document->addStyle('view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.css');
    514 
    515 		if (isset($this->request->get['filter_order_id'])) {
    516 			$filter_order_id = $this->request->get['filter_order_id'];
    517 		} else {
    518 			$filter_order_id = '';
    519 		}
    520 
    521 		if (isset($this->request->get['filter_customer'])) {
    522 			$filter_customer = $this->request->get['filter_customer'];
    523 		} else {
    524 			$filter_customer = '';
    525 		}
    526 
    527 		if (isset($this->request->get['filter_order_status_id'])) {
    528 			$filter_order_status_id = $this->request->get['filter_order_status_id'];
    529 		} else {
    530 			$filter_order_status_id = '';
    531 		}
    532 
    533 		if (isset($this->request->get['filter_date_added'])) {
    534 			$filter_date_added = $this->request->get['filter_date_added'];
    535 		} else {
    536 			$filter_date_added = '';
    537 		}
    538 
    539 		if (isset($this->request->get['filter_channel'])) {
    540 			$filter_channel = $this->request->get['filter_channel'];
    541 		} else {
    542 			$filter_channel = '';
    543 		}
    544 
    545 		if (isset($this->request->get['sort'])) {
    546 			$sort = $this->request->get['sort'];
    547 		} else {
    548 			$sort = 'o.order_id';
    549 		}
    550 
    551 		if (isset($this->request->get['order'])) {
    552 			$order = $this->request->get['order'];
    553 		} else {
    554 			$order = 'DESC';
    555 		}
    556 
    557 		if (isset($this->request->get['page'])) {
    558 			$page = $this->request->get['page'];
    559 		} else {
    560 			$page = 1;
    561 		}
    562 
    563 		$url = '';
    564 
    565 		if (isset($this->request->get['filter_order_id'])) {
    566 			$url .= '&filter_order_id=' . $this->request->get['filter_order_id'];
    567 		}
    568 
    569 		if (isset($this->request->get['filter_customer'])) {
    570 			$url .= '&filter_customer=' . $this->request->get['filter_customer'];
    571 		}
    572 
    573 		if (isset($this->request->get['filter_order_status_id'])) {
    574 			$url .= '&filter_order_status_id=' . $this->request->get['filter_order_status_id'];
    575 		}
    576 
    577 		if (isset($this->request->get['filter_date_added'])) {
    578 			$url .= '&filter_date_added=' . $this->request->get['filter_date_added'];
    579 		}
    580 
    581 		if (isset($this->request->get['filter_channel'])) {
    582 			$url .= '&filter_channel=' . $this->request->get['filter_channel'];
    583 		}
    584 
    585 		if (isset($this->request->get['sort'])) {
    586 			$url .= '&sort=' . $this->request->get['sort'];
    587 		}
    588 
    589 		if (isset($this->request->get['order'])) {
    590 			$url .= '&order=' . $this->request->get['order'];
    591 		}
    592 
    593 		if (isset($this->request->get['page'])) {
    594 			$url .= '&page=' . $this->request->get['page'];
    595 		}
    596 
    597 		$data['breadcrumbs'] = array();
    598 
    599 		$data['breadcrumbs'][] = array(
    600 			'href'      => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true),
    601 			'text'      => $this->language->get('text_home'),
    602 		);
    603 
    604 		$data['breadcrumbs'][] = array(
    605 			'href' => $this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true),
    606 			'text' => $this->language->get('text_openbay'),
    607 		);
    608 
    609 		$data['breadcrumbs'][] = array(
    610 			'href' => $this->url->link('marketplace/openbay/manage', 'user_token=' . $this->session->data['user_token'], true),
    611 			'text' => $data['heading_title'],
    612 		);
    613 
    614 		$data['orders'] = array();
    615 
    616 		$filter = array(
    617 			'filter_order_id'        => $filter_order_id,
    618 			'filter_customer'	     => $filter_customer,
    619 			'filter_order_status_id' => $filter_order_status_id,
    620 			'filter_date_added'      => $filter_date_added,
    621 			'filter_channel'         => $filter_channel,
    622 			'sort'                   => $sort,
    623 			'order'                  => $order,
    624 			'start'                  => ($page - 1) * $this->config->get('config_limit_admin'),
    625 			'limit'                  => $this->config->get('config_limit_admin')
    626 		);
    627 
    628 		$order_total = $this->model_extension_openbay_order->getTotalOrders($filter);
    629 		$results = $this->model_extension_openbay_order->getOrders($filter);
    630 
    631 		foreach ($results as $result) {
    632 			$channel = $this->language->get('text_' . $result['channel']);
    633 
    634 			$data['orders'][] = array(
    635 				'order_id'      => $result['order_id'],
    636 				'customer'      => $result['customer'],
    637 				'status'        => $result['status'],
    638 				'date_added'    => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
    639 				'selected'      => isset($this->request->post['selected']) && in_array($result['order_id'], $this->request->post['selected']),
    640 				'view'          => $this->url->link('sale/order/info', 'user_token=' . $this->session->data['user_token'] . '&order_id=' . $result['order_id'] . $url, true),
    641 				'channel'       => $channel,
    642 			);
    643 		}
    644 
    645 		$data['channels'] = array();
    646 
    647 		$data['channels'][] = array(
    648 			'module' => 'web',
    649 			'title' => $this->language->get('text_web'),
    650 		);
    651 
    652 		if ($this->config->get('ebay_status')) {
    653 			$data['channels'][] = array(
    654 				'module' => 'ebay',
    655 				'title' => $this->language->get('text_ebay'),
    656 			);
    657 		}
    658 
    659 		if ($this->config->get('openbay_amazon_status')) {
    660 			$data['channels'][] = array(
    661 				'module' => 'amazon',
    662 				'title' => $this->language->get('text_amazon'),
    663 			);
    664 		}
    665 
    666 		if ($this->config->get('openbay_amazonus_status')) {
    667 			$data['channels'][] = array(
    668 				'module' => 'amazonus',
    669 				'title' => $this->language->get('text_amazonus'),
    670 			);
    671 		}
    672 
    673 		if ($this->config->get('etsy_status')) {
    674 			$data['channels'][] = array(
    675 				'module' => 'etsy',
    676 				'title' => $this->language->get('text_etsy'),
    677 			);
    678 		}
    679 
    680 		$data['heading_title'] = $this->language->get('heading_title');
    681 		$data['text_no_results'] = $this->language->get('text_no_results');
    682 		$data['text_missing'] = $this->language->get('text_missing');
    683 		$data['column_order_id'] = $this->language->get('column_order_id');
    684 		$data['column_customer'] = $this->language->get('column_customer');
    685 		$data['column_status'] = $this->language->get('column_status');
    686 		$data['column_date_added'] = $this->language->get('column_date_added');
    687 		$data['column_action'] = $this->language->get('column_action');
    688 		$data['button_filter'] = $this->language->get('button_filter');
    689 
    690 		$data['user_token'] = $this->session->data['user_token'];
    691 
    692 		if (isset($this->session->data['error'])) {
    693 			if (!is_array($this->session->data['error'])) {
    694 				$this->session->data['error'] = array($this->session->data['error']);
    695 			}
    696 
    697 			$data['error_warning'] = $this->session->data['error'];
    698 			unset($this->session->data['error']);
    699 		} else {
    700 			$data['error_warning'] = '';
    701 		}
    702 
    703 		if (isset($this->session->data['error_orders'])) {
    704 			if (!is_array($this->session->data['error_orders'])) {
    705 				$this->session->data['error_orders'] = array($this->session->data['error']);
    706 			}
    707 
    708 			$data['error_orders'] = $this->session->data['error_orders'];
    709 			unset($this->session->data['error_orders']);
    710 		} else {
    711 			$data['error_orders'] = '';
    712 		}
    713 
    714 		if (isset($this->session->data['success'])) {
    715 			$data['success'] = $this->session->data['success'];
    716 
    717 			unset($this->session->data['success']);
    718 		} else {
    719 			$data['success'] = '';
    720 		}
    721 
    722 		$url = '';
    723 
    724 		if (isset($this->request->get['filter_order_id'])) {
    725 			$url .= '&filter_order_id=' . $this->request->get['filter_order_id'];
    726 		}
    727 
    728 		if (isset($this->request->get['filter_customer'])) {
    729 			$url .= '&filter_customer=' . $this->request->get['filter_customer'];
    730 		}
    731 
    732 		if (isset($this->request->get['filter_order_status_id'])) {
    733 			$url .= '&filter_order_status_id=' . $this->request->get['filter_order_status_id'];
    734 		}
    735 
    736 		if (isset($this->request->get['filter_date_added'])) {
    737 			$url .= '&filter_date_added=' . $this->request->get['filter_date_added'];
    738 		}
    739 
    740 		if (isset($this->request->get['filter_channel'])) {
    741 			$url .= '&filter_channel=' . $this->request->get['filter_channel'];
    742 		}
    743 
    744 		if ($order == 'ASC') {
    745 			$url .= '&order=DESC';
    746 		} else {
    747 			$url .= '&order=ASC';
    748 		}
    749 
    750 		if (isset($this->request->get['page'])) {
    751 			$url .= '&page=' . $this->request->get['page'];
    752 		}
    753 
    754 		$data['sort_order'] = $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'] . '&sort=o.order_id' . $url, true);
    755 		$data['sort_customer'] = $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'] . '&sort=customer' . $url, true);
    756 		$data['sort_status'] = $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'] . '&sort=status' . $url, true);
    757 		$data['sort_date_added'] = $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'] . '&sort=o.date_added' . $url, true);
    758 		$data['sort_channel'] = $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'] . '&sort=channel' . $url, true);
    759 		$data['link_update'] = $this->url->link('marketplace/openbay/orderlistupdate', 'user_token=' . $this->session->data['user_token'] . $url, true);
    760 		$data['cancel'] = $this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true);
    761 
    762 		$url = '';
    763 
    764 		if (isset($this->request->get['filter_order_id'])) {
    765 			$url .= '&filter_order_id=' . $this->request->get['filter_order_id'];
    766 		}
    767 
    768 		if (isset($this->request->get['filter_customer'])) {
    769 			$url .= '&filter_customer=' . $this->request->get['filter_customer'];
    770 		}
    771 
    772 		if (isset($this->request->get['filter_order_status_id'])) {
    773 			$url .= '&filter_order_status_id=' . $this->request->get['filter_order_status_id'];
    774 		}
    775 
    776 		if (isset($this->request->get['filter_date_added'])) {
    777 			$url .= '&filter_date_added=' . $this->request->get['filter_date_added'];
    778 		}
    779 
    780 		if (isset($this->request->get['filter_channel'])) {
    781 			$url .= '&filter_channel=' . $this->request->get['filter_channel'];
    782 		}
    783 
    784 		if (isset($this->request->get['sort'])) {
    785 			$url .= '&sort=' . $this->request->get['sort'];
    786 		}
    787 
    788 		if (isset($this->request->get['order'])) {
    789 			$url .= '&order=' . $this->request->get['order'];
    790 		}
    791 
    792 		$pagination = new Pagination();
    793 		$pagination->total = $order_total;
    794 		$pagination->page = $page;
    795 		$pagination->limit = $this->config->get('config_limit_admin');
    796 		$pagination->text = $this->language->get('text_pagination');
    797 		$pagination->url = $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'] . $url . '&page={page}', true);
    798 
    799 		$data['pagination'] = $pagination->render();
    800 
    801 		$data['results'] = sprintf($this->language->get('text_pagination'), ($order_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($order_total - $this->config->get('config_limit_admin'))) ? $order_total : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $order_total, ceil($order_total / $this->config->get('config_limit_admin')));
    802 
    803 		$data['filter_order_id'] = $filter_order_id;
    804 		$data['filter_customer'] = $filter_customer;
    805 		$data['filter_order_status_id'] = $filter_order_status_id;
    806 		$data['filter_date_added'] = $filter_date_added;
    807 		$data['filter_channel'] = $filter_channel;
    808 
    809 		$this->load->model('localisation/order_status');
    810 
    811 		$data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
    812 
    813 		$data['sort'] = $sort;
    814 		$data['order'] = $order;
    815 		
    816 		$data['header'] = $this->load->controller('common/header');
    817 		$data['column_left'] = $this->load->controller('common/column_left');
    818 		$data['footer'] = $this->load->controller('common/footer');
    819 
    820 		$this->response->setOutput($this->load->view('extension/openbay/openbay_orderlist', $data));
    821 	}
    822 
    823 	public function orderListUpdate() {
    824 		$data = $this->load->language('extension/openbay/openbay_order');
    825 
    826 		$this->document->setTitle($this->language->get('heading_title'));
    827 
    828 		if (!isset($this->request->post['selected']) || empty($this->request->post['selected'])) {
    829 			$this->session->data['error'] = $data['text_no_orders'];
    830 			$this->response->redirect($this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'], true));
    831 		} else {
    832 			$this->load->model('extension/openbay/order');
    833 			$this->load->language('sale/order');
    834 
    835 			$data['column_order_id'] = $this->language->get('column_order_id');
    836 			$data['column_customer'] = $this->language->get('column_customer');
    837 			$data['column_status'] = $this->language->get('column_status');
    838 			$data['column_date_added'] = $this->language->get('column_date_added');
    839 			$data['heading_title'] = $this->language->get('heading_title');
    840 
    841 			$data['link_complete'] = $this->url->link('marketplace/openbay/orderlistcomplete', 'user_token=' . $this->session->data['user_token'], true);
    842 
    843 			$data['market_options'] = array();
    844 
    845 			if ($this->config->get('ebay_status') == 1) {
    846 				$data['market_options']['ebay']['carriers'] = $this->openbay->ebay->getCarriers();
    847 			}
    848 
    849 			if ($this->config->get('openbay_amazon_status') == 1) {
    850 				$data['market_options']['amazon']['carriers'] = $this->openbay->amazon->getCarriers();
    851 				$data['market_options']['amazon']['default_carrier'] = $this->config->get('openbay_amazon_default_carrier');
    852 			}
    853 
    854 			if ($this->config->get('openbay_amazonus_status') == 1) {
    855 				$data['market_options']['amazonus']['carriers'] = $this->openbay->amazonus->getCarriers();
    856 			}
    857 
    858 			$this->load->model('localisation/order_status');
    859 			$data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
    860 			$data['status_mapped'] = array();
    861 
    862 			foreach($data['order_statuses'] as $status) {
    863 				$data['status_mapped'][$status['order_status_id']] = $status['name'];
    864 			}
    865 
    866 			$orders = array();
    867 
    868 			foreach($this->request->post['selected'] as $order_id) {
    869 				$order = $this->model_extension_openbay_order->getOrder($order_id);
    870 
    871 				if ($order['order_status_id'] != $this->request->post['change_order_status_id']) {
    872 					$order['channel'] = $this->language->get('text_' . $order['channel']);
    873 					$orders[] = $order;
    874 				}
    875 			}
    876 
    877 			if (empty($orders)) {
    878 				$this->session->data['error'] = $data['text_no_orders'];
    879 				$this->response->redirect($this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'], true));
    880 			} else {
    881 				$data['orders'] = $orders;
    882 			}
    883 
    884 			$data['breadcrumbs'] = array();
    885 
    886 			$data['breadcrumbs'][] = array(
    887 				'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true),
    888 				'text' => $this->language->get('text_home'),
    889 			);
    890 
    891 			$data['breadcrumbs'][] = array(
    892 				'href' => $this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true),
    893 				'text' => $this->language->get('text_openbay'),
    894 			);
    895 
    896 			$data['breadcrumbs'][] = array(
    897 				'href' => $this->url->link('marketplace/openbay/manage', 'user_token=' . $this->session->data['user_token'], true),
    898 				'text' => $data['heading_title'],
    899 			);
    900 
    901 			$data['change_order_status_id'] = $this->request->post['change_order_status_id'];
    902 			$data['ebay_status_shipped_id'] = $this->config->get('ebay_status_shipped_id');
    903 			$data['openbay_amazon_order_status_shipped'] = $this->config->get('openbay_amazon_order_status_shipped');
    904 			$data['openbay_amazonus_order_status_shipped'] = $this->config->get('openbay_amazonus_order_status_shipped');
    905 
    906 			$data['header'] = $this->load->controller('common/header');
    907 			$data['column_left'] = $this->load->controller('common/column_left');
    908 			$data['footer'] = $this->load->controller('common/footer');
    909 
    910 			$url = '';
    911 
    912 			if (isset($this->request->get['filter_order_id'])) {
    913 				$url .= '&filter_order_id=' . $this->request->get['filter_order_id'];
    914 			}
    915 
    916 			if (isset($this->request->get['filter_customer'])) {
    917 				$url .= '&filter_customer=' . urlencode(html_entity_decode($this->request->get['filter_customer'], ENT_QUOTES, 'UTF-8'));
    918 			}
    919 
    920 			if (isset($this->request->get['filter_order_status_id'])) {
    921 				$url .= '&filter_order_status_id=' . $this->request->get['filter_order_status_id'];
    922 			}
    923 
    924 			if (isset($this->request->get['filter_channel'])) {
    925 				$url .= '&filter_channel=' . $this->request->get['filter_channel'];
    926 			}
    927 
    928 			if (isset($this->request->get['filter_date_added'])) {
    929 				$url .= '&filter_date_added=' . $this->request->get['filter_date_added'];
    930 			}
    931 
    932 			if (isset($this->request->get['sort'])) {
    933 				$url .= '&sort=' . $this->request->get['sort'];
    934 			}
    935 
    936 			if (isset($this->request->get['order'])) {
    937 				$url .= '&order=' . $this->request->get['order'];
    938 			}
    939 
    940 			if (isset($this->request->get['page'])) {
    941 				$url .= '&page=' . $this->request->get['page'];
    942 			}
    943 
    944 			$data['cancel'] = $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'] . $url, true);
    945 			$data['button_cancel'] = $this->language->get('button_cancel');
    946 
    947 			$this->response->setOutput($this->load->view('extension/openbay/openbay_orderlist_confirm', $data));
    948 		}
    949 	}
    950 
    951 	public function orderListComplete() {
    952 		$this->load->model('sale/order');
    953 		$this->load->model('extension/openbay/openbay');
    954 		$this->load->model('localisation/order_status');
    955 
    956 		$data = $this->load->language('extension/openbay/openbay_order');
    957 
    958 		// API login
    959 		$this->load->model('user/api');
    960 
    961 		$api_info = $this->model_user_api->getApi($this->config->get('config_api_id'));
    962 
    963 		$api_key = '';
    964 		if ($api_info) {
    965 			$api_key = $api_info['key'];
    966 		}
    967 
    968 		$api_login = $this->model_extension_openbay_openbay->apiLogin($api_key);
    969 
    970 		if (isset($api_info['error']) || isset($api_login['error'])) {
    971 			$this->session->data['error'] = isset($api_info['error']) ? $api_info['error'] : $api_login['error'];
    972 			$this->response->redirect($this->url->link('extension/openbay/orderList', 'token=' . $this->session->data['token'], true));
    973 		} else {
    974 			//Amazon EU
    975 			if ($this->config->get('openbay_amazon_status') == 1) {
    976 				$this->load->model('extension/openbay/amazon');
    977 
    978 				$orders = array();
    979 
    980 				foreach ($this->request->post['order_id'] as $order_id) {
    981 					if ($this->request->post['channel'][$order_id] == 'Amazon EU') {
    982 						if ($this->config->get('openbay_amazon_order_status_shipped') == $this->request->post['order_status_id']) {
    983 							$carrier = '';
    984 
    985 							if (isset($this->request->post['carrier_other'][$order_id]) && !empty($this->request->post['carrier_other'][$order_id])) {
    986 								$carrier_from_list = false;
    987 								$carrier = $this->request->post['carrier_other'][$order_id];
    988 							} else {
    989 								$carrier_from_list = true;
    990 								$carrier = $this->request->post['carrier'][$order_id];
    991 							}
    992 
    993 							$orders[] = array(
    994 								'order_id' => $order_id,
    995 								'status' => 'shipped',
    996 								'carrier' => $carrier,
    997 								'carrier_from_list' => $carrier_from_list,
    998 								'tracking' => $this->request->post['tracking'][$order_id],
    999 							);
   1000 
   1001 							$this->model_extension_openbay_amazon->updateAmazonOrderTracking($order_id, $carrier, $carrier_from_list, !empty($carrier) ? $this->request->post['tracking'][$order_id] : '');
   1002 						}
   1003 
   1004 						if ($this->config->get('openbay_amazon_order_status_canceled') == $this->request->post['order_status_id']) {
   1005 							$orders[] = array(
   1006 								'order_id' => $order_id,
   1007 								'status' => 'canceled',
   1008 							);
   1009 						}
   1010 					}
   1011 				}
   1012 
   1013 				if ($orders) {
   1014 					$this->openbay->amazon->bulkUpdateOrders($orders);
   1015 				}
   1016 			}
   1017 
   1018 			//Amazon US
   1019 			if ($this->config->get('openbay_amazonus_status') == 1) {
   1020 				$this->load->model('extension/openbay/amazonus');
   1021 
   1022 				$orders = array();
   1023 
   1024 				foreach ($this->request->post['order_id'] as $order_id) {
   1025 					if ($this->request->post['channel'][$order_id] == 'Amazon US') {
   1026 						if ($this->config->get('openbay_amazonus_order_status_shipped') == $this->request->post['order_status_id']) {
   1027 							$carrier = '';
   1028 
   1029 							if (isset($this->request->post['carrier_other'][$order_id]) && !empty($this->request->post['carrier_other'][$order_id])) {
   1030 								$carrier_from_list = false;
   1031 								$carrier = $this->request->post['carrier_other'][$order_id];
   1032 							} else {
   1033 								$carrier_from_list = true;
   1034 								$carrier = $this->request->post['carrier'][$order_id];
   1035 							}
   1036 
   1037 							$orders[] = array(
   1038 								'order_id' => $order_id,
   1039 								'status' => 'shipped',
   1040 								'carrier' => $carrier,
   1041 								'carrier_from_list' => $carrier_from_list,
   1042 								'tracking' => $this->request->post['tracking'][$order_id],
   1043 							);
   1044 
   1045 							$this->model_extension_openbay_amazonus->updateAmazonusOrderTracking($order_id, $carrier, $carrier_from_list, !empty($carrier) ? $this->request->post['tracking'][$order_id] : '');
   1046 						}
   1047 
   1048 						if ($this->config->get('openbay_amazonus_order_status_canceled') == $this->request->post['order_status_id']) {
   1049 							$orders[] = array(
   1050 								'order_id' => $order_id,
   1051 								'status' => 'canceled',
   1052 							);
   1053 						}
   1054 					}
   1055 				}
   1056 
   1057 				if ($orders) {
   1058 					$this->openbay->amazonus->bulkUpdateOrders($orders);
   1059 				}
   1060 			}
   1061 
   1062 			$i = 0;
   1063 
   1064 			foreach ($this->request->post['order_id'] as $order_id) {
   1065 				if ($this->config->get('ebay_status') == 1 && $this->request->post['channel'][$order_id] == 'eBay') {
   1066 					if ($this->config->get('ebay_status_shipped_id') == $this->request->post['order_status_id']) {
   1067 						$this->openbay->ebay->orderStatusListen($order_id, $this->request->post['order_status_id'], array('tracking_no' => $this->request->post['tracking'][$order_id], 'carrier_id' => $this->request->post['carrier'][$order_id]));
   1068 					} else {
   1069 						$this->openbay->ebay->orderStatusListen($order_id, $this->request->post['order_status_id']);
   1070 					}
   1071 				}
   1072 
   1073 				if ($this->config->get('etsy_status') == 1 && $this->request->post['channel'][$order_id] == 'Etsy') {
   1074 					$linked_order = $this->openbay->etsy->orderFind($order_id);
   1075 
   1076 					if ($linked_order != false) {
   1077 						if ($this->config->get('etsy_order_status_paid') == $this->request->post['order_status_id']) {
   1078 							$response = $this->openbay->etsy->orderUpdatePaid($linked_order['receipt_id'], "true");
   1079 						}
   1080 
   1081 						if ($this->config->get('etsy_order_status_shipped') == $this->request->post['order_status_id']) {
   1082 							$response = $this->openbay->etsy->orderUpdateShipped($linked_order['receipt_id'], "true");
   1083 						}
   1084 					}
   1085 				}
   1086 
   1087 				$data = array(
   1088 					'append' => 0,
   1089 					'notify' => $this->request->post['notify'][$order_id],
   1090 					'order_status_id' => $this->request->post['order_status_id'],
   1091 					'comment' => $this->request->post['comments'][$order_id],
   1092 				);
   1093 
   1094 				$add_history = $this->model_extension_openbay_openbay->addOrderHistory($order_id, $data, $api_login);
   1095 
   1096 				if (isset($add_history['error'])) {
   1097 					$this->session->data['error_orders'][] = array(
   1098 						'order_id' => $order_id,
   1099 						'error' => $add_history['error']
   1100 					);
   1101 				}
   1102 
   1103 				$i++;
   1104 			}
   1105 
   1106 			$this->session->data['success'] = sprintf($this->language->get('text_confirmed'), $i);
   1107 		}
   1108 
   1109 		$this->response->redirect($this->url->link('extension/openbay/orderList', 'token=' . $this->session->data['token'], true));
   1110 	}
   1111 
   1112 	public function items() {
   1113 		$this->document->addScript('view/javascript/openbay/js/openbay.js');
   1114 		$this->document->addScript('view/javascript/openbay/js/faq.js');
   1115 
   1116 		$data = $this->load->language('catalog/product');
   1117 		$data = $this->load->language('extension/openbay/openbay_itemlist', $data);
   1118 
   1119 		$this->document->setTitle($this->language->get('heading_title'));
   1120 
   1121 		$this->load->model('catalog/product');
   1122 		$this->load->model('catalog/category');
   1123 		$this->load->model('catalog/manufacturer');
   1124 		$this->load->model('extension/openbay/openbay');
   1125 		$this->load->model('tool/image');
   1126 
   1127 		if ($this->openbay->addonLoad('openstock')) {
   1128 			$this->load->model('extension/module/openstock');
   1129 			$openstock_installed = true;
   1130 		} else {
   1131 			$openstock_installed = false;
   1132 		}
   1133 
   1134 		$data['category_list'] = $this->model_catalog_category->getCategories(array());
   1135 		$data['manufacturer_list'] = $this->model_catalog_manufacturer->getManufacturers(array());
   1136 
   1137 		if (isset($this->request->get['filter_name'])) {
   1138 			$filter_name = $this->request->get['filter_name'];
   1139 		} else {
   1140 			$filter_name = '';
   1141 		}
   1142 
   1143 		if (isset($this->request->get['filter_model'])) {
   1144 			$filter_model = $this->request->get['filter_model'];
   1145 		} else {
   1146 			$filter_model = '';
   1147 		}
   1148 
   1149 		if (isset($this->request->get['filter_price'])) {
   1150 			$filter_price = $this->request->get['filter_price'];
   1151 		} else {
   1152 			$filter_price = '';
   1153 		}
   1154 
   1155 		if (isset($this->request->get['filter_price_to'])) {
   1156 			$filter_price_to = $this->request->get['filter_price_to'];
   1157 		} else {
   1158 			$filter_price_to = '';
   1159 		}
   1160 
   1161 		if (isset($this->request->get['filter_quantity'])) {
   1162 			$filter_quantity = $this->request->get['filter_quantity'];
   1163 		} else {
   1164 			$filter_quantity = '';
   1165 		}
   1166 
   1167 		if (isset($this->request->get['filter_quantity_to'])) {
   1168 			$filter_quantity_to = $this->request->get['filter_quantity_to'];
   1169 		} else {
   1170 			$filter_quantity_to = '';
   1171 		}
   1172 
   1173 		if (isset($this->request->get['filter_status'])) {
   1174 			$filter_status = $this->request->get['filter_status'];
   1175 		} else {
   1176 			$filter_status = '';
   1177 		}
   1178 
   1179 		if (isset($this->request->get['filter_sku'])) {
   1180 			$filter_sku = $this->request->get['filter_sku'];
   1181 		} else {
   1182 			$filter_sku = '';
   1183 		}
   1184 
   1185 		if (isset($this->request->get['filter_desc'])) {
   1186 			$filter_desc = $this->request->get['filter_desc'];
   1187 		} else {
   1188 			$filter_desc = '';
   1189 		}
   1190 
   1191 		if (isset($this->request->get['filter_category'])) {
   1192 			$filter_category = $this->request->get['filter_category'];
   1193 		} else {
   1194 			$filter_category = '';
   1195 		}
   1196 
   1197 		if (isset($this->request->get['filter_manufacturer'])) {
   1198 			$filter_manufacturer = $this->request->get['filter_manufacturer'];
   1199 		} else {
   1200 			$filter_manufacturer = '';
   1201 		}
   1202 
   1203 		if (isset($this->request->get['filter_marketplace'])) {
   1204 			$filter_marketplace = $this->request->get['filter_marketplace'];
   1205 		} else {
   1206 			$filter_marketplace = '';
   1207 		}
   1208 
   1209 		if (isset($this->request->get['sort'])) {
   1210 			$sort = $this->request->get['sort'];
   1211 		} else {
   1212 			$sort = 'pd.name';
   1213 		}
   1214 
   1215 		if (isset($this->request->get['order'])) {
   1216 			$order = $this->request->get['order'];
   1217 		} else {
   1218 			$order = 'ASC';
   1219 		}
   1220 
   1221 		if (isset($this->request->get['page'])) {
   1222 			$page = $this->request->get['page'];
   1223 		} else {
   1224 			$page = 1;
   1225 		}
   1226 
   1227 		$url = '';
   1228 
   1229 		if (isset($this->request->get['filter_name'])) {
   1230 			$url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8'));
   1231 		}
   1232 
   1233 		if (isset($this->request->get['filter_model'])) {
   1234 			$url .= '&filter_model=' . urlencode(html_entity_decode($this->request->get['filter_model'], ENT_QUOTES, 'UTF-8'));
   1235 		}
   1236 
   1237 		if (isset($this->request->get['filter_price'])) {
   1238 			$url .= '&filter_price=' . $this->request->get['filter_price'];
   1239 		}
   1240 
   1241 		if (isset($this->request->get['filter_price_to'])) {
   1242 			$url .= '&filter_price_to=' . $this->request->get['filter_price_to'];
   1243 		}
   1244 
   1245 		if (isset($this->request->get['filter_quantity'])) {
   1246 			$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
   1247 		}
   1248 
   1249 		if (isset($this->request->get['filter_quantity_to'])) {
   1250 			$url .= '&filter_quantity_to=' . $this->request->get['filter_quantity_to'];
   1251 		}
   1252 
   1253 		if (isset($this->request->get['filter_status'])) {
   1254 			$url .= '&filter_status=' . $this->request->get['filter_status'];
   1255 		}
   1256 
   1257 		if (isset($this->request->get['filter_sku'])) {
   1258 			$url .= '&filter_sku=' . $this->request->get['filter_sku'];
   1259 		}
   1260 
   1261 		if (isset($this->request->get['filter_desc'])) {
   1262 			$url .= '&filter_desc=' . $this->request->get['filter_desc'];
   1263 		}
   1264 
   1265 		if (isset($this->request->get['filter_category'])) {
   1266 			$url .= '&filter_category=' . $this->request->get['filter_category'];
   1267 		}
   1268 
   1269 		if (isset($this->request->get['filter_manufacturer'])) {
   1270 			$url .= '&filter_manufacturer=' . $this->request->get['filter_manufacturer'];
   1271 		}
   1272 
   1273 		if (isset($this->request->get['filter_marketplace'])) {
   1274 			$url .= '&filter_marketplace=' . $this->request->get['filter_marketplace'];
   1275 		}
   1276 
   1277 		if (isset($this->request->get['sort'])) {
   1278 			$url .= '&sort=' . $this->request->get['sort'];
   1279 		}
   1280 
   1281 		if (isset($this->request->get['order'])) {
   1282 			$url .= '&order=' . $this->request->get['order'];
   1283 		}
   1284 
   1285 		if (isset($this->request->get['page'])) {
   1286 			$url .= '&page=' . $this->request->get['page'];
   1287 		}
   1288 
   1289 		$data['breadcrumbs'] = array();
   1290 
   1291 		$data['breadcrumbs'][] = array(
   1292 			'text'      => $this->language->get('text_home'),
   1293 			'href'      => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true),
   1294 		);
   1295 
   1296 		$data['breadcrumbs'][] = array(
   1297 			'text' 		=> $this->language->get('text_openbay'),
   1298 			'href' 		=> $this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true),
   1299 		);
   1300 
   1301 		$data['breadcrumbs'][] = array(
   1302 			'text'      => $this->language->get('heading_title'),
   1303 			'href'      => $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'] . $url, true),
   1304 		);
   1305 
   1306 		if ($this->config->get('openbay_amazon_status')) {
   1307 			$data['link_amazon_eu_bulk'] = $this->url->link('extension/openbay/amazon/bulkListProducts', 'user_token=' . $this->session->data['user_token'] . $url, true);
   1308 		} else {
   1309 			$data['link_amazon_eu_bulk'] = '';
   1310 		}
   1311 
   1312 		if ($this->config->get('openbay_amazonus_status')) {
   1313 			$data['link_amazon_us_bulk'] = $this->url->link('extension/openbay/amazonus/bulkListProducts', 'user_token=' . $this->session->data['user_token'] . $url, true);
   1314 		} else {
   1315 			$data['link_amazon_us_bulk'] = '';
   1316 		}
   1317 
   1318 		if ($this->config->get('ebay_status') == '1') {
   1319 			$data['link_ebay_bulk'] = $this->url->link('extension/openbay/openbay/createBulk', 'user_token=' . $this->session->data['user_token'], true);
   1320 		} else {
   1321 			$data['link_ebay_bulk'] = '';
   1322 		}
   1323 
   1324 		$data['products'] = array();
   1325 
   1326 		$filter_market_id = '';
   1327 		$filter_market_name = '';
   1328 
   1329 		$ebay_status = array(
   1330 			0 => 'ebay_inactive',
   1331 			1 => 'ebay_active',
   1332 		);
   1333 
   1334 		if (in_array($filter_marketplace, $ebay_status)) {
   1335 			$filter_market_name = 'ebay';
   1336 			$filter_market_id = array_search($filter_marketplace, $ebay_status);
   1337 		}
   1338 
   1339 		$amazon_status = array(
   1340 			0 => 'amazon_unlisted',
   1341 			1 => 'amazon_saved',
   1342 			2 => 'amazon_uploaded',
   1343 			3 => 'amazon_ok',
   1344 			4 => 'amazon_error',
   1345 			5 => 'amazon_linked',
   1346 			6 => 'amazon_not_linked',
   1347 		);
   1348 
   1349 		if (in_array($filter_marketplace, $amazon_status)) {
   1350 			$filter_market_name = 'amazon';
   1351 			$filter_market_id = array_search($filter_marketplace, $amazon_status);
   1352 		}
   1353 
   1354 		$amazonus_status = array(
   1355 			0 => 'amazonus_unlisted',
   1356 			1 => 'amazonus_saved',
   1357 			2 => 'amazonus_uploaded',
   1358 			3 => 'amazonus_ok',
   1359 			4 => 'amazonus_error',
   1360 			5 => 'amazonus_linked',
   1361 			6 => 'amazonus_not_linked',
   1362 		);
   1363 
   1364 		if (in_array($filter_marketplace, $amazonus_status)) {
   1365 			$filter_market_name = 'amazonus';
   1366 			$filter_market_id = array_search($filter_marketplace, $amazonus_status);
   1367 		}
   1368 
   1369 		$filter = array(
   1370 			'filter_name'	        => $filter_name,
   1371 			'filter_model'	        => $filter_model,
   1372 			'filter_price'	        => $filter_price,
   1373 			'filter_price_to'	    => $filter_price_to,
   1374 			'filter_quantity'       => $filter_quantity,
   1375 			'filter_quantity_to'    => $filter_quantity_to,
   1376 			'filter_status'         => $filter_status,
   1377 			'filter_sku'            => $filter_sku,
   1378 			'filter_desc'           => $filter_desc,
   1379 			'filter_category'       => $filter_category,
   1380 			'filter_manufacturer'   => $filter_manufacturer,
   1381 			'filter_market_name'    => $filter_market_name,
   1382 			'filter_market_id'      => $filter_market_id,
   1383 			'sort'                  => $sort,
   1384 			'order'                 => $order,
   1385 			'start'                 => ($page - 1) * $this->config->get('config_limit_admin'),
   1386 			'limit'                 => $this->config->get('config_limit_admin')
   1387 		);
   1388 
   1389 		if ($this->config->get('ebay_status') != '1' && $filter['filter_market_name'] == 'ebay') {
   1390 			$this->response->redirect($this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'], true));
   1391 			return;
   1392 		}
   1393 
   1394 		if ($this->config->get('openbay_amazon_status') != '1' && $filter['filter_market_name'] == 'amazon') {
   1395 			$this->response->redirect($this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'], true));
   1396 			return;
   1397 		}
   1398 
   1399 		if ($this->config->get('openbay_amazonus_status') != '1' && $filter['filter_market_name'] == 'amazonus') {
   1400 			$this->response->redirect($this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'], true));
   1401 			return;
   1402 		}
   1403 
   1404 		if ($this->config->get('etsy_status') != '1' && $filter['filter_market_name'] == 'etsy') {
   1405 			$this->response->redirect($this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'], true));
   1406 			return;
   1407 		}
   1408 
   1409 		$data['marketplace_statuses'] = array(
   1410 			'ebay' => $this->config->get('ebay_status'),
   1411 			'amazon' => $this->config->get('openbay_amazon_status'),
   1412 			'amazonus' => $this->config->get('openbay_amazonus_status'),
   1413 			'etsy' => $this->config->get('etsy_status'),
   1414 		);
   1415 
   1416 		$product_total = $this->model_extension_openbay_openbay->getTotalProducts($filter);
   1417 
   1418 		$results = $this->model_extension_openbay_openbay->getProducts($filter);
   1419 
   1420 		foreach ($results as $result) {
   1421 			$edit = $this->url->link('catalog/product/edit', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true);
   1422 
   1423 			if ($result['image'] && file_exists(DIR_IMAGE . $result['image'])) {
   1424 				$image = $this->model_tool_image->resize($result['image'], 40, 40);
   1425 			} else {
   1426 				$image = $this->model_tool_image->resize('no_image.png', 40, 40);
   1427 			}
   1428 
   1429 			$special = false;
   1430 
   1431 			$product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']);
   1432 
   1433 			foreach ($product_specials  as $product_special) {
   1434 				if (($product_special['date_start'] == '0000-00-00' || $product_special['date_start'] < date('Y-m-d')) && ($product_special['date_end'] == '0000-00-00' || $product_special['date_end'] > date('Y-m-d'))) {
   1435 					$special = $product_special['price'];
   1436 
   1437 					break;
   1438 				}
   1439 			}
   1440 
   1441 			/**
   1442 			 * Button status key:
   1443 			 * 0 = Inactive / no link to market
   1444 			 * 1 = Active
   1445 			 * 2 = Error
   1446 			 * 3 = Pending
   1447 			 */
   1448 
   1449 			$markets = array();
   1450 
   1451 			if ($this->config->get('ebay_status') == '1') {
   1452 				$this->load->model('extension/openbay/ebay');
   1453 
   1454 				$active_list = $this->model_extension_openbay_ebay->getLiveListingArray();
   1455 
   1456 				if (!array_key_exists($result['product_id'], $active_list)) {
   1457 					$markets[] = array(
   1458 						'name'      => $this->language->get('text_ebay'),
   1459 						'text'      => $this->language->get('button_add'),
   1460 						'href'      => $this->url->link('extension/openbay/ebay/create', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1461 						'status'	=> 0
   1462 					);
   1463 				} else {
   1464 					$markets[] = array(
   1465 						'name'      => $this->language->get('text_ebay'),
   1466 						'text'      => $this->language->get('button_edit'),
   1467 						'href'      => $this->url->link('extension/openbay/ebay/edit', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1468 						'status'	=> 1
   1469 					);
   1470 				}
   1471 			}
   1472 
   1473 			if ($this->config->get('openbay_amazon_status') == '1') {
   1474 				$this->load->model('extension/openbay/amazon');
   1475 				$amazon_status = $this->model_extension_openbay_amazon->getProductStatus($result['product_id']);
   1476 
   1477 				if ($amazon_status == 'processing') {
   1478 					$markets[] = array(
   1479 						'name'      => $this->language->get('text_amazon'),
   1480 						'text'      => $this->language->get('text_processing'),
   1481 						'href'      => '',
   1482 						'status'	=> 3
   1483 					);
   1484 				} else if ($amazon_status == 'linked' || $amazon_status == 'ok' || $amazon_status == 'saved') {
   1485 					$markets[] = array(
   1486 						'name'      => $this->language->get('text_amazon'),
   1487 						'text'      => $this->language->get('button_edit'),
   1488 						'href'      => $this->url->link('extension/openbay/amazon_listing/edit', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1489 						'status'	=> 1
   1490 					);
   1491 				} else if ($amazon_status == 'error_quick' || $amazon_status == 'error_advanced' || $amazon_status == 'error_few') {
   1492 					$markets[] = array(
   1493 						'name'      => $this->language->get('text_amazon'),
   1494 						'text'      => $this->language->get('button_error_fix'),
   1495 						'href'      => $this->url->link('extension/openbay/amazon_listing/create', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1496 						'status'	=> 2
   1497 					);
   1498 				} else {
   1499 					$markets[] = array(
   1500 						'name'      => $this->language->get('text_amazon'),
   1501 						'text'      => $this->language->get('button_add'),
   1502 						'href'      => $this->url->link('extension/openbay/amazon_listing/create', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1503 						'status'	=> 0
   1504 					);
   1505 				}
   1506 			}
   1507 
   1508 			if ($this->config->get('openbay_amazonus_status') == '1') {
   1509 				$this->load->model('extension/openbay/amazonus');
   1510 				$amazonus_status = $this->model_extension_openbay_amazonus->getProductStatus($result['product_id']);
   1511 
   1512 				if ($amazonus_status == 'processing') {
   1513 					$markets[] = array(
   1514 						'name'      => $this->language->get('text_amazonus'),
   1515 						'text'      => $this->language->get('text_processing'),
   1516 						'href'      => '',
   1517 						'status'	=> 3
   1518 					);
   1519 				} else if ($amazonus_status == 'linked' || $amazonus_status == 'ok' || $amazonus_status == 'saved') {
   1520 					$markets[] = array(
   1521 						'name'      => $this->language->get('text_amazonus'),
   1522 						'text'      => $this->language->get('button_edit'),
   1523 						'href'      => $this->url->link('extension/openbay/amazonus_listing/edit', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1524 						'status'	=> 1
   1525 					);
   1526 				} else if ($amazonus_status == 'error_quick' || $amazonus_status == 'error_advanced' || $amazonus_status == 'error_few') {
   1527 					$markets[] = array(
   1528 						'name'      => $this->language->get('text_amazonus'),
   1529 						'text'      => $this->language->get('button_error_fix'),
   1530 						'href'      => $this->url->link('extension/openbay/amazonus_listing/create', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1531 						'status'	=> 2
   1532 					);
   1533 				} else {
   1534 					$markets[] = array(
   1535 						'name'      => $this->language->get('text_amazonus'),
   1536 						'text'      => $this->language->get('button_add'),
   1537 						'href'      => $this->url->link('extension/openbay/amazonus_listing/create', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1538 						'status'	=> 0
   1539 					);
   1540 				}
   1541 			}
   1542 
   1543 			if ($this->config->get('etsy_status') == '1') {
   1544 				$this->load->model('extension/openbay/etsy_product');
   1545 
   1546 				$status = $this->model_extension_openbay_etsy_product->getStatus($result['product_id']);
   1547 
   1548 				if ($status == 0) {
   1549 					$markets[] = array(
   1550 						'name'      => $this->language->get('text_etsy'),
   1551 						'text'      => $this->language->get('button_add'),
   1552 						'href'      => $this->url->link('extension/openbay/etsy_product/create', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1553 						'status'	=> 0
   1554 					);
   1555 				} else {
   1556 					$markets[] = array(
   1557 						'name'      => $this->language->get('text_etsy'),
   1558 						'text'      => $this->language->get('button_edit'),
   1559 						'href'      => $this->url->link('extension/openbay/etsy_product/edit', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true),
   1560 						'status'	=> 1
   1561 					);
   1562 				}
   1563 			}
   1564 
   1565 			if (!isset($result['has_option'])) {
   1566 				$result['has_option'] = 0;
   1567 			}
   1568 
   1569 			$data['products'][] = array(
   1570 				'markets'   => $markets,
   1571 				'product_id' => $result['product_id'],
   1572 				'name'       => $result['name'],
   1573 				'model'      => $result['model'],
   1574 				'price'      => $result['price'],
   1575 				'special'    => $special,
   1576 				'image'      => $image,
   1577 				'quantity'   => $result['quantity'],
   1578 				'status'     => ($result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled')),
   1579 				'selected'   => isset($this->request->post['selected']) && in_array($result['product_id'], $this->request->post['selected']),
   1580 				'edit'       => $edit,
   1581 				'has_option' => $openstock_installed ? $result['has_option'] : 0,
   1582 				'vCount'     => $openstock_installed ? $this->model_setting_module_openstock->countVariation($result['product_id']) : '',
   1583 				'vsCount'    => $openstock_installed ? $this->model_setting_module_openstock->countVariationStock($result['product_id']) : '',
   1584 			);
   1585 		}
   1586 
   1587 		$data['user_token'] = $this->session->data['user_token'];
   1588 
   1589 		if (isset($this->error['warning'])) {
   1590 			$data['error_warning'] = $this->error['warning'];
   1591 		} else {
   1592 			if (isset($this->session->data['warning'])) {
   1593 				$data['error_warning'] = $this->session->data['warning'];
   1594 				unset($this->session->data['warning']);
   1595 			} else {
   1596 				$data['error_warning'] = '';
   1597 			}
   1598 		}
   1599 
   1600 		if (isset($this->session->data['success'])) {
   1601 			$data['success'] = $this->session->data['success'];
   1602 
   1603 			unset($this->session->data['success']);
   1604 		} else {
   1605 			$data['success'] = '';
   1606 		}
   1607 
   1608 		$url = '';
   1609 
   1610 		if (isset($this->request->get['filter_name'])) {
   1611 			$url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8'));
   1612 		}
   1613 
   1614 		if (isset($this->request->get['filter_model'])) {
   1615 			$url .= '&filter_model=' . urlencode(html_entity_decode($this->request->get['filter_model'], ENT_QUOTES, 'UTF-8'));
   1616 		}
   1617 
   1618 		if (isset($this->request->get['filter_price'])) {
   1619 			$url .= '&filter_price=' . $this->request->get['filter_price'];
   1620 		}
   1621 
   1622 		if (isset($this->request->get['filter_price_to'])) {
   1623 			$url .= '&filter_price_to=' . $this->request->get['filter_price_to'];
   1624 		}
   1625 
   1626 		if (isset($this->request->get['filter_quantity'])) {
   1627 			$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
   1628 		}
   1629 
   1630 		if (isset($this->request->get['filter_quantity_to'])) {
   1631 			$url .= '&filter_quantity_to=' . $this->request->get['filter_quantity_to'];
   1632 		}
   1633 
   1634 		if (isset($this->request->get['filter_status'])) {
   1635 			$url .= '&filter_status=' . $this->request->get['filter_status'];
   1636 		}
   1637 
   1638 		if (isset($this->request->get['filter_sku'])) {
   1639 			$url .= '&filter_sku=' . $this->request->get['filter_sku'];
   1640 		}
   1641 
   1642 		if (isset($this->request->get['filter_desc'])) {
   1643 			$url .= '&filter_desc=' . $this->request->get['filter_desc'];
   1644 		}
   1645 
   1646 		if (isset($this->request->get['filter_category'])) {
   1647 			$url .= '&filter_category=' . $this->request->get['filter_category'];
   1648 		}
   1649 
   1650 		if (isset($this->request->get['filter_manufacturer'])) {
   1651 			$url .= '&filter_manufacturer=' . $this->request->get['filter_manufacturer'];
   1652 		}
   1653 
   1654 		if (isset($this->request->get['filter_marketplace'])) {
   1655 			$url .= '&filter_marketplace=' . $this->request->get['filter_marketplace'];
   1656 		}
   1657 
   1658 		if ($order == 'ASC') {
   1659 			$url .= '&order=DESC';
   1660 		} else {
   1661 			$url .= '&order=ASC';
   1662 		}
   1663 
   1664 		if (isset($this->request->get['page'])) {
   1665 			$url .= '&page=' . $this->request->get['page'];
   1666 		}
   1667 
   1668 		$data['sort_name'] = $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'] . '&sort=pd.name' . $url, true);
   1669 		$data['sort_model'] = $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'] . '&sort=p.model' . $url, true);
   1670 		$data['sort_price'] = $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'] . '&sort=p.price' . $url, true);
   1671 		$data['sort_quantity'] = $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'] . '&sort=p.quantity' . $url, true);
   1672 		$data['sort_status'] = $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'] . '&sort=p.status' . $url, true);
   1673 		$data['sort_order'] = $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'] . '&sort=p.sort_order' . $url, true);
   1674 
   1675 		$url = '';
   1676 
   1677 		if (isset($this->request->get['filter_name'])) {
   1678 			$url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8'));
   1679 		}
   1680 
   1681 		if (isset($this->request->get['filter_model'])) {
   1682 			$url .= '&filter_model=' . urlencode(html_entity_decode($this->request->get['filter_model'], ENT_QUOTES, 'UTF-8'));
   1683 		}
   1684 
   1685 		if (isset($this->request->get['filter_price'])) {
   1686 			$url .= '&filter_price=' . $this->request->get['filter_price'];
   1687 		}
   1688 
   1689 		if (isset($this->request->get['filter_price_to'])) {
   1690 			$url .= '&filter_price_to=' . $this->request->get['filter_price_to'];
   1691 		}
   1692 
   1693 		if (isset($this->request->get['filter_quantity'])) {
   1694 			$url .= '&filter_quantity=' . $this->request->get['filter_quantity'];
   1695 		}
   1696 
   1697 		if (isset($this->request->get['filter_quantity_to'])) {
   1698 			$url .= '&filter_quantity_to=' . $this->request->get['filter_quantity_to'];
   1699 		}
   1700 
   1701 		if (isset($this->request->get['filter_status'])) {
   1702 			$url .= '&filter_status=' . $this->request->get['filter_status'];
   1703 		}
   1704 
   1705 		if (isset($this->request->get['filter_sku'])) {
   1706 			$url .= '&filter_sku=' . $this->request->get['filter_sku'];
   1707 		}
   1708 
   1709 		if (isset($this->request->get['filter_desc'])) {
   1710 			$url .= '&filter_desc=' . $this->request->get['filter_desc'];
   1711 		}
   1712 
   1713 		if (isset($this->request->get['filter_category'])) {
   1714 			$url .= '&filter_category=' . $this->request->get['filter_category'];
   1715 		}
   1716 
   1717 		if (isset($this->request->get['filter_manufacturer'])) {
   1718 			$url .= '&filter_manufacturer=' . $this->request->get['filter_manufacturer'];
   1719 		}
   1720 
   1721 		if (isset($this->request->get['filter_marketplace'])) {
   1722 			$url .= '&filter_marketplace=' . $this->request->get['filter_marketplace'];
   1723 		}
   1724 
   1725 		if (isset($this->request->get['sort'])) {
   1726 			$url .= '&sort=' . $this->request->get['sort'];
   1727 		}
   1728 
   1729 		if (isset($this->request->get['order'])) {
   1730 			$url .= '&order=' . $this->request->get['order'];
   1731 		}
   1732 
   1733 		$pagination = new Pagination();
   1734 		$pagination->total = $product_total;
   1735 		$pagination->page = $page;
   1736 		$pagination->limit = $this->config->get('config_limit_admin');
   1737 		$pagination->text = $this->language->get('text_pagination');
   1738 		$pagination->url = $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'] . $url . '&page={page}', true);
   1739 
   1740 		$data['pagination'] = $pagination->render();
   1741 
   1742 		$data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($product_total - $this->config->get('config_limit_admin'))) ? $product_total : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $product_total, ceil($product_total / $this->config->get('config_limit_admin')));
   1743 
   1744 		$data['filter_name'] = $filter_name;
   1745 		$data['filter_model'] = $filter_model;
   1746 		$data['filter_price'] = $filter_price;
   1747 		$data['filter_price_to'] = $filter_price_to;
   1748 		$data['filter_quantity'] = $filter_quantity;
   1749 		$data['filter_quantity_to'] = $filter_quantity_to;
   1750 		$data['filter_status'] = $filter_status;
   1751 		$data['filter_sku'] = $filter_sku;
   1752 		$data['filter_desc'] = $filter_desc;
   1753 		$data['filter_category'] = $filter_category;
   1754 		$data['filter_manufacturer'] = $filter_manufacturer;
   1755 		$data['filter_marketplace'] = $filter_marketplace;
   1756 
   1757 		$data['sort'] = $sort;
   1758 		$data['order'] = $order;
   1759 
   1760 		$data['ebay_status'] = $this->config->get('ebay_status');
   1761 		$data['user_token'] = $this->request->get['user_token'];
   1762 
   1763 		$data['header'] = $this->load->controller('common/header');
   1764 		$data['column_left'] = $this->load->controller('common/column_left');
   1765 		$data['footer'] = $this->load->controller('common/footer');
   1766 
   1767 		$this->response->setOutput($this->load->view('extension/openbay/openbay_itemlist', $data));
   1768 	}
   1769 
   1770 	public function itemlist() {
   1771 		$this->response->redirect($this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'], true));
   1772 	}
   1773 
   1774 	public function eventDeleteProduct($route, $data) {
   1775 		$this->openbay->log('eventDeleteProduct fired: ' . $route);
   1776 
   1777 		foreach ($this->openbay->installed_markets as $market) {
   1778 			if ($market == 'amazon') {
   1779 				$status = $this->config->get('openbay_amazon_status');
   1780 			} elseif ($market == 'amazonus') {
   1781 				$status = $this->config->get('openbay_amazonus_status');
   1782 			} else {
   1783 				$status = $this->config->get($market . '_status');
   1784 			}
   1785 
   1786 			if ($status == 1) {
   1787 				$this->openbay->{$market}->deleteProduct((int)$data[0]);
   1788 			}
   1789 		}
   1790 	}
   1791 
   1792 	public function eventEditProduct($route, $data) {
   1793 		$this->openbay->log('eventEditProduct fired: ' . $route);
   1794 
   1795 		foreach ($this->openbay->installed_markets as $market) {
   1796 			if ($market == 'amazon') {
   1797 				$status = $this->config->get('openbay_amazon_status');
   1798 			} elseif ($market == 'amazonus') {
   1799 				$status = $this->config->get('openbay_amazonus_status');
   1800 			} else {
   1801 				$status = $this->config->get($market . '_status');
   1802 			}
   1803 
   1804 			if ($status == 1) {
   1805 				$this->openbay->{$market}->productUpdateListen((int)$data[0], $data[1]);
   1806 			}
   1807 		}
   1808 	}
   1809 
   1810 	public function eventMenu($route, &$data) {
   1811 		// OpenBay Pro Menu
   1812 		$openbay_menu = array();
   1813 
   1814 		$this->load->language('extension/openbay/openbay_menu');
   1815 
   1816 		if ($this->user->hasPermission('access', 'marketplace/openbay')) {
   1817 			$openbay_menu[] = array(
   1818 				'name'	   => $this->language->get('text_openbay_dashboard'),
   1819 				'href'     => $this->url->link('marketplace/openbay', 'user_token=' . $this->session->data['user_token'], true),
   1820 				'children' => array()
   1821 			);
   1822 
   1823 			$openbay_menu[] = array(
   1824 				'name'	   => $this->language->get('text_openbay_orders'),
   1825 				'href'     => $this->url->link('marketplace/openbay/orderlist', 'user_token=' . $this->session->data['user_token'], true),
   1826 				'children' => array()
   1827 			);
   1828 
   1829 			$openbay_menu[] = array(
   1830 				'name'	   => $this->language->get('text_openbay_items'),
   1831 				'href'     => $this->url->link('marketplace/openbay/items', 'user_token=' . $this->session->data['user_token'], true),
   1832 				'children' => array()
   1833 			);
   1834 
   1835 			// eBay sub menu
   1836 			$ebay = array();
   1837 
   1838 			if ($this->user->hasPermission('access', 'extension/openbay/ebay') && $this->config->get('ebay_status') == 1) {
   1839 				$ebay[] = array(
   1840 					'name'     => $this->language->get('text_openbay_dashboard'),
   1841 					'href'     => $this->url->link('extension/openbay/ebay', 'user_token=' . $this->session->data['user_token'], true),
   1842 					'children' => array()
   1843 				);
   1844 
   1845 				$ebay[] = array(
   1846 					'name'	   => $this->language->get('text_openbay_settings'),
   1847 					'href'     => $this->url->link('extension/openbay/ebay/settings', 'user_token=' . $this->session->data['user_token'], true),
   1848 					'children' => array()
   1849 				);
   1850 
   1851 				$ebay[] = array(
   1852 					'name'	   => $this->language->get('text_openbay_links'),
   1853 					'href'     => $this->url->link('extension/openbay/ebay/viewitemlinks', 'user_token=' . $this->session->data['user_token'], true),
   1854 					'children' => array()
   1855 				);
   1856 
   1857 				$ebay[] = array(
   1858 					'name'	   => $this->language->get('text_openbay_order_import'),
   1859 					'href'     => $this->url->link('extension/openbay/ebay/vieworderimport', 'user_token=' . $this->session->data['user_token'], true),
   1860 					'children' => array()
   1861 				);
   1862 			}
   1863 
   1864 			if ($ebay) {
   1865 				$openbay_menu[] = array(
   1866 					'name'	   => $this->language->get('text_openbay_ebay'),
   1867 					'href'     => '',
   1868 					'children' => $ebay
   1869 				);
   1870 			}
   1871 
   1872 			// Amazon EU sub menu
   1873 			$amazon_eu = array();
   1874 
   1875 			if ($this->user->hasPermission('access', 'extension/openbay/amazon') && $this->config->get('openbay_amazon_status') == 1) {
   1876 				$amazon_eu[] = array(
   1877 					'name'     => $this->language->get('text_openbay_dashboard'),
   1878 					'href'     => $this->url->link('extension/openbay/amazon', 'user_token=' . $this->session->data['user_token'], true),
   1879 					'children' => array()
   1880 				);
   1881 
   1882 				$amazon_eu[] = array(
   1883 					'name'	   => $this->language->get('text_openbay_settings'),
   1884 					'href'     => $this->url->link('extension/openbay/amazon/settings', 'user_token=' . $this->session->data['user_token'], true),
   1885 					'children' => array()
   1886 				);
   1887 
   1888 				$amazon_eu[] = array(
   1889 					'name'	   => $this->language->get('text_openbay_links'),
   1890 					'href'     => $this->url->link('extension/openbay/amazon/itemlinks', 'user_token=' . $this->session->data['user_token'], true),
   1891 					'children' => array()
   1892 				);
   1893 			}
   1894 
   1895 			if ($amazon_eu) {
   1896 				$openbay_menu[] = array(
   1897 					'name'	   => $this->language->get('text_openbay_amazon'),
   1898 					'href'     => '',
   1899 					'children' => $amazon_eu
   1900 				);
   1901 			}
   1902 
   1903 			// Amazon US sub menu
   1904 			$amazon_us = array();
   1905 
   1906 			if ($this->user->hasPermission('access', 'extension/openbay/amazonus') && $this->config->get('openbay_amazonus_status') == 1) {
   1907 				$amazon_us[] = array(
   1908 					'name'     => $this->language->get('text_openbay_dashboard'),
   1909 					'href'     => $this->url->link('extension/openbay/amazonus', 'user_token=' . $this->session->data['user_token'], true),
   1910 					'children' => array()
   1911 				);
   1912 
   1913 				$amazon_us[] = array(
   1914 					'name'	   => $this->language->get('text_openbay_settings'),
   1915 					'href'     => $this->url->link('extension/openbay/amazonus/settings', 'user_token=' . $this->session->data['user_token'], true),
   1916 					'children' => array()
   1917 				);
   1918 
   1919 				$amazon_us[] = array(
   1920 					'name'	   => $this->language->get('text_openbay_links'),
   1921 					'href'     => $this->url->link('extension/openbay/amazonus/itemlinks', 'user_token=' . $this->session->data['user_token'], true),
   1922 					'children' => array()
   1923 				);
   1924 			}
   1925 
   1926 			if ($amazon_us) {
   1927 				$openbay_menu[] = array(
   1928 					'name'	   => $this->language->get('text_openbay_amazonus'),
   1929 					'href'     => '',
   1930 					'children' => $amazon_us
   1931 				);
   1932 			}
   1933 
   1934 			// Etsy sub menu
   1935 			$etsy = array();
   1936 
   1937 			if ($this->user->hasPermission('access', 'extension/openbay/etsy') && $this->config->get('etsy_status') == 1) {
   1938 				$etsy[] = array(
   1939 					'name'     => $this->language->get('text_openbay_dashboard'),
   1940 					'href'     => $this->url->link('extension/openbay/etsy', 'user_token=' . $this->session->data['user_token'], true),
   1941 					'children' => array()
   1942 				);
   1943 
   1944 				$etsy[] = array(
   1945 					'name'	   => $this->language->get('text_openbay_settings'),
   1946 					'href'     => $this->url->link('extension/openbay/etsy/settings', 'user_token=' . $this->session->data['user_token'], true),
   1947 					'children' => array()
   1948 				);
   1949 
   1950 				if ($this->user->hasPermission('access', 'extension/openbay/etsy_product')) {
   1951 					$etsy[] = array(
   1952 						'name'	   => $this->language->get('text_openbay_links'),
   1953 						'href'     => $this->url->link('extension/openbay/etsy_product/links', 'user_token=' . $this->session->data['user_token'], true),
   1954 						'children' => array()
   1955 					);
   1956 				}
   1957 			}
   1958 
   1959 			if ($etsy) {
   1960 				$openbay_menu[] = array(
   1961 					'name'	   => $this->language->get('text_openbay_etsy'),
   1962 					'href'     => '',
   1963 					'children' => $etsy
   1964 				);
   1965 			}
   1966 
   1967 			// FBA sub menu
   1968 			$fba = array();
   1969 
   1970 			if ($this->user->hasPermission('access', 'extension/openbay/fba') && $this->config->get('openbay_fba_status') == 1) {
   1971 				$fba[] = array(
   1972 					'name'     => $this->language->get('text_openbay_dashboard'),
   1973 					'href'     => $this->url->link('extension/openbay/fba', 'user_token=' . $this->session->data['user_token'], true),
   1974 					'children' => array()
   1975 				);
   1976 
   1977 				$fba[] = array(
   1978 					'name'	   => $this->language->get('text_openbay_settings'),
   1979 					'href'     => $this->url->link('extension/openbay/fba/settings', 'user_token=' . $this->session->data['user_token'], true),
   1980 					'children' => array()
   1981 				);
   1982 
   1983 				$fba[] = array(
   1984 					'name'	   => $this->language->get('text_openbay_fulfillmentlist'),
   1985 					'href'     => $this->url->link('extension/openbay/fba/fulfillmentlist', 'user_token=' . $this->session->data['user_token'], true),
   1986 					'children' => array()
   1987 				);
   1988 
   1989 				$fba[] = array(
   1990 					'name'	   => $this->language->get('text_openbay_orderlist'),
   1991 					'href'     => $this->url->link('extension/openbay/fba/orderlist', 'user_token=' . $this->session->data['user_token'], true),
   1992 					'children' => array()
   1993 				);
   1994 			}
   1995 
   1996 			if ($fba) {
   1997 				$openbay_menu[] = array(
   1998 					'name'	   => $this->language->get('text_openbay_fba'),
   1999 					'href'     => '',
   2000 					'children' => $fba
   2001 				);
   2002 			}
   2003 		}
   2004 
   2005 		if ($openbay_menu) {
   2006 			$data['menus'][] = array(
   2007 				'id'       => 'menu-openbay',
   2008 				'icon'	   => 'fa-cubes',
   2009 				'name'	   => $this->language->get('text_openbay_extension'),
   2010 				'href'     => '',
   2011 				'children' => $openbay_menu
   2012 			);
   2013 		}
   2014 	}
   2015 
   2016 	public function purge() {
   2017 		/**
   2018 		 * This is a function that is very dangerous
   2019 		 * Only developers should use this if you need to!!
   2020 		 * You need this code: **135** (includes stars)
   2021 		 *
   2022 		 * ACTIONS HERE CANNOT BE UNDONE WITHOUT A BACKUP
   2023 		 *
   2024 		 * !! IMPORTANT !!
   2025 		 * This section will by default comment out the database delete actions
   2026 		 * If you want to use them, uncomment.
   2027 		 * When you are finished, ensure you comment them back out!
   2028 		 */
   2029 
   2030 		$this->log->write('User is trying to wipe system data');
   2031 
   2032 		if ($this->request->post['pass'] != '**135**') {
   2033 			$this->log->write('User failed password validation');
   2034 			$json = array('msg' => 'Password wrong, check the source code for the password! This is so you know what this feature does.');
   2035 		} else {
   2036 			/**
   2037 			$this->log->write('User passed validation');
   2038 			$this->db->query("TRUNCATE `" . DB_PREFIX . "order`");
   2039 			$this->db->query("TRUNCATE `" . DB_PREFIX . "order_history`");
   2040 			$this->db->query("TRUNCATE `" . DB_PREFIX . "order_option`");
   2041 			$this->db->query("TRUNCATE `" . DB_PREFIX . "order_product`");
   2042 			$this->db->query("TRUNCATE `" . DB_PREFIX . "order_total`");
   2043 			$this->db->query("TRUNCATE `" . DB_PREFIX . "customer`");
   2044 			$this->db->query("TRUNCATE `" . DB_PREFIX . "customer_activity`");
   2045 			$this->db->query("TRUNCATE `" . DB_PREFIX . "customer_ban_ip`");
   2046 			$this->db->query("TRUNCATE `" . DB_PREFIX . "customer_transaction`");
   2047 			$this->db->query("TRUNCATE `" . DB_PREFIX . "address`");
   2048 
   2049 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_order`");
   2050 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_order_lock`");
   2051 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_transaction`");
   2052 
   2053 			if ($this->config->get('ebay_status') == 1) {
   2054 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_category`");
   2055 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_category_history`");
   2056 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_image_import`");
   2057 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_listing`");
   2058 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_listing_pending`");
   2059 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_stock_reserve`");
   2060 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_payment_method`");
   2061 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_profile`");
   2062 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_setting_option`");
   2063 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_shipping`");
   2064 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_shipping_location`");
   2065 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_shipping_location_exclude`");
   2066 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_template`");
   2067 			}
   2068 
   2069 			if ($this->config->get('etsy_status') == 1) {
   2070 			$this->db->query("TRUNCATE `" . DB_PREFIX . "etsy_listing`");
   2071 			$this->db->query("TRUNCATE `" . DB_PREFIX . "etsy_setting_option`");
   2072 			}
   2073 
   2074 			$this->db->query("TRUNCATE `" . DB_PREFIX . "etsy_order`");
   2075 			$this->db->query("TRUNCATE `" . DB_PREFIX . "etsy_order_lock`");
   2076 			$this->db->query("TRUNCATE `" . DB_PREFIX . "manufacturer`");
   2077 			$this->db->query("TRUNCATE `" . DB_PREFIX . "manufacturer_to_store`");
   2078 			$this->db->query("TRUNCATE `" . DB_PREFIX . "attribute`");
   2079 			$this->db->query("TRUNCATE `" . DB_PREFIX . "attribute_description`");
   2080 			$this->db->query("TRUNCATE `" . DB_PREFIX . "attribute_group`");
   2081 			$this->db->query("TRUNCATE `" . DB_PREFIX . "attribute_group_description`");
   2082 			$this->db->query("TRUNCATE `" . DB_PREFIX . "ebay_listing`");
   2083 			$this->db->query("TRUNCATE `" . DB_PREFIX . "category`");
   2084 			$this->db->query("TRUNCATE `" . DB_PREFIX . "category_description`");
   2085 			$this->db->query("TRUNCATE `" . DB_PREFIX . "category_to_store`");
   2086 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product`");
   2087 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product_to_store`");
   2088 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product_description`");
   2089 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product_attribute`");
   2090 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product_option`");
   2091 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product_option_value`");
   2092 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product_image`");
   2093 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product_to_category`");
   2094 			$this->db->query("TRUNCATE `" . DB_PREFIX . "option`");
   2095 			$this->db->query("TRUNCATE `" . DB_PREFIX . "option_description`");
   2096 			$this->db->query("TRUNCATE `" . DB_PREFIX . "option_value`");
   2097 			$this->db->query("TRUNCATE `" . DB_PREFIX . "option_value_description`");
   2098 
   2099 			if ($this->openbay->addonLoad('openstock')) {
   2100 			$this->db->query("TRUNCATE `" . DB_PREFIX . "product_option_relation`");
   2101 			}
   2102 			 */
   2103 
   2104 			$this->log->write('Data cleared');
   2105 			$json = array('msg' => 'Data cleared');
   2106 		}
   2107 
   2108 		$this->response->addHeader('Content-Type: application/json');
   2109 		$this->response->setOutput(json_encode($json));
   2110 	}
   2111 }