shop.balmet.com

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

recurring.php (8089B)


      1 <?php
      2 class ControllerAccountRecurring extends Controller {
      3 	public function index() {
      4 		if (!$this->customer->isLogged()) {
      5 			$this->session->data['redirect'] = $this->url->link('account/recurring', '', true);
      6 
      7 			$this->response->redirect($this->url->link('account/login', '', true));
      8 		}
      9 
     10 		$this->load->language('account/recurring');
     11 
     12 		$this->document->setTitle($this->language->get('heading_title'));
     13 
     14 		$url = '';
     15 
     16 		if (isset($this->request->get['page'])) {
     17 			$url .= '&page=' . $this->request->get['page'];
     18 		}
     19 
     20 		$data['breadcrumbs'] = array();
     21 
     22 		$data['breadcrumbs'][] = array(
     23 			'text' => $this->language->get('text_home'),
     24 			'href' => $this->url->link('common/home')
     25 		);
     26 
     27 		$data['breadcrumbs'][] = array(
     28 			'text' => $this->language->get('text_account'),
     29 			'href' => $this->url->link('account/account', '', true)
     30 		);
     31 
     32 		$data['breadcrumbs'][] = array(
     33 			'text' => $this->language->get('heading_title'),
     34 			'href' => $this->url->link('account/recurring', $url, true)
     35 		);
     36 
     37 		if (isset($this->request->get['page'])) {
     38 			$page = $this->request->get['page'];
     39 		} else {
     40 			$page = 1;
     41 		}
     42 
     43 		$data['recurrings'] = array();
     44 
     45 		$this->load->model('account/recurring');
     46 
     47 		$recurring_total = $this->model_account_recurring->getTotalOrderRecurrings();
     48 
     49 		$results = $this->model_account_recurring->getOrderRecurrings(($page - 1) * 10, 10);
     50 
     51 		foreach ($results as $result) {
     52 			if ($result['status']) {
     53 				$status = $this->language->get('text_status_' . $result['status']);
     54 			} else {
     55 				$status = '';
     56 			}
     57 
     58 			$data['recurrings'][] = array(
     59 				'order_recurring_id' => $result['order_recurring_id'],
     60 				'product'            => $result['product_name'],
     61 				'status'             => $status,
     62 				'date_added'         => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
     63 				'view'               => $this->url->link('account/recurring/info', 'order_recurring_id=' . $result['order_recurring_id'], true),
     64 			);
     65 		}
     66 
     67 		$pagination = new Pagination();
     68 		$pagination->total = $recurring_total;
     69 		$pagination->page = $page;
     70 		$pagination->limit = 10;
     71 		$pagination->text = $this->language->get('text_pagination');
     72 		$pagination->url = $this->url->link('account/recurring', 'page={page}', true);
     73 
     74 		$data['pagination'] = $pagination->render();
     75 
     76 		$data['continue'] = $this->url->link('account/account', '', true);
     77 
     78 		$data['column_left'] = $this->load->controller('common/column_left');
     79 		$data['column_right'] = $this->load->controller('common/column_right');
     80 		$data['content_top'] = $this->load->controller('common/content_top');
     81 		$data['content_bottom'] = $this->load->controller('common/content_bottom');
     82 		$data['footer'] = $this->load->controller('common/footer');
     83 		$data['header'] = $this->load->controller('common/header');
     84 
     85 		$this->response->setOutput($this->load->view('account/recurring_list', $data));
     86 	}
     87 
     88 	public function info() {
     89 		$this->load->language('account/recurring');
     90 
     91 		if (isset($this->request->get['order_recurring_id'])) {
     92 			$order_recurring_id = $this->request->get['order_recurring_id'];
     93 		} else {
     94 			$order_recurring_id = 0;
     95 		}
     96 
     97 		if (!$this->customer->isLogged()) {
     98 			$this->session->data['redirect'] = $this->url->link('account/recurring/info', 'order_recurring_id=' . $order_recurring_id, true);
     99 
    100 			$this->response->redirect($this->url->link('account/login', '', true));
    101 		}
    102 
    103 		$this->load->model('account/recurring');
    104 
    105 		$recurring_info = $this->model_account_recurring->getOrderRecurring($order_recurring_id);
    106 
    107 		if ($recurring_info) {
    108 			$this->document->setTitle($this->language->get('text_recurring'));
    109 
    110 			$url = '';
    111 
    112 			if (isset($this->request->get['page'])) {
    113 				$url .= '&page=' . $this->request->get['page'];
    114 			}
    115 
    116 			$data['breadcrumbs'] = array();
    117 
    118 			$data['breadcrumbs'][] = array(
    119 				'text' => $this->language->get('text_home'),
    120 				'href' => $this->url->link('common/home'),
    121 			);
    122 
    123 			$data['breadcrumbs'][] = array(
    124 				'text' => $this->language->get('text_account'),
    125 				'href' => $this->url->link('account/account', '', true),
    126 			);
    127 
    128 			$data['breadcrumbs'][] = array(
    129 				'text' => $this->language->get('heading_title'),
    130 				'href' => $this->url->link('account/recurring', $url, true),
    131 			);
    132 
    133 			$data['breadcrumbs'][] = array(
    134 				'text' => $this->language->get('text_recurring'),
    135 				'href' => $this->url->link('account/recurring/info', 'order_recurring_id=' . $this->request->get['order_recurring_id'] . $url, true),
    136 			);
    137 
    138 			$data['order_recurring_id'] = $this->request->get['order_recurring_id'];
    139 			$data['date_added'] = date($this->language->get('date_format_short'), strtotime($recurring_info['date_added']));
    140 
    141 			if ($recurring_info['status']) {
    142 				$data['status'] = $this->language->get('text_status_' . $recurring_info['status']);
    143 			} else {
    144 				$data['status'] = '';
    145 			}
    146 
    147 			$data['payment_method'] = $recurring_info['payment_method'];
    148 
    149 			$data['order_id'] = $recurring_info['order_id'];
    150 			$data['product_name'] = $recurring_info['product_name'];
    151 			$data['product_quantity'] = $recurring_info['product_quantity'];
    152 			$data['recurring_description'] = $recurring_info['recurring_description'];
    153 			$data['reference'] = $recurring_info['reference'];
    154 
    155 			// Transactions
    156 			$data['transactions'] = array();
    157 
    158 			$results = $this->model_account_recurring->getOrderRecurringTransactions($this->request->get['order_recurring_id']);
    159 
    160 			foreach ($results as $result) {
    161 				$data['transactions'][] = array(
    162 					'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
    163 					'type'       => $result['type'],
    164 					'amount'     => $this->currency->format($result['amount'], $recurring_info['currency_code'])
    165 				);
    166 			}
    167 
    168 			$data['order'] = $this->url->link('account/order/info', 'order_id=' . $recurring_info['order_id'], true);
    169 			$data['product'] = $this->url->link('product/product', 'product_id=' . $recurring_info['product_id'], true);
    170 
    171 			$data['recurring'] = $this->load->controller('extension/recurring/' . $recurring_info['payment_code']);
    172 
    173 			$data['column_left'] = $this->load->controller('common/column_left');
    174 			$data['column_right'] = $this->load->controller('common/column_right');
    175 			$data['content_top'] = $this->load->controller('common/content_top');
    176 			$data['content_bottom'] = $this->load->controller('common/content_bottom');
    177 			$data['footer'] = $this->load->controller('common/footer');
    178 			$data['header'] = $this->load->controller('common/header');
    179 
    180 			$this->response->setOutput($this->load->view('account/recurring_info', $data));
    181 		} else {
    182 			$this->document->setTitle($this->language->get('text_recurring'));
    183 
    184 			$data['breadcrumbs'] = array();
    185 
    186 			$data['breadcrumbs'][] = array(
    187 				'text' => $this->language->get('text_home'),
    188 				'href' => $this->url->link('common/home')
    189 			);
    190 
    191 			$data['breadcrumbs'][] = array(
    192 				'text' => $this->language->get('text_account'),
    193 				'href' => $this->url->link('account/account', '', true)
    194 			);
    195 
    196 			$data['breadcrumbs'][] = array(
    197 				'text' => $this->language->get('heading_title'),
    198 				'href' => $this->url->link('account/recurring', '', true)
    199 			);
    200 
    201 			$data['breadcrumbs'][] = array(
    202 				'text' => $this->language->get('text_recurring'),
    203 				'href' => $this->url->link('account/recurring/info', 'order_recurring_id=' . $order_recurring_id, true)
    204 			);
    205 
    206 			$data['continue'] = $this->url->link('account/recurring', '', true);
    207 
    208 			$data['column_left'] = $this->load->controller('common/column_left');
    209 			$data['column_right'] = $this->load->controller('common/column_right');
    210 			$data['content_top'] = $this->load->controller('common/content_top');
    211 			$data['content_bottom'] = $this->load->controller('common/content_bottom');
    212 			$data['footer'] = $this->load->controller('common/footer');
    213 			$data['header'] = $this->load->controller('common/header');
    214 
    215 			$this->response->setOutput($this->load->view('error/not_found', $data));
    216 		}
    217 	}
    218 }