shop.balmet.com

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

divido.php (8393B)


      1 <?php
      2 class ControllerExtensionPaymentDivido extends Controller {
      3 	private $error = array();
      4 
      5 	public function index() {
      6 		$this->load->language('extension/payment/divido');
      7 
      8 		$this->document->setTitle($this->language->get('heading_title'));
      9 
     10 		$this->load->model('setting/setting');
     11 		$this->load->model('extension/payment/divido');
     12 
     13 		if ($this->request->server['REQUEST_METHOD'] == 'POST' && $this->validate()) {
     14 			$this->model_setting_setting->editSetting('payment_divido', $this->request->post);
     15 			
     16 			$this->session->data['success'] = $this->language->get('text_success');
     17 			
     18 			$this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=payment', true));
     19 		}
     20 
     21 		$data['entry_plans_options'] = array(
     22 			'all'		=> $this->language->get('entry_plans_options_all'),
     23 			'selected'	=> $this->language->get('entry_plans_options_selected'),
     24 		);
     25 
     26 		$data['entry_products_options']= array(
     27 			'all'		=> $this->language->get('entry_products_options_all'),
     28 			'selected'	=> $this->language->get('entry_products_options_selected'),
     29 			'threshold'	=> $this->language->get('entry_products_options_threshold'),
     30 		);
     31 
     32 		$data['button_save'] = $this->language->get('button_save');
     33 		$data['button_cancel'] = $this->language->get('button_cancel');
     34 
     35 		$this->load->model('localisation/order_status');
     36 
     37 		$data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
     38 
     39 		if (isset($this->error['warning'])) {
     40 			$data['error_warning'] = $this->error['warning'];
     41 		} else {
     42 			$data['error_warning'] = '';
     43 		}
     44 
     45 		$data['breadcrumbs'] = array();
     46 
     47 		$data['breadcrumbs'][] = array(
     48 			'text' => $this->language->get('text_home'),
     49 			'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true)
     50 		);
     51 
     52 		$data['breadcrumbs'][] = array(
     53 			'text' => $this->language->get('text_extension'),
     54 			'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=payment', true)
     55 		);
     56 
     57 		$data['breadcrumbs'][] = array(
     58 			'text' => $this->language->get('heading_title'),
     59 			'href' => $this->url->link('extension/payment/divido', 'user_token=' . $this->session->data['user_token'], true)
     60 		);
     61 
     62 		$data['action'] = $this->url->link('extension/payment/divido', 'user_token=' . $this->session->data['user_token'], 'SSL');
     63 		
     64 		$data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=payment', 'SSL');
     65 
     66 		if (isset($this->request->post['payment_divido_api_key'])) {
     67 			$data['payment_divido_api_key'] = $this->request->post['payment_divido_api_key'];
     68 		} else {
     69 			$data['payment_divido_api_key'] = $this->config->get('payment_divido_api_key');
     70 		}
     71 
     72 		if (isset($this->request->post['payment_divido_order_status_id'])) {
     73 			$data['payment_divido_order_status_id'] = $this->request->post['payment_divido_order_status_id'];
     74 		} elseif ($this->config->get('payment_divido_order_status_id')) {
     75 			$data['payment_divido_order_status_id'] = $this->config->get('payment_divido_order_status_id');
     76 		} else {
     77 			$data['payment_divido_order_status_id'] = 2;
     78 		}
     79 
     80 		if (isset($this->request->post['payment_divido_status'])) {
     81 			$data['payment_divido_status'] = $this->request->post['payment_divido_status'];
     82 		} else {
     83 			$data['payment_divido_status'] = $this->config->get('payment_divido_status');
     84 		}
     85 
     86 		if (isset($this->request->post['payment_divido_sort_order'])) {
     87 			$data['payment_divido_sort_order'] = $this->request->post['payment_divido_sort_order'];
     88 		} else {
     89 			$data['payment_divido_sort_order'] = $this->config->get('payment_divido_sort_order');
     90 		}
     91 
     92 		if (isset($this->request->post['payment_divido_title'])) {
     93 			$data['payment_divido_title'] = $this->request->post['payment_divido_title'];
     94 		} else {
     95 			$data['payment_divido_title'] = $this->config->get('payment_divido_title');
     96 		}
     97 
     98 		if (isset($this->request->post['payment_divido_productselection'])) {
     99 			$data['payment_divido_productselection'] = $this->request->post['payment_divido_productselection'];
    100 		} else {
    101 			$data['payment_divido_productselection'] = $this->config->get('payment_divido_productselection');
    102 		}
    103 
    104 		if (isset($this->request->post['payment_divido_price_threshold'])) {
    105 			$data['payment_divido_price_threshold'] = $this->request->post['payment_divido_price_threshold'];
    106 		} else {
    107 			$data['payment_divido_price_threshold'] = $this->config->get('payment_divido_price_threshold');
    108 		}
    109 
    110 		if (isset($this->request->post['payment_divido_cart_threshold'])) {
    111 			$data['payment_divido_cart_threshold'] = $this->request->post['payment_divido_cart_threshold'];
    112 		} else {
    113 			$data['payment_divido_cart_threshold'] = $this->config->get('payment_divido_cart_threshold');
    114 		}
    115 
    116 		if (isset($this->request->post['payment_divido_planselection'])) {
    117 			$data['payment_divido_planselection'] = $this->request->post['payment_divido_planselection'];
    118 		} else {
    119 			$data['payment_divido_planselection'] = $this->config->get('payment_divido_planselection');
    120 		}
    121 
    122 		if (isset($this->request->post['payment_divido_plans_selected'])) {
    123 			$data['payment_divido_plans_selected'] = $this->request->post['payment_divido_plans_selected'];
    124 		} elseif ($this->config->get('payment_divido_plans_selected')) {
    125 			$data['payment_divido_plans_selected'] = $this->config->get('payment_divido_plans_selected');
    126 		} else {
    127 			$data['payment_divido_plans_selected'] = array();
    128 		}
    129 
    130 		if (isset($this->request->post['payment_divido_categories'])) {
    131 			$data['payment_divido_categories'] = $this->request->post['payment_divido_categories'];
    132 		} elseif ($this->config->get('payment_divido_categories')) {
    133 			$data['payment_divido_categories'] = $this->config->get('payment_divido_categories');
    134 		} else {
    135 			$data['payment_divido_categories'] = array();
    136 		}
    137 
    138 		$data['categories'] = array();
    139 
    140 		$this->load->model('catalog/category');
    141 
    142 		foreach ($data['payment_divido_categories'] as $category_id) {
    143 			$category_info = $this->model_catalog_category->getCategory($category_id);
    144 
    145 			if ($category_info) {
    146 				$data['categories'][] = array(
    147 					'category_id' 	=> $category_info['category_id'],
    148 					'name' 			=> ($category_info['path']) ? $category_info['path'] . ' &gt; ' . $category_info['name'] : $category_info['name']
    149 				);
    150 			}
    151 		}
    152 
    153 		try {
    154 			$data['divido_plans'] = $this->model_extension_payment_divido->getAllPlans();
    155 		} catch (Exception $e) {
    156 			$this->log->write($e->getMessage());
    157 			$data['divido_plans'] = array();
    158 		}
    159 
    160 		$data['user_token'] = $this->session->data['user_token'];
    161 
    162 		$data['header'] = $this->load->controller('common/header');
    163 		$data['column_left'] = $this->load->controller('common/column_left');
    164 		$data['footer'] = $this->load->controller('common/footer');
    165 
    166 		$this->response->setOutput($this->load->view('extension/payment/divido', $data));
    167 	}
    168 
    169 
    170 	public function order() {
    171 		if (!$this->config->get('payment_divido_status')) {
    172 			return null;
    173 		}
    174 
    175 		$this->load->model('extension/payment/divido');
    176 		$this->load->language('extension/payment/divido');
    177 
    178 		$order_id = $this->request->get['order_id'];
    179 
    180 		$lookup = $this->model_extension_payment_divido->getLookupByOrderId($order_id);
    181 		$proposal_id = null;
    182 		$application_id = null;
    183 		$deposit_amount = null;
    184 		if ($lookup->num_rows == 1) {
    185 			$lookup_data = $lookup->row;
    186 			$proposal_id = $lookup_data['proposal_id'];
    187 			$application_id = $lookup_data['application_id'];
    188 			$deposit_amount = $lookup_data['deposit_amount'];
    189 		}
    190 
    191 		$data['proposal_id'] = $proposal_id;
    192 		$data['application_id'] = $application_id;
    193 		$data['deposit_amount'] = $deposit_amount;
    194 
    195 		return $this->load->view('extension/payment/divido_order', $data);
    196 	}
    197 
    198 	public function install() {
    199 		$this->load->model('extension/payment/divido');
    200 		$this->model_extension_payment_divido->install();
    201 	}
    202 
    203 	public function uninstall() {
    204 		$this->load->model('extension/payment/divido');
    205 		$this->model_extension_payment_divido->uninstall();
    206 	}
    207 
    208 	protected function validate() {
    209 		if (!$this->user->hasPermission('modify', 'extension/payment/divido')) {
    210 			$this->error['warning'] = $this->language->get('error_permission');
    211 		}
    212 
    213 		return !$this->error;
    214 	}
    215 }