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