amazon_pay.php (4201B)
1 <?php 2 class ControllerExtensionModuleAmazonPay extends Controller { 3 4 private $error = array(); 5 6 public function index() { 7 $this->load->language('extension/module/amazon_pay'); 8 9 $this->load->model('setting/setting'); 10 $this->load->model('design/layout'); 11 12 $this->document->setTitle($this->language->get('heading_title')); 13 14 if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { 15 $this->model_setting_setting->editSetting('module_amazon_pay', $this->request->post); 16 17 $this->session->data['success'] = $this->language->get('text_success'); 18 19 $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true)); 20 } 21 22 if (isset($this->error['warning'])) { 23 $data['error_warning'] = $this->error['warning']; 24 } else { 25 $data['error_warning'] = ''; 26 } 27 28 $data['breadcrumbs'] = array(); 29 30 $data['breadcrumbs'][] = array( 31 'text' => $this->language->get('text_home'), 32 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true), 33 'separator' => false 34 ); 35 36 $data['breadcrumbs'][] = array( 37 'text' => $this->language->get('text_extension'), 38 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true), 39 'separator' => ' :: ' 40 ); 41 42 $data['breadcrumbs'][] = array( 43 'text' => $this->language->get('heading_title'), 44 'href' => $this->url->link('extension/module/amazon_pay', 'user_token=' . $this->session->data['user_token'], true), 45 'separator' => ' :: ' 46 ); 47 48 $data['action'] = $this->url->link('extension/module/amazon_pay', 'user_token=' . $this->session->data['user_token'], true); 49 50 $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true); 51 52 $data['user_token'] = $this->session->data['user_token']; 53 54 if (isset($this->request->post['amazon_pay_button_type'])) { 55 $data['amazon_pay_button_type'] = $this->request->post['amazon_pay_button_type']; 56 } elseif ($this->config->get('amazon_pay_button_type')) { 57 $data['amazon_pay_button_type'] = $this->config->get('amazon_pay_button_type'); 58 } else { 59 $data['amazon_pay_button_type'] = 'PwA'; 60 } 61 62 if (isset($this->request->post['amazon_pay_button_colour'])) { 63 $data['amazon_pay_button_colour'] = $this->request->post['amazon_pay_button_colour']; 64 } elseif ($this->config->get('amazon_pay_button_colour')) { 65 $data['amazon_pay_button_colour'] = $this->config->get('amazon_pay_button_colour'); 66 } else { 67 $data['amazon_pay_button_colour'] = 'gold'; 68 } 69 70 if (isset($this->request->post['amazon_pay_button_size'])) { 71 $data['amazon_pay_button_size'] = $this->request->post['amazon_pay_button_size']; 72 } elseif ($this->config->get('amazon_pay_button_size')) { 73 $data['amazon_pay_button_size'] = $this->config->get('amazon_pay_button_size'); 74 } else { 75 $data['amazon_pay_button_size'] = 'medium'; 76 } 77 78 if (isset($this->request->post['amazon_pay_status'])) { 79 $data['amazon_pay_status'] = $this->request->post['amazon_pay_status']; 80 } else { 81 $data['amazon_pay_status'] = $this->config->get('amazon_pay_status'); 82 } 83 84 $data['header'] = $this->load->controller('common/header'); 85 $data['column_left'] = $this->load->controller('common/column_left'); 86 $data['footer'] = $this->load->controller('common/footer'); 87 88 $this->response->setOutput($this->load->view('extension/module/amazon_pay', $data)); 89 } 90 91 protected function validate() { 92 if (!$this->user->hasPermission('modify', 'extension/module/amazon_pay')) { 93 $this->error['warning'] = $this->language->get('error_permission'); 94 } 95 96 return !$this->error; 97 } 98 99 public function install() { 100 $this->load->model('marketplace/event'); 101 $this->model_setting_event->addEvent('amazon_pay', 'catalog/controller/account/logout/after', 'extension/module/amazon_pay/logout'); 102 } 103 104 public function uninstall() { 105 $this->load->model('marketplace/event'); 106 $this->model_setting_event->deleteEventByCode('amazon_pay'); 107 } 108 109 }