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 }