dench1k

add project files

Showing 1000 changed files with 5055 additions and 0 deletions

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

1 +.idea/
2 +system/cache/*
3 +system/storage/cache/*
4 +/config_db.php
5 +/config.php
6 +/admin/config.php
7 +*.log
8 +admin/price/*
9 +image/cache/*
10 +/.htaccess
11 +robots.txt
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +// HTTP
3 +define('HTTP_SERVER', 'http://' . $_SERVER['HTTP_HOST'] . '/admin/');
4 +define('HTTP_CATALOG', 'http://' . $_SERVER['HTTP_HOST'] . '/');
5 +
6 +// HTTPS
7 +define('HTTPS_SERVER', 'http://' . $_SERVER['HTTP_HOST'] . '/admin/');
8 +define('HTTPS_CATALOG', 'http://' . $_SERVER['HTTP_HOST'] . '/');
9 +
10 +// DIR
11 +define('DIR_APPLICATION', $_SERVER['DOCUMENT_ROOT'] . '/admin/');
12 +define('DIR_SYSTEM', $_SERVER['DOCUMENT_ROOT'] . '/system/');
13 +define('DIR_IMAGE', $_SERVER['DOCUMENT_ROOT'] . '/image/');
14 +define('DIR_LANGUAGE', $_SERVER['DOCUMENT_ROOT'] . '/admin/language/');
15 +define('DIR_TEMPLATE', $_SERVER['DOCUMENT_ROOT'] . '/admin/view/template/');
16 +define('DIR_CONFIG', $_SERVER['DOCUMENT_ROOT'] . '/system/config/');
17 +define('DIR_CACHE', $_SERVER['DOCUMENT_ROOT'] . '/system/storage/cache/');
18 +define('DIR_DOWNLOAD', $_SERVER['DOCUMENT_ROOT'] . '/system/storage/download/');
19 +define('DIR_LOGS', $_SERVER['DOCUMENT_ROOT'] . '/system/storage/logs/');
20 +define('DIR_MODIFICATION', $_SERVER['DOCUMENT_ROOT'] . '/system/storage/modification/');
21 +define('DIR_UPLOAD', $_SERVER['DOCUMENT_ROOT'] . '/system/storage/upload/');
22 +define('DIR_CATALOG', $_SERVER['DOCUMENT_ROOT'] . '/catalog/');
23 +
24 +// DB
25 +define('DB_DRIVER', 'mysqli');
26 +define('DB_HOSTNAME', 'localhost');
27 +define('DB_USERNAME', '');
28 +define('DB_PASSWORD', '');
29 +define('DB_DATABASE', '');
30 +define('DB_PORT', '3306');
31 +define('DB_PREFIX', '');
1 +<?php
2 +class ControllerAnalyticsGoogleAnalytics extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('analytics/google_analytics');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('google_analytics', $this->request->post, $this->request->get['store_id']);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/analytics', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 + $data['text_signup'] = $this->language->get('text_signup');
26 +
27 + $data['entry_code'] = $this->language->get('entry_code');
28 + $data['entry_status'] = $this->language->get('entry_status');
29 +
30 + $data['button_save'] = $this->language->get('button_save');
31 + $data['button_cancel'] = $this->language->get('button_cancel');
32 +
33 + if (isset($this->error['warning'])) {
34 + $data['error_warning'] = $this->error['warning'];
35 + } else {
36 + $data['error_warning'] = '';
37 + }
38 +
39 + if (isset($this->error['code'])) {
40 + $data['error_code'] = $this->error['code'];
41 + } else {
42 + $data['error_code'] = '';
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', 'token=' . $this->session->data['token'], true)
50 + );
51 +
52 + $data['breadcrumbs'][] = array(
53 + 'text' => $this->language->get('text_analytics'),
54 + 'href' => $this->url->link('extension/analytics', 'token=' . $this->session->data['token'], true)
55 + );
56 +
57 + $data['breadcrumbs'][] = array(
58 + 'text' => $this->language->get('heading_title'),
59 + 'href' => $this->url->link('analytics/google_analytics', 'token=' . $this->session->data['token'], true)
60 + );
61 +
62 + $data['action'] = $this->url->link('analytics/google_analytics', 'token=' . $this->session->data['token'], true);
63 +
64 + $data['cancel'] = $this->url->link('extension/analytics', 'token=' . $this->session->data['token'], true);
65 +
66 + $data['token'] = $this->session->data['token'];
67 +
68 + if (isset($this->request->post['google_analytics_code'])) {
69 + $data['google_analytics_code'] = $this->request->post['google_analytics_code'];
70 + } else {
71 + $data['google_analytics_code'] = $this->config->get('google_analytics_code');
72 + }
73 +
74 + if (isset($this->request->post['google_analytics_status'])) {
75 + $data['google_analytics_status'] = $this->request->post['google_analytics_status'];
76 + } else {
77 + $data['google_analytics_status'] = $this->config->get('google_analytics_status');
78 + }
79 +
80 + $data['header'] = $this->load->controller('common/header');
81 + $data['column_left'] = $this->load->controller('common/column_left');
82 + $data['footer'] = $this->load->controller('common/footer');
83 +
84 + $this->response->setOutput($this->load->view('analytics/google_analytics', $data));
85 + }
86 +
87 + protected function validate() {
88 + if (!$this->user->hasPermission('modify', 'analytics/google_analytics')) {
89 + $this->error['warning'] = $this->language->get('error_permission');
90 + }
91 +
92 + if (!$this->request->post['google_analytics_code']) {
93 + $this->error['code'] = $this->language->get('error_code');
94 + }
95 +
96 + return !$this->error;
97 + }
98 +}
1 +<?php
2 +class ControllerCaptchaBasicCaptcha extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('captcha/basic_captcha');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('basic_captcha', $this->request->post);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 +
26 + $data['entry_status'] = $this->language->get('entry_status');
27 +
28 + $data['button_save'] = $this->language->get('button_save');
29 + $data['button_cancel'] = $this->language->get('button_cancel');
30 +
31 + if (isset($this->error['warning'])) {
32 + $data['error_warning'] = $this->error['warning'];
33 + } else {
34 + $data['error_warning'] = '';
35 + }
36 +
37 + $data['breadcrumbs'] = array();
38 +
39 + $data['breadcrumbs'][] = array(
40 + 'text' => $this->language->get('text_home'),
41 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
42 + );
43 +
44 + $data['breadcrumbs'][] = array(
45 + 'text' => $this->language->get('text_captcha'),
46 + 'href' => $this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true)
47 + );
48 +
49 + $data['breadcrumbs'][] = array(
50 + 'text' => $this->language->get('heading_title'),
51 + 'href' => $this->url->link('captcha/basic_captcha', 'token=' . $this->session->data['token'], true)
52 + );
53 +
54 + $data['action'] = $this->url->link('captcha/basic_captcha', 'token=' . $this->session->data['token'], true);
55 +
56 + $data['cancel'] = $this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true);
57 +
58 + if (isset($this->request->post['basic_captcha_status'])) {
59 + $data['basic_captcha_status'] = $this->request->post['basic_captcha_status'];
60 + } else {
61 + $data['basic_captcha_status'] = $this->config->get('basic_captcha_status');
62 + }
63 +
64 + $data['header'] = $this->load->controller('common/header');
65 + $data['column_left'] = $this->load->controller('common/column_left');
66 + $data['footer'] = $this->load->controller('common/footer');
67 +
68 + $this->response->setOutput($this->load->view('captcha/basic_captcha', $data));
69 + }
70 +
71 + protected function validate() {
72 + if (!$this->user->hasPermission('modify', 'captcha/basic_captcha')) {
73 + $this->error['warning'] = $this->language->get('error_permission');
74 + }
75 +
76 + return !$this->error;
77 + }
78 +}
1 +<?php
2 +class ControllerCaptchaGoogleCaptcha extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('captcha/google_captcha');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('google_captcha', $this->request->post);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 + $data['text_signup'] = $this->language->get('text_signup');
26 +
27 + $data['entry_key'] = $this->language->get('entry_key');
28 + $data['entry_secret'] = $this->language->get('entry_secret');
29 + $data['entry_status'] = $this->language->get('entry_status');
30 +
31 + $data['button_save'] = $this->language->get('button_save');
32 + $data['button_cancel'] = $this->language->get('button_cancel');
33 +
34 + if (isset($this->error['warning'])) {
35 + $data['error_warning'] = $this->error['warning'];
36 + } else {
37 + $data['error_warning'] = '';
38 + }
39 +
40 + if (isset($this->error['key'])) {
41 + $data['error_key'] = $this->error['key'];
42 + } else {
43 + $data['error_key'] = '';
44 + }
45 +
46 + if (isset($this->error['secret'])) {
47 + $data['error_secret'] = $this->error['secret'];
48 + } else {
49 + $data['error_secret'] = '';
50 + }
51 +
52 + $data['breadcrumbs'] = array();
53 +
54 + $data['breadcrumbs'][] = array(
55 + 'text' => $this->language->get('text_home'),
56 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
57 + );
58 +
59 + $data['breadcrumbs'][] = array(
60 + 'text' => $this->language->get('text_captcha'),
61 + 'href' => $this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true)
62 + );
63 +
64 + $data['breadcrumbs'][] = array(
65 + 'text' => $this->language->get('heading_title'),
66 + 'href' => $this->url->link('captcha/google_captcha', 'token=' . $this->session->data['token'], true)
67 + );
68 +
69 + $data['action'] = $this->url->link('captcha/google_captcha', 'token=' . $this->session->data['token'], true);
70 +
71 + $data['cancel'] = $this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true);
72 +
73 + if (isset($this->request->post['google_captcha_key'])) {
74 + $data['google_captcha_key'] = $this->request->post['google_captcha_key'];
75 + } else {
76 + $data['google_captcha_key'] = $this->config->get('google_captcha_key');
77 + }
78 +
79 + if (isset($this->request->post['google_captcha_secret'])) {
80 + $data['google_captcha_secret'] = $this->request->post['google_captcha_secret'];
81 + } else {
82 + $data['google_captcha_secret'] = $this->config->get('google_captcha_secret');
83 + }
84 +
85 + if (isset($this->request->post['google_captcha_status'])) {
86 + $data['google_captcha_status'] = $this->request->post['google_captcha_status'];
87 + } else {
88 + $data['google_captcha_status'] = $this->config->get('google_captcha_status');
89 + }
90 +
91 + $data['header'] = $this->load->controller('common/header');
92 + $data['column_left'] = $this->load->controller('common/column_left');
93 + $data['footer'] = $this->load->controller('common/footer');
94 +
95 + $this->response->setOutput($this->load->view('captcha/google_captcha', $data));
96 + }
97 +
98 + protected function validate() {
99 + if (!$this->user->hasPermission('modify', 'captcha/google_captcha')) {
100 + $this->error['warning'] = $this->language->get('error_permission');
101 + }
102 +
103 + if (!$this->request->post['google_captcha_key']) {
104 + $this->error['key'] = $this->language->get('error_key');
105 + }
106 +
107 + if (!$this->request->post['google_captcha_secret']) {
108 + $this->error['secret'] = $this->language->get('error_secret');
109 + }
110 +
111 + return !$this->error;
112 + }
113 +}
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerCommonColumnLeft extends Controller {
3 + public function index() {
4 + if (isset($this->request->get['token']) && isset($this->session->data['token']) && ($this->request->get['token'] == $this->session->data['token'])) {
5 + $data['profile'] = $this->load->controller('common/profile');
6 + $data['menu'] = $this->load->controller('common/menu');
7 + $data['stats'] = $this->load->controller('common/stats');
8 +
9 + return $this->load->view('common/column_left', $data);
10 + }
11 + }
12 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerCommonDashboard extends Controller {
3 + public function index() {
4 + $this->load->language('common/dashboard');
5 +
6 + $this->document->setTitle($this->language->get('heading_title'));
7 +
8 + $data['heading_title'] = $this->language->get('heading_title');
9 +
10 + $data['text_sale'] = $this->language->get('text_sale');
11 + $data['text_map'] = $this->language->get('text_map');
12 + $data['text_activity'] = $this->language->get('text_activity');
13 + $data['text_recent'] = $this->language->get('text_recent');
14 +
15 + $data['breadcrumbs'] = array();
16 +
17 + $data['breadcrumbs'][] = array(
18 + 'text' => $this->language->get('text_home'),
19 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
20 + );
21 +
22 + $data['breadcrumbs'][] = array(
23 + 'text' => $this->language->get('heading_title'),
24 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
25 + );
26 +
27 + // Check install directory exists
28 + if (is_dir(dirname(DIR_APPLICATION) . '/install')) {
29 + $data['error_install'] = $this->language->get('error_install');
30 + } else {
31 + $data['error_install'] = '';
32 + }
33 +
34 + $data['token'] = $this->session->data['token'];
35 +
36 + $data['header'] = $this->load->controller('common/header');
37 + $data['column_left'] = $this->load->controller('common/column_left');
38 + $data['order'] = $this->load->controller('dashboard/order');
39 + $data['sale'] = $this->load->controller('dashboard/sale');
40 + $data['customer'] = $this->load->controller('dashboard/customer');
41 + $data['online'] = $this->load->controller('dashboard/online');
42 + $data['map'] = $this->load->controller('dashboard/map');
43 + $data['chart'] = $this->load->controller('dashboard/chart');
44 + $data['activity'] = $this->load->controller('dashboard/activity');
45 + $data['recent'] = $this->load->controller('dashboard/recent');
46 + $data['footer'] = $this->load->controller('common/footer');
47 +
48 + // Run currency update
49 + if ($this->config->get('config_currency_auto')) {
50 + $this->load->model('localisation/currency');
51 +
52 + $this->model_localisation_currency->refresh();
53 + }
54 +
55 + $this->response->setOutput($this->load->view('common/dashboard', $data));
56 + }
57 +}
...\ No newline at end of file ...\ No newline at end of file
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerCommonFooter extends Controller {
3 + public function index() {
4 + $this->load->language('common/footer');
5 +
6 + $data['text_footer'] = $this->language->get('text_footer');
7 +
8 + if ($this->user->isLogged() && isset($this->request->get['token']) && ($this->request->get['token'] == $this->session->data['token'])) {
9 + $data['text_version'] = sprintf($this->language->get('text_version'), VERSION);
10 + } else {
11 + $data['text_version'] = '';
12 + }
13 +
14 + return $this->load->view('common/footer', $data);
15 + }
16 +}
1 +<?php
2 +class ControllerCommonForgotten extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + if ($this->user->isLogged() && isset($this->request->get['token']) && ($this->request->get['token'] == $this->session->data['token'])) {
7 + $this->response->redirect($this->url->link('common/dashboard', '', true));
8 + }
9 +
10 + if (!$this->config->get('config_password')) {
11 + $this->response->redirect($this->url->link('common/login', '', true));
12 + }
13 +
14 + $this->load->language('common/forgotten');
15 +
16 + $this->document->setTitle($this->language->get('heading_title'));
17 +
18 + $this->load->model('user/user');
19 +
20 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
21 + $this->load->language('mail/forgotten');
22 +
23 + $code = token(40);
24 +
25 + $this->model_user_user->editCode($this->request->post['email'], $code);
26 +
27 + $subject = sprintf($this->language->get('text_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'));
28 +
29 + $message = sprintf($this->language->get('text_greeting'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8')) . "\n\n";
30 + $message .= $this->language->get('text_change') . "\n\n";
31 + $message .= $this->url->link('common/reset', 'code=' . $code, true) . "\n\n";
32 + $message .= sprintf($this->language->get('text_ip'), $this->request->server['REMOTE_ADDR']) . "\n\n";
33 +
34 + $mail = new Mail();
35 + $mail->protocol = $this->config->get('config_mail_protocol');
36 + $mail->parameter = $this->config->get('config_mail_parameter');
37 + $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
38 + $mail->smtp_username = $this->config->get('config_mail_smtp_username');
39 + $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
40 + $mail->smtp_port = $this->config->get('config_mail_smtp_port');
41 + $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');
42 +
43 + $mail->setTo($this->request->post['email']);
44 + $mail->setFrom($this->config->get('config_email'));
45 + $mail->setSender(html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'));
46 + $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
47 + $mail->setText(html_entity_decode($message, ENT_QUOTES, 'UTF-8'));
48 + $mail->send();
49 +
50 + $this->session->data['success'] = $this->language->get('text_success');
51 +
52 + $this->response->redirect($this->url->link('common/login', '', true));
53 + }
54 +
55 + $data['heading_title'] = $this->language->get('heading_title');
56 +
57 + $data['text_your_email'] = $this->language->get('text_your_email');
58 + $data['text_email'] = $this->language->get('text_email');
59 +
60 + $data['entry_email'] = $this->language->get('entry_email');
61 +
62 + $data['button_reset'] = $this->language->get('button_reset');
63 + $data['button_cancel'] = $this->language->get('button_cancel');
64 +
65 + if (isset($this->error['warning'])) {
66 + $data['error_warning'] = $this->error['warning'];
67 + } else {
68 + $data['error_warning'] = '';
69 + }
70 +
71 + $data['breadcrumbs'] = array();
72 +
73 + $data['breadcrumbs'][] = array(
74 + 'text' => $this->language->get('text_home'),
75 + 'href' => $this->url->link('common/dashboard', '', true)
76 + );
77 +
78 + $data['breadcrumbs'][] = array(
79 + 'text' => $this->language->get('heading_title'),
80 + 'href' => $this->url->link('common/forgotten', 'token=' . '', true)
81 + );
82 +
83 + $data['action'] = $this->url->link('common/forgotten', '', true);
84 +
85 + $data['cancel'] = $this->url->link('common/login', '', true);
86 +
87 + if (isset($this->request->post['email'])) {
88 + $data['email'] = $this->request->post['email'];
89 + } else {
90 + $data['email'] = '';
91 + }
92 +
93 + $data['header'] = $this->load->controller('common/header');
94 + $data['footer'] = $this->load->controller('common/footer');
95 +
96 + $this->response->setOutput($this->load->view('common/forgotten', $data));
97 + }
98 +
99 + protected function validate() {
100 + if (!isset($this->request->post['email'])) {
101 + $this->error['warning'] = $this->language->get('error_email');
102 + } elseif (!$this->model_user_user->getTotalUsersByEmail($this->request->post['email'])) {
103 + $this->error['warning'] = $this->language->get('error_email');
104 + }
105 +
106 + return !$this->error;
107 + }
108 +}
1 +<?php
2 +class ControllerCommonHeader extends Controller {
3 + public function index() {
4 + $data['title'] = $this->document->getTitle();
5 +
6 + if ($this->request->server['HTTPS']) {
7 + $data['base'] = HTTPS_SERVER;
8 + } else {
9 + $data['base'] = HTTP_SERVER;
10 + }
11 +
12 + $data['description'] = $this->document->getDescription();
13 + $data['keywords'] = $this->document->getKeywords();
14 + $data['links'] = $this->document->getLinks();
15 + $data['styles'] = $this->document->getStyles();
16 + $data['scripts'] = $this->document->getScripts();
17 + $data['lang'] = $this->language->get('code');
18 + $data['direction'] = $this->language->get('direction');
19 +
20 + $this->load->language('common/header');
21 +
22 + $data['heading_title'] = $this->language->get('heading_title');
23 +
24 + $data['text_order'] = $this->language->get('text_order');
25 + $data['text_processing_status'] = $this->language->get('text_processing_status');
26 + $data['text_complete_status'] = $this->language->get('text_complete_status');
27 + $data['text_return'] = $this->language->get('text_return');
28 + $data['text_customer'] = $this->language->get('text_customer');
29 + $data['text_online'] = $this->language->get('text_online');
30 + $data['text_approval'] = $this->language->get('text_approval');
31 + $data['text_product'] = $this->language->get('text_product');
32 + $data['text_stock'] = $this->language->get('text_stock');
33 + $data['text_review'] = $this->language->get('text_review');
34 + $data['text_affiliate'] = $this->language->get('text_affiliate');
35 + $data['text_store'] = $this->language->get('text_store');
36 + $data['text_front'] = $this->language->get('text_front');
37 + $data['text_help'] = $this->language->get('text_help');
38 + $data['text_homepage'] = $this->language->get('text_homepage');
39 + $data['text_documentation'] = $this->language->get('text_documentation');
40 + $data['text_support'] = $this->language->get('text_support');
41 + $data['text_logged'] = sprintf($this->language->get('text_logged'), $this->user->getUserName());
42 + $data['text_logout'] = $this->language->get('text_logout');
43 +
44 + if (!isset($this->request->get['token']) || !isset($this->session->data['token']) || ($this->request->get['token'] != $this->session->data['token'])) {
45 + $data['logged'] = '';
46 +
47 + $data['home'] = $this->url->link('common/dashboard', '', true);
48 + } else {
49 + $data['logged'] = true;
50 +
51 + $data['home'] = $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true);
52 + $data['logout'] = $this->url->link('common/logout', 'token=' . $this->session->data['token'], true);
53 +
54 + // Orders
55 + $this->load->model('sale/order');
56 +
57 + // Processing Orders
58 + $data['processing_status_total'] = $this->model_sale_order->getTotalOrders(array('filter_order_status' => implode(',', $this->config->get('config_processing_status'))));
59 + $data['processing_status'] = $this->url->link('sale/order', 'token=' . $this->session->data['token'] . '&filter_order_status=' . implode(',', $this->config->get('config_processing_status')), true);
60 +
61 + // Complete Orders
62 + $data['complete_status_total'] = $this->model_sale_order->getTotalOrders(array('filter_order_status' => implode(',', $this->config->get('config_complete_status'))));
63 + $data['complete_status'] = $this->url->link('sale/order', 'token=' . $this->session->data['token'] . '&filter_order_status=' . implode(',', $this->config->get('config_complete_status')), true);
64 +
65 + // Returns
66 + $this->load->model('sale/return');
67 +
68 + $return_total = $this->model_sale_return->getTotalReturns(array('filter_return_status_id' => $this->config->get('config_return_status_id')));
69 +
70 + $data['return_total'] = $return_total;
71 +
72 + $data['return'] = $this->url->link('sale/return', 'token=' . $this->session->data['token'], true);
73 +
74 + // Customers
75 + $this->load->model('report/customer');
76 +
77 + $data['online_total'] = $this->model_report_customer->getTotalCustomersOnline();
78 +
79 + $data['online'] = $this->url->link('report/customer_online', 'token=' . $this->session->data['token'], true);
80 +
81 + $this->load->model('customer/customer');
82 +
83 + $customer_total = $this->model_customer_customer->getTotalCustomers(array('filter_approved' => false));
84 +
85 + $data['customer_total'] = $customer_total;
86 + $data['customer_approval'] = $this->url->link('customer/customer', 'token=' . $this->session->data['token'] . '&filter_approved=0', true);
87 +
88 + // Products
89 + $this->load->model('catalog/product');
90 +
91 + $product_total = $this->model_catalog_product->getTotalProducts(array('filter_quantity' => 0));
92 +
93 + $data['product_total'] = $product_total;
94 +
95 + $data['product'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&filter_quantity=0', true);
96 +
97 + // Reviews
98 + $this->load->model('catalog/review');
99 +
100 + $review_total = $this->model_catalog_review->getTotalReviews(array('filter_status' => false));
101 +
102 + $data['review_total'] = $review_total;
103 +
104 + $data['review'] = $this->url->link('catalog/review', 'token=' . $this->session->data['token'] . '&filter_status=0', true);
105 +
106 + // Affliate
107 + $this->load->model('marketing/affiliate');
108 +
109 + $affiliate_total = $this->model_marketing_affiliate->getTotalAffiliates(array('filter_approved' => false));
110 +
111 + $data['affiliate_total'] = $affiliate_total;
112 + $data['affiliate_approval'] = $this->url->link('marketing/affiliate', 'token=' . $this->session->data['token'] . '&filter_approved=1', true);
113 +
114 + $data['alerts'] = $customer_total + $product_total + $review_total + $return_total + $affiliate_total;
115 +
116 + // Online Stores
117 + $data['stores'] = array();
118 +
119 + $data['stores'][] = array(
120 + 'name' => $this->config->get('config_name'),
121 + 'href' => HTTP_CATALOG
122 + );
123 +
124 + $this->load->model('setting/store');
125 +
126 + $results = $this->model_setting_store->getStores();
127 +
128 + foreach ($results as $result) {
129 + $data['stores'][] = array(
130 + 'name' => $result['name'],
131 + 'href' => $result['url']
132 + );
133 + }
134 + }
135 +
136 + return $this->load->view('common/header', $data);
137 + }
138 +}
1 +<?php
2 +class ControllerCommonLogin extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('common/login');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + if ($this->user->isLogged() && isset($this->request->get['token']) && ($this->request->get['token'] == $this->session->data['token'])) {
11 + $this->response->redirect($this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true));
12 + }
13 +
14 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
15 + $this->session->data['token'] = token(32);
16 +
17 + if (isset($this->request->post['redirect']) && (strpos($this->request->post['redirect'], HTTP_SERVER) === 0 || strpos($this->request->post['redirect'], HTTPS_SERVER) === 0)) {
18 + $this->response->redirect($this->request->post['redirect'] . '&token=' . $this->session->data['token']);
19 + } else {
20 + $this->response->redirect($this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true));
21 + }
22 + }
23 +
24 + $data['heading_title'] = $this->language->get('heading_title');
25 +
26 + $data['text_login'] = $this->language->get('text_login');
27 + $data['text_forgotten'] = $this->language->get('text_forgotten');
28 +
29 + $data['entry_username'] = $this->language->get('entry_username');
30 + $data['entry_password'] = $this->language->get('entry_password');
31 +
32 + $data['button_login'] = $this->language->get('button_login');
33 +
34 + if ((isset($this->session->data['token']) && !isset($this->request->get['token'])) || ((isset($this->request->get['token']) && (isset($this->session->data['token']) && ($this->request->get['token'] != $this->session->data['token']))))) {
35 + $this->error['warning'] = $this->language->get('error_token');
36 + }
37 +
38 + if (isset($this->error['warning'])) {
39 + $data['error_warning'] = $this->error['warning'];
40 + } else {
41 + $data['error_warning'] = '';
42 + }
43 +
44 + if (isset($this->session->data['success'])) {
45 + $data['success'] = $this->session->data['success'];
46 +
47 + unset($this->session->data['success']);
48 + } else {
49 + $data['success'] = '';
50 + }
51 +
52 + $data['action'] = $this->url->link('common/login', '', true);
53 +
54 + if (isset($this->request->post['username'])) {
55 + $data['username'] = $this->request->post['username'];
56 + } else {
57 + $data['username'] = '';
58 + }
59 +
60 + if (isset($this->request->post['password'])) {
61 + $data['password'] = $this->request->post['password'];
62 + } else {
63 + $data['password'] = '';
64 + }
65 +
66 + if (isset($this->request->get['route'])) {
67 + $route = $this->request->get['route'];
68 +
69 + unset($this->request->get['route']);
70 + unset($this->request->get['token']);
71 +
72 + $url = '';
73 +
74 + if ($this->request->get) {
75 + $url .= http_build_query($this->request->get);
76 + }
77 +
78 + $data['redirect'] = $this->url->link($route, $url, true);
79 + } else {
80 + $data['redirect'] = '';
81 + }
82 +
83 + if ($this->config->get('config_password')) {
84 + $data['forgotten'] = $this->url->link('common/forgotten', '', true);
85 + } else {
86 + $data['forgotten'] = '';
87 + }
88 +
89 + $data['header'] = $this->load->controller('common/header');
90 + $data['footer'] = $this->load->controller('common/footer');
91 +
92 + $this->response->setOutput($this->load->view('common/login', $data));
93 + }
94 +
95 + protected function validate() {
96 + if (!isset($this->request->post['username']) || !isset($this->request->post['password']) || !$this->user->login($this->request->post['username'], html_entity_decode($this->request->post['password'], ENT_QUOTES, 'UTF-8'))) {
97 + $this->error['warning'] = $this->language->get('error_login');
98 + }
99 +
100 + return !$this->error;
101 + }
102 +}
1 +<?php
2 +class ControllerCommonLogout extends Controller {
3 + public function index() {
4 + $this->user->logout();
5 +
6 + unset($this->session->data['token']);
7 +
8 + $this->response->redirect($this->url->link('common/login', '', true));
9 + }
10 +}
...\ No newline at end of file ...\ No newline at end of file
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerCommonProfile extends Controller {
3 + public function index() {
4 + $this->load->language('common/menu');
5 +
6 + $this->load->model('user/user');
7 +
8 + $this->load->model('tool/image');
9 +
10 + $user_info = $this->model_user_user->getUser($this->user->getId());
11 +
12 + if ($user_info) {
13 + $data['firstname'] = $user_info['firstname'];
14 + $data['lastname'] = $user_info['lastname'];
15 + $data['username'] = $user_info['username'];
16 +
17 + $data['user_group'] = $user_info['user_group'] ;
18 +
19 + if (is_file(DIR_IMAGE . $user_info['image'])) {
20 + $data['image'] = $this->model_tool_image->resize($user_info['image'], 45, 45);
21 + } else {
22 + $data['image'] = '';
23 + }
24 + } else {
25 + $data['username'] = '';
26 + $data['image'] = '';
27 + }
28 +
29 + return $this->load->view('common/profile', $data);
30 + }
31 +}
1 +<?php
2 +class ControllerCommonReset extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + if ($this->user->isLogged() && isset($this->request->get['token']) && ($this->request->get['token'] == $this->session->data['token'])) {
7 + $this->response->redirect($this->url->link('common/dashboard', '', true));
8 + }
9 +
10 + if (!$this->config->get('config_password')) {
11 + $this->response->redirect($this->url->link('common/login', '', true));
12 + }
13 +
14 + if (isset($this->request->get['code'])) {
15 + $code = $this->request->get['code'];
16 + } else {
17 + $code = '';
18 + }
19 +
20 + $this->load->model('user/user');
21 +
22 + $user_info = $this->model_user_user->getUserByCode($code);
23 +
24 + if ($user_info) {
25 + $this->load->language('common/reset');
26 +
27 + $this->document->setTitle($this->language->get('heading_title'));
28 +
29 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
30 + $this->model_user_user->editPassword($user_info['user_id'], $this->request->post['password']);
31 +
32 + $this->session->data['success'] = $this->language->get('text_success');
33 +
34 + $this->response->redirect($this->url->link('common/login', '', true));
35 + }
36 +
37 + $data['heading_title'] = $this->language->get('heading_title');
38 +
39 + $data['text_password'] = $this->language->get('text_password');
40 +
41 + $data['entry_password'] = $this->language->get('entry_password');
42 + $data['entry_confirm'] = $this->language->get('entry_confirm');
43 +
44 + $data['button_save'] = $this->language->get('button_save');
45 + $data['button_cancel'] = $this->language->get('button_cancel');
46 +
47 + $data['breadcrumbs'] = array();
48 +
49 + $data['breadcrumbs'][] = array(
50 + 'text' => $this->language->get('text_home'),
51 + 'href' => $this->url->link('common/dashboard', '', true)
52 + );
53 +
54 + $data['breadcrumbs'][] = array(
55 + 'text' => $this->language->get('heading_title'),
56 + 'href' => $this->url->link('common/reset', '', true)
57 + );
58 +
59 + if (isset($this->error['password'])) {
60 + $data['error_password'] = $this->error['password'];
61 + } else {
62 + $data['error_password'] = '';
63 + }
64 +
65 + if (isset($this->error['confirm'])) {
66 + $data['error_confirm'] = $this->error['confirm'];
67 + } else {
68 + $data['error_confirm'] = '';
69 + }
70 +
71 + $data['action'] = $this->url->link('common/reset', 'code=' . $code, true);
72 +
73 + $data['cancel'] = $this->url->link('common/login', '', true);
74 +
75 + if (isset($this->request->post['password'])) {
76 + $data['password'] = $this->request->post['password'];
77 + } else {
78 + $data['password'] = '';
79 + }
80 +
81 + if (isset($this->request->post['confirm'])) {
82 + $data['confirm'] = $this->request->post['confirm'];
83 + } else {
84 + $data['confirm'] = '';
85 + }
86 +
87 + $data['header'] = $this->load->controller('common/header');
88 + $data['footer'] = $this->load->controller('common/footer');
89 +
90 + $this->response->setOutput($this->load->view('common/reset', $data));
91 + } else {
92 + $this->load->model('setting/setting');
93 +
94 + $this->model_setting_setting->editSettingValue('config', 'config_password', '0');
95 +
96 + return new Action('common/login');
97 + }
98 + }
99 +
100 + protected function validate() {
101 + if ((utf8_strlen($this->request->post['password']) < 4) || (utf8_strlen($this->request->post['password']) > 20)) {
102 + $this->error['password'] = $this->language->get('error_password');
103 + }
104 +
105 + if ($this->request->post['confirm'] != $this->request->post['password']) {
106 + $this->error['confirm'] = $this->language->get('error_confirm');
107 + }
108 +
109 + return !$this->error;
110 + }
111 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerCommonStats extends Controller {
3 + public function index() {
4 + $this->load->language('common/stats');
5 +
6 + $data['text_complete_status'] = $this->language->get('text_complete_status');
7 + $data['text_processing_status'] = $this->language->get('text_processing_status');
8 + $data['text_other_status'] = $this->language->get('text_other_status');
9 +
10 + $this->load->model('sale/order');
11 +
12 + $order_total = $this->model_sale_order->getTotalOrders();
13 +
14 + $complete_total = $this->model_sale_order->getTotalOrders(array('filter_order_status' => implode(',', $this->config->get('config_complete_status'))));
15 +
16 + if ($complete_total) {
17 + $data['complete_status'] = round(($complete_total / $order_total) * 100);
18 + } else {
19 + $data['complete_status'] = 0;
20 + }
21 +
22 + $processing_total = $this->model_sale_order->getTotalOrders(array('filter_order_status' => implode(',', $this->config->get('config_processing_status'))));
23 +
24 + if ($processing_total) {
25 + $data['processing_status'] = round(($processing_total / $order_total) * 100);
26 + } else {
27 + $data['processing_status'] = 0;
28 + }
29 +
30 + $this->load->model('localisation/order_status');
31 +
32 + $order_status_data = array();
33 +
34 + $results = $this->model_localisation_order_status->getOrderStatuses();
35 +
36 + foreach ($results as $result) {
37 + if (!in_array($result['order_status_id'], array_merge($this->config->get('config_complete_status'), $this->config->get('config_processing_status')))) {
38 + $order_status_data[] = $result['order_status_id'];
39 + }
40 + }
41 +
42 + $other_total = $this->model_sale_order->getTotalOrders(array('filter_order_status' => implode(',', $order_status_data)));
43 +
44 + if ($other_total) {
45 + $data['other_status'] = round(($other_total / $order_total) * 100);
46 + } else {
47 + $data['other_status'] = 0;
48 + }
49 +
50 + return $this->load->view('common/stats', $data);
51 + }
52 +}
...\ No newline at end of file ...\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerDashboardActivity extends Controller {
3 + public function index() {
4 + $this->load->language('dashboard/activity');
5 +
6 + $data['heading_title'] = $this->language->get('heading_title');
7 +
8 + $data['text_no_results'] = $this->language->get('text_no_results');
9 +
10 + $data['token'] = $this->session->data['token'];
11 +
12 + $data['activities'] = array();
13 +
14 + $this->load->model('report/activity');
15 +
16 + $results = $this->model_report_activity->getActivities();
17 +
18 + foreach ($results as $result) {
19 + $comment = vsprintf($this->language->get('text_' . $result['key']), json_decode($result['data'], true));
20 +
21 + $find = array(
22 + 'customer_id=',
23 + 'order_id=',
24 + 'affiliate_id=',
25 + 'return_id='
26 + );
27 +
28 + $replace = array(
29 + $this->url->link('customer/customer/edit', 'token=' . $this->session->data['token'] . '&customer_id=', true),
30 + $this->url->link('sale/order/info', 'token=' . $this->session->data['token'] . '&order_id=', true),
31 + $this->url->link('marketing/affiliate/edit', 'token=' . $this->session->data['token'] . '&affiliate_id=', true),
32 + $this->url->link('sale/return/edit', 'token=' . $this->session->data['token'] . '&return_id=', true)
33 + );
34 +
35 + $data['activities'][] = array(
36 + 'comment' => str_replace($find, $replace, $comment),
37 + 'date_added' => date($this->language->get('datetime_format'), strtotime($result['date_added']))
38 + );
39 + }
40 +
41 + return $this->load->view('dashboard/activity', $data);
42 + }
43 +}
1 +<?php
2 +class ControllerDashboardChart extends Controller {
3 + public function index() {
4 + $this->load->language('dashboard/chart');
5 +
6 + $data['heading_title'] = $this->language->get('heading_title');
7 +
8 + $data['text_day'] = $this->language->get('text_day');
9 + $data['text_week'] = $this->language->get('text_week');
10 + $data['text_month'] = $this->language->get('text_month');
11 + $data['text_year'] = $this->language->get('text_year');
12 + $data['text_view'] = $this->language->get('text_view');
13 +
14 + $data['token'] = $this->session->data['token'];
15 +
16 + return $this->load->view('dashboard/chart', $data);
17 + }
18 +
19 + public function chart() {
20 + $this->load->language('dashboard/chart');
21 +
22 + $json = array();
23 +
24 + $this->load->model('report/sale');
25 + $this->load->model('report/customer');
26 +
27 + $json['order'] = array();
28 + $json['customer'] = array();
29 + $json['xaxis'] = array();
30 +
31 + $json['order']['label'] = $this->language->get('text_order');
32 + $json['customer']['label'] = $this->language->get('text_customer');
33 + $json['order']['data'] = array();
34 + $json['customer']['data'] = array();
35 +
36 + if (isset($this->request->get['range'])) {
37 + $range = $this->request->get['range'];
38 + } else {
39 + $range = 'day';
40 + }
41 +
42 + switch ($range) {
43 + default:
44 + case 'day':
45 + $results = $this->model_report_sale->getTotalOrdersByDay();
46 +
47 + foreach ($results as $key => $value) {
48 + $json['order']['data'][] = array($key, $value['total']);
49 + }
50 +
51 + $results = $this->model_report_customer->getTotalCustomersByDay();
52 +
53 + foreach ($results as $key => $value) {
54 + $json['customer']['data'][] = array($key, $value['total']);
55 + }
56 +
57 + for ($i = 0; $i < 24; $i++) {
58 + $json['xaxis'][] = array($i, $i);
59 + }
60 + break;
61 + case 'week':
62 + $results = $this->model_report_sale->getTotalOrdersByWeek();
63 +
64 + foreach ($results as $key => $value) {
65 + $json['order']['data'][] = array($key, $value['total']);
66 + }
67 +
68 + $results = $this->model_report_customer->getTotalCustomersByWeek();
69 +
70 + foreach ($results as $key => $value) {
71 + $json['customer']['data'][] = array($key, $value['total']);
72 + }
73 +
74 + $date_start = strtotime('-' . date('w') . ' days');
75 +
76 + for ($i = 0; $i < 7; $i++) {
77 + $date = date('Y-m-d', $date_start + ($i * 86400));
78 +
79 + $json['xaxis'][] = array(date('w', strtotime($date)), date('D', strtotime($date)));
80 + }
81 + break;
82 + case 'month':
83 + $results = $this->model_report_sale->getTotalOrdersByMonth();
84 +
85 + foreach ($results as $key => $value) {
86 + $json['order']['data'][] = array($key, $value['total']);
87 + }
88 +
89 + $results = $this->model_report_customer->getTotalCustomersByMonth();
90 +
91 + foreach ($results as $key => $value) {
92 + $json['customer']['data'][] = array($key, $value['total']);
93 + }
94 +
95 + for ($i = 1; $i <= date('t'); $i++) {
96 + $date = date('Y') . '-' . date('m') . '-' . $i;
97 +
98 + $json['xaxis'][] = array(date('j', strtotime($date)), date('d', strtotime($date)));
99 + }
100 + break;
101 + case 'year':
102 + $results = $this->model_report_sale->getTotalOrdersByYear();
103 +
104 + foreach ($results as $key => $value) {
105 + $json['order']['data'][] = array($key, $value['total']);
106 + }
107 +
108 + $results = $this->model_report_customer->getTotalCustomersByYear();
109 +
110 + foreach ($results as $key => $value) {
111 + $json['customer']['data'][] = array($key, $value['total']);
112 + }
113 +
114 + for ($i = 1; $i <= 12; $i++) {
115 + $json['xaxis'][] = array($i, date('M', mktime(0, 0, 0, $i)));
116 + }
117 + break;
118 + }
119 +
120 + $this->response->addHeader('Content-Type: application/json');
121 + $this->response->setOutput(json_encode($json));
122 + }
123 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerDashboardCustomer extends Controller {
3 + public function index() {
4 + $this->load->language('dashboard/customer');
5 +
6 + $data['heading_title'] = $this->language->get('heading_title');
7 +
8 + $data['text_view'] = $this->language->get('text_view');
9 +
10 + $data['token'] = $this->session->data['token'];
11 +
12 + // Total Orders
13 + $this->load->model('customer/customer');
14 +
15 + $today = $this->model_customer_customer->getTotalCustomers(array('filter_date_added' => date('Y-m-d', strtotime('-1 day'))));
16 +
17 + $yesterday = $this->model_customer_customer->getTotalCustomers(array('filter_date_added' => date('Y-m-d', strtotime('-2 day'))));
18 +
19 + $difference = $today - $yesterday;
20 +
21 + if ($difference && $today) {
22 + $data['percentage'] = round(($difference / $today) * 100);
23 + } else {
24 + $data['percentage'] = 0;
25 + }
26 +
27 + $customer_total = $this->model_customer_customer->getTotalCustomers();
28 +
29 + if ($customer_total > 1000000000000) {
30 + $data['total'] = round($customer_total / 1000000000000, 1) . 'T';
31 + } elseif ($customer_total > 1000000000) {
32 + $data['total'] = round($customer_total / 1000000000, 1) . 'B';
33 + } elseif ($customer_total > 1000000) {
34 + $data['total'] = round($customer_total / 1000000, 1) . 'M';
35 + } elseif ($customer_total > 1000) {
36 + $data['total'] = round($customer_total / 1000, 1) . 'K';
37 + } else {
38 + $data['total'] = $customer_total;
39 + }
40 +
41 + $data['customer'] = $this->url->link('customer/customer', 'token=' . $this->session->data['token'], true);
42 +
43 + return $this->load->view('dashboard/customer', $data);
44 + }
45 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerDashboardMap extends Controller {
3 + public function index() {
4 + $this->load->language('dashboard/map');
5 +
6 + $data['heading_title'] = $this->language->get('heading_title');
7 +
8 + $data['text_order'] = $this->language->get('text_order');
9 + $data['text_sale'] = $this->language->get('text_sale');
10 +
11 + $data['token'] = $this->session->data['token'];
12 +
13 + return $this->load->view('dashboard/map', $data);
14 + }
15 +
16 + public function map() {
17 + $json = array();
18 +
19 + $this->load->model('report/sale');
20 +
21 + $results = $this->model_report_sale->getTotalOrdersByCountry();
22 +
23 + foreach ($results as $result) {
24 + $json[strtolower($result['iso_code_2'])] = array(
25 + 'total' => $result['total'],
26 + 'amount' => $this->currency->format($result['amount'], $this->config->get('config_currency'))
27 + );
28 + }
29 +
30 + $this->response->addHeader('Content-Type: application/json');
31 + $this->response->setOutput(json_encode($json));
32 + }
33 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerDashboardOnline extends Controller {
3 + public function index() {
4 + $this->load->language('dashboard/online');
5 +
6 + $data['heading_title'] = $this->language->get('heading_title');
7 +
8 + $data['text_view'] = $this->language->get('text_view');
9 +
10 + $data['token'] = $this->session->data['token'];
11 +
12 + // Total Orders
13 + $this->load->model('report/customer');
14 +
15 + // Customers Online
16 + $online_total = $this->model_report_customer->getTotalCustomersOnline();
17 +
18 + if ($online_total > 1000000000000) {
19 + $data['total'] = round($online_total / 1000000000000, 1) . 'T';
20 + } elseif ($online_total > 1000000000) {
21 + $data['total'] = round($online_total / 1000000000, 1) . 'B';
22 + } elseif ($online_total > 1000000) {
23 + $data['total'] = round($online_total / 1000000, 1) . 'M';
24 + } elseif ($online_total > 1000) {
25 + $data['total'] = round($online_total / 1000, 1) . 'K';
26 + } else {
27 + $data['total'] = $online_total;
28 + }
29 +
30 + $data['online'] = $this->url->link('report/customer_online', 'token=' . $this->session->data['token'], true);
31 +
32 + return $this->load->view('dashboard/online', $data);
33 + }
34 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerDashboardOrder extends Controller {
3 + public function index() {
4 + $this->load->language('dashboard/order');
5 +
6 + $data['heading_title'] = $this->language->get('heading_title');
7 +
8 + $data['text_view'] = $this->language->get('text_view');
9 +
10 + $data['token'] = $this->session->data['token'];
11 +
12 + // Total Orders
13 + $this->load->model('sale/order');
14 +
15 + $today = $this->model_sale_order->getTotalOrders(array('filter_date_added' => date('Y-m-d', strtotime('-1 day'))));
16 +
17 + $yesterday = $this->model_sale_order->getTotalOrders(array('filter_date_added' => date('Y-m-d', strtotime('-2 day'))));
18 +
19 + $difference = $today - $yesterday;
20 +
21 + if ($difference && $today) {
22 + $data['percentage'] = round(($difference / $today) * 100);
23 + } else {
24 + $data['percentage'] = 0;
25 + }
26 +
27 + $order_total = $this->model_sale_order->getTotalOrders();
28 +
29 + if ($order_total > 1000000000000) {
30 + $data['total'] = round($order_total / 1000000000000, 1) . 'T';
31 + } elseif ($order_total > 1000000000) {
32 + $data['total'] = round($order_total / 1000000000, 1) . 'B';
33 + } elseif ($order_total > 1000000) {
34 + $data['total'] = round($order_total / 1000000, 1) . 'M';
35 + } elseif ($order_total > 1000) {
36 + $data['total'] = round($order_total / 1000, 1) . 'K';
37 + } else {
38 + $data['total'] = $order_total;
39 + }
40 +
41 + $data['order'] = $this->url->link('sale/order', 'token=' . $this->session->data['token'], true);
42 +
43 + return $this->load->view('dashboard/order', $data);
44 + }
45 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerDashboardRecent extends Controller {
3 + public function index() {
4 + $this->load->language('dashboard/recent');
5 +
6 + $data['heading_title'] = $this->language->get('heading_title');
7 +
8 + $data['text_no_results'] = $this->language->get('text_no_results');
9 +
10 + $data['column_order_id'] = $this->language->get('column_order_id');
11 + $data['column_customer'] = $this->language->get('column_customer');
12 + $data['column_status'] = $this->language->get('column_status');
13 + $data['column_date_added'] = $this->language->get('column_date_added');
14 + $data['column_total'] = $this->language->get('column_total');
15 + $data['column_action'] = $this->language->get('column_action');
16 +
17 + $data['button_view'] = $this->language->get('button_view');
18 +
19 + $data['token'] = $this->session->data['token'];
20 +
21 + // Last 5 Orders
22 + $data['orders'] = array();
23 +
24 + $filter_data = array(
25 + 'sort' => 'o.date_added',
26 + 'order' => 'DESC',
27 + 'start' => 0,
28 + 'limit' => 5
29 + );
30 +
31 + $results = $this->model_sale_order->getOrders($filter_data);
32 +
33 + foreach ($results as $result) {
34 + $data['orders'][] = array(
35 + 'order_id' => $result['order_id'],
36 + 'customer' => $result['customer'],
37 + 'status' => $result['order_status'],
38 + 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
39 + 'total' => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']),
40 + 'view' => $this->url->link('sale/order/info', 'token=' . $this->session->data['token'] . '&order_id=' . $result['order_id'], true),
41 + );
42 + }
43 +
44 + return $this->load->view('dashboard/recent', $data);
45 + }
46 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerDashboardSale extends Controller {
3 + public function index() {
4 + $this->load->language('dashboard/sale');
5 +
6 + $data['heading_title'] = $this->language->get('heading_title');
7 +
8 + $data['text_view'] = $this->language->get('text_view');
9 +
10 + $data['token'] = $this->session->data['token'];
11 +
12 + $this->load->model('report/sale');
13 +
14 + $today = $this->model_report_sale->getTotalSales(array('filter_date_added' => date('Y-m-d', strtotime('-1 day'))));
15 +
16 + $yesterday = $this->model_report_sale->getTotalSales(array('filter_date_added' => date('Y-m-d', strtotime('-2 day'))));
17 +
18 + $difference = $today - $yesterday;
19 +
20 + if ($difference && (int)$today) {
21 + $data['percentage'] = round(($difference / $today) * 100);
22 + } else {
23 + $data['percentage'] = 0;
24 + }
25 +
26 + $sale_total = $this->model_report_sale->getTotalSales();
27 +
28 + if ($sale_total > 1000000000000) {
29 + $data['total'] = round($sale_total / 1000000000000, 1) . 'T';
30 + } elseif ($sale_total > 1000000000) {
31 + $data['total'] = round($sale_total / 1000000000, 1) . 'B';
32 + } elseif ($sale_total > 1000000) {
33 + $data['total'] = round($sale_total / 1000000, 1) . 'M';
34 + } elseif ($sale_total > 1000) {
35 + $data['total'] = round($sale_total / 1000, 1) . 'K';
36 + } else {
37 + $data['total'] = round($sale_total);
38 + }
39 +
40 + $data['sale'] = $this->url->link('sale/order', 'token=' . $this->session->data['token'], true);
41 +
42 + return $this->load->view('dashboard/sale', $data);
43 + }
44 +}
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerErrorNotFound extends Controller {
3 + public function index() {
4 + $this->load->language('error/not_found');
5 +
6 + $this->document->setTitle($this->language->get('heading_title'));
7 +
8 + $data['heading_title'] = $this->language->get('heading_title');
9 +
10 + $data['text_not_found'] = $this->language->get('text_not_found');
11 +
12 + $data['breadcrumbs'] = array();
13 +
14 + $data['breadcrumbs'][] = array(
15 + 'text' => $this->language->get('text_home'),
16 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
17 + );
18 +
19 + $data['breadcrumbs'][] = array(
20 + 'text' => $this->language->get('heading_title'),
21 + 'href' => $this->url->link('error/not_found', 'token=' . $this->session->data['token'], true)
22 + );
23 +
24 + $data['header'] = $this->load->controller('common/header');
25 + $data['column_left'] = $this->load->controller('common/column_left');
26 + $data['footer'] = $this->load->controller('common/footer');
27 +
28 + $this->response->setOutput($this->load->view('error/not_found', $data));
29 + }
30 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerErrorPermission extends Controller {
3 + public function index() {
4 + $this->load->language('error/permission');
5 +
6 + $this->document->setTitle($this->language->get('heading_title'));
7 +
8 + $data['heading_title'] = $this->language->get('heading_title');
9 +
10 + $data['text_permission'] = $this->language->get('text_permission');
11 +
12 + $data['breadcrumbs'] = array();
13 +
14 + $data['breadcrumbs'][] = array(
15 + 'text' => $this->language->get('text_home'),
16 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
17 + );
18 +
19 + $data['breadcrumbs'][] = array(
20 + 'text' => $this->language->get('heading_title'),
21 + 'href' => $this->url->link('error/permission', 'token=' . $this->session->data['token'], true)
22 + );
23 +
24 + $data['header'] = $this->load->controller('common/header');
25 + $data['column_left'] = $this->load->controller('common/column_left');
26 + $data['footer'] = $this->load->controller('common/footer');
27 +
28 + $this->response->setOutput($this->load->view('error/permission', $data));
29 + }
30 +}
1 +<?php
2 +class ControllerEventTheme extends Controller {
3 + public function index(&$view, &$data) {
4 + // This is only here for compatibility with old templates
5 + if (substr($view, -4) == '.tpl') {
6 + $view = substr($view, 0, -4);
7 + }
8 + }
9 +}
1 +<?php
2 +class ControllerExtensionAnalytics extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/analytics');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->getList();
13 + }
14 +
15 + public function install() {
16 + $this->load->language('extension/analytics');
17 +
18 + $this->document->setTitle($this->language->get('heading_title'));
19 +
20 + $this->load->model('extension/extension');
21 +
22 + if ($this->validate()) {
23 + $this->model_extension_extension->install('analytics', $this->request->get['extension']);
24 +
25 + $this->load->model('user/user_group');
26 +
27 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'analytics/' . $this->request->get['extension']);
28 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'analytics/' . $this->request->get['extension']);
29 +
30 + // Call install method if it exsits
31 + $this->load->controller('analytics/' . $this->request->get['extension'] . '/install');
32 +
33 + $this->session->data['success'] = $this->language->get('text_success');
34 +
35 + $this->response->redirect($this->url->link('extension/analytics', 'token=' . $this->session->data['token'], true));
36 + }
37 +
38 + $this->getList();
39 + }
40 +
41 + public function uninstall() {
42 + $this->load->language('extension/analytics');
43 +
44 + $this->document->setTitle($this->language->get('heading_title'));
45 +
46 + $this->load->model('extension/extension');
47 +
48 + if ($this->validate()) {
49 + $this->model_extension_extension->uninstall('analytics', $this->request->get['extension']);
50 +
51 + // Call uninstall method if it exsits
52 + $this->load->controller('analytics/' . $this->request->get['extension'] . '/uninstall');
53 +
54 + $this->session->data['success'] = $this->language->get('text_success');
55 +
56 + $this->response->redirect($this->url->link('extension/analytics', 'token=' . $this->session->data['token'], true));
57 + }
58 + }
59 +
60 + public function getList() {
61 + $data['breadcrumbs'] = array();
62 +
63 + $data['breadcrumbs'][] = array(
64 + 'text' => $this->language->get('text_home'),
65 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
66 + );
67 +
68 + $data['breadcrumbs'][] = array(
69 + 'text' => $this->language->get('heading_title'),
70 + 'href' => $this->url->link('extension/analytics', 'token=' . $this->session->data['token'], true)
71 + );
72 +
73 + $data['heading_title'] = $this->language->get('heading_title');
74 +
75 + $data['text_list'] = $this->language->get('text_list');
76 + $data['text_no_results'] = $this->language->get('text_no_results');
77 + $data['text_confirm'] = $this->language->get('text_confirm');
78 +
79 + $data['column_name'] = $this->language->get('column_name');
80 + $data['column_status'] = $this->language->get('column_status');
81 + $data['column_action'] = $this->language->get('column_action');
82 +
83 + $data['button_edit'] = $this->language->get('button_edit');
84 + $data['button_install'] = $this->language->get('button_install');
85 + $data['button_uninstall'] = $this->language->get('button_uninstall');
86 +
87 + if (isset($this->error['warning'])) {
88 + $data['error_warning'] = $this->error['warning'];
89 + } else {
90 + $data['error_warning'] = '';
91 + }
92 +
93 + if (isset($this->session->data['success'])) {
94 + $data['success'] = $this->session->data['success'];
95 +
96 + unset($this->session->data['success']);
97 + } else {
98 + $data['success'] = '';
99 + }
100 +
101 + $extensions = $this->model_extension_extension->getInstalled('analytics');
102 +
103 + foreach ($extensions as $key => $value) {
104 + if (!file_exists(DIR_APPLICATION . 'controller/analytics/' . $value . '.php')) {
105 + $this->model_extension_extension->uninstall('analytics', $value);
106 +
107 + unset($extensions[$key]);
108 + }
109 + }
110 +
111 + $this->load->model('setting/setting');
112 + $this->load->model('setting/store');
113 +
114 + $stores = $this->model_setting_store->getStores();
115 +
116 + $data['extensions'] = array();
117 +
118 + $files = glob(DIR_APPLICATION . 'controller/analytics/*.php');
119 +
120 + if ($files) {
121 + foreach ($files as $file) {
122 + $extension = basename($file, '.php');
123 +
124 + $this->load->language('analytics/' . $extension);
125 +
126 + $store_data = array();
127 +
128 + $store_data[] = array(
129 + 'name' => $this->config->get('config_name'),
130 + 'edit' => $this->url->link('analytics/' . $extension, 'token=' . $this->session->data['token'] . '&store_id=0', true),
131 + 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled')
132 + );
133 +
134 + foreach ($stores as $store) {
135 + $store_data[] = array(
136 + 'name' => $store['name'],
137 + 'edit' => $this->url->link('analytics/' . $extension, 'token=' . $this->session->data['token'] . '&store_id=' . $store['store_id'], true),
138 + 'status' => $this->model_setting_setting->getSettingValue($extension . '_status', $store['store_id']) ? $this->language->get('text_enabled') : $this->language->get('text_disabled')
139 + );
140 + }
141 +
142 + $data['extensions'][] = array(
143 + 'name' => $this->language->get('heading_title'),
144 + 'install' => $this->url->link('extension/analytics/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
145 + 'uninstall' => $this->url->link('extension/analytics/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
146 + 'installed' => in_array($extension, $extensions),
147 + 'store' => $store_data
148 + );
149 + }
150 + }
151 +
152 + $data['header'] = $this->load->controller('common/header');
153 + $data['column_left'] = $this->load->controller('common/column_left');
154 + $data['footer'] = $this->load->controller('common/footer');
155 +
156 + $this->response->setOutput($this->load->view('extension/analytics', $data));
157 + }
158 +
159 + protected function validate() {
160 + if (!$this->user->hasPermission('modify', 'extension/analytics')) {
161 + $this->error['warning'] = $this->language->get('error_permission');
162 + }
163 +
164 + return !$this->error;
165 + }
166 +}
1 +<?php
2 +class ControllerExtensionCaptcha extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/captcha');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->getList();
13 + }
14 +
15 + public function install() {
16 + $this->load->language('extension/captcha');
17 +
18 + $this->document->setTitle($this->language->get('heading_title'));
19 +
20 + $this->load->model('extension/extension');
21 +
22 + if ($this->validate()) {
23 + $this->model_extension_extension->install('captcha', $this->request->get['extension']);
24 +
25 + $this->load->model('user/user_group');
26 +
27 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'captcha/' . $this->request->get['extension']);
28 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'captcha/' . $this->request->get['extension']);
29 +
30 + // Call install method if it exsits
31 + $this->load->controller('captcha/' . $this->request->get['extension'] . '/install');
32 +
33 + $this->session->data['success'] = $this->language->get('text_success');
34 +
35 + $this->response->redirect($this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true));
36 + }
37 +
38 + $this->getList();
39 + }
40 +
41 + public function uninstall() {
42 + $this->load->language('extension/captcha');
43 +
44 + $this->document->setTitle($this->language->get('heading_title'));
45 +
46 + $this->load->model('extension/extension');
47 +
48 + if ($this->validate()) {
49 + $this->model_extension_extension->uninstall('captcha', $this->request->get['extension']);
50 +
51 + // Call uninstall method if it exsits
52 + $this->load->controller('captcha/' . $this->request->get['extension'] . '/uninstall');
53 +
54 + $this->session->data['success'] = $this->language->get('text_success');
55 +
56 + $this->response->redirect($this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true));
57 + }
58 + }
59 +
60 + public function getList() {
61 + $data['breadcrumbs'] = array();
62 +
63 + $data['breadcrumbs'][] = array(
64 + 'text' => $this->language->get('text_home'),
65 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
66 + );
67 +
68 + $data['breadcrumbs'][] = array(
69 + 'text' => $this->language->get('heading_title'),
70 + 'href' => $this->url->link('extension/captcha', 'token=' . $this->session->data['token'], true)
71 + );
72 +
73 + $data['heading_title'] = $this->language->get('heading_title');
74 +
75 + $data['text_list'] = $this->language->get('text_list');
76 + $data['text_no_results'] = $this->language->get('text_no_results');
77 + $data['text_confirm'] = $this->language->get('text_confirm');
78 +
79 + $data['column_name'] = $this->language->get('column_name');
80 + $data['column_status'] = $this->language->get('column_status');
81 + $data['column_action'] = $this->language->get('column_action');
82 +
83 + $data['button_edit'] = $this->language->get('button_edit');
84 + $data['button_install'] = $this->language->get('button_install');
85 + $data['button_uninstall'] = $this->language->get('button_uninstall');
86 +
87 + if (isset($this->error['warning'])) {
88 + $data['error_warning'] = $this->error['warning'];
89 + } else {
90 + $data['error_warning'] = '';
91 + }
92 +
93 + if (isset($this->session->data['success'])) {
94 + $data['success'] = $this->session->data['success'];
95 +
96 + unset($this->session->data['success']);
97 + } else {
98 + $data['success'] = '';
99 + }
100 +
101 + $extensions = $this->model_extension_extension->getInstalled('captcha');
102 +
103 + foreach ($extensions as $key => $value) {
104 + if (!file_exists(DIR_APPLICATION . 'controller/captcha/' . $value . '.php')) {
105 + $this->model_extension_extension->uninstall('captcha', $value);
106 +
107 + unset($extensions[$key]);
108 + }
109 + }
110 +
111 + $data['extensions'] = array();
112 +
113 + $files = glob(DIR_APPLICATION . 'controller/captcha/*.php');
114 +
115 + if ($files) {
116 + foreach ($files as $file) {
117 + $extension = basename($file, '.php');
118 +
119 + $this->load->language('captcha/' . $extension);
120 +
121 + $data['extensions'][] = array(
122 + 'name' => $this->language->get('heading_title') . (($extension == $this->config->get('config_captcha')) ? $this->language->get('text_default') : null),
123 + 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
124 + 'install' => $this->url->link('extension/captcha/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
125 + 'uninstall' => $this->url->link('extension/captcha/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
126 + 'installed' => in_array($extension, $extensions),
127 + 'edit' => $this->url->link('captcha/' . $extension, 'token=' . $this->session->data['token'], true)
128 + );
129 + }
130 + }
131 +
132 + $data['header'] = $this->load->controller('common/header');
133 + $data['column_left'] = $this->load->controller('common/column_left');
134 + $data['footer'] = $this->load->controller('common/footer');
135 +
136 + $this->response->setOutput($this->load->view('extension/captcha', $data));
137 + }
138 +
139 + protected function validate() {
140 + if (!$this->user->hasPermission('modify', 'extension/captcha')) {
141 + $this->error['warning'] = $this->language->get('error_permission');
142 + }
143 +
144 + return !$this->error;
145 + }
146 +}
1 +<?php
2 +class ControllerExtensionFeed extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/feed');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->getList();
13 + }
14 +
15 + public function install() {
16 + $this->load->language('extension/feed');
17 +
18 + $this->document->setTitle($this->language->get('heading_title'));
19 +
20 + $this->load->model('extension/extension');
21 +
22 + if ($this->validate()) {
23 + $this->model_extension_extension->install('feed', $this->request->get['extension']);
24 +
25 + $this->load->model('user/user_group');
26 +
27 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'feed/' . $this->request->get['extension']);
28 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'feed/' . $this->request->get['extension']);
29 +
30 + // Call install method if it exsits
31 + $this->load->controller('feed/' . $this->request->get['extension'] . '/install');
32 +
33 + $this->session->data['success'] = $this->language->get('text_success');
34 +
35 + $this->response->redirect($this->url->link('extension/feed', 'token=' . $this->session->data['token'], true));
36 + }
37 +
38 + $this->getList();
39 + }
40 +
41 + public function uninstall() {
42 + $this->load->language('extension/feed');
43 +
44 + $this->document->setTitle($this->language->get('heading_title'));
45 +
46 + $this->load->model('extension/extension');
47 +
48 + if ($this->validate()) {
49 + $this->model_extension_extension->uninstall('feed', $this->request->get['extension']);
50 +
51 + // Call uninstall method if it exsits
52 + $this->load->controller('feed/' . $this->request->get['extension'] . '/uninstall');
53 +
54 + $this->session->data['success'] = $this->language->get('text_success');
55 +
56 + $this->response->redirect($this->url->link('extension/feed', 'token=' . $this->session->data['token'], true));
57 + }
58 + }
59 +
60 + public function getList() {
61 + $data['breadcrumbs'] = array();
62 +
63 + $data['breadcrumbs'][] = array(
64 + 'text' => $this->language->get('text_home'),
65 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
66 + );
67 +
68 + $data['breadcrumbs'][] = array(
69 + 'text' => $this->language->get('heading_title'),
70 + 'href' => $this->url->link('extension/feed', 'token=' . $this->session->data['token'], true)
71 + );
72 +
73 + $data['heading_title'] = $this->language->get('heading_title');
74 +
75 + $data['text_list'] = $this->language->get('text_list');
76 + $data['text_no_results'] = $this->language->get('text_no_results');
77 + $data['text_confirm'] = $this->language->get('text_confirm');
78 +
79 + $data['column_name'] = $this->language->get('column_name');
80 + $data['column_status'] = $this->language->get('column_status');
81 + $data['column_action'] = $this->language->get('column_action');
82 +
83 + $data['button_edit'] = $this->language->get('button_edit');
84 + $data['button_install'] = $this->language->get('button_install');
85 + $data['button_uninstall'] = $this->language->get('button_uninstall');
86 +
87 + if (isset($this->error['warning'])) {
88 + $data['error_warning'] = $this->error['warning'];
89 + } else {
90 + $data['error_warning'] = '';
91 + }
92 +
93 + if (isset($this->session->data['success'])) {
94 + $data['success'] = $this->session->data['success'];
95 +
96 + unset($this->session->data['success']);
97 + } else {
98 + $data['success'] = '';
99 + }
100 +
101 + $extensions = $this->model_extension_extension->getInstalled('feed');
102 +
103 + foreach ($extensions as $key => $value) {
104 + if (!file_exists(DIR_APPLICATION . 'controller/feed/' . $value . '.php')) {
105 + $this->model_extension_extension->uninstall('feed', $value);
106 +
107 + unset($extensions[$key]);
108 + }
109 + }
110 +
111 + $data['extensions'] = array();
112 +
113 + $files = glob(DIR_APPLICATION . 'controller/feed/*.php');
114 +
115 + if ($files) {
116 + foreach ($files as $file) {
117 + $extension = basename($file, '.php');
118 +
119 + $this->load->language('feed/' . $extension);
120 +
121 + $data['extensions'][] = array(
122 + 'name' => $this->language->get('heading_title'),
123 + 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
124 + 'install' => $this->url->link('extension/feed/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
125 + 'uninstall' => $this->url->link('extension/feed/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
126 + 'installed' => in_array($extension, $extensions),
127 + 'edit' => $this->url->link('feed/' . $extension, 'token=' . $this->session->data['token'], true)
128 + );
129 + }
130 + }
131 +
132 + $data['header'] = $this->load->controller('common/header');
133 + $data['column_left'] = $this->load->controller('common/column_left');
134 + $data['footer'] = $this->load->controller('common/footer');
135 +
136 + $this->response->setOutput($this->load->view('extension/feed', $data));
137 + }
138 +
139 + protected function validate() {
140 + if (!$this->user->hasPermission('modify', 'extension/feed')) {
141 + $this->error['warning'] = $this->language->get('error_permission');
142 + }
143 +
144 + return !$this->error;
145 + }
146 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerExtensionFraud extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/fraud');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->getList();
13 + }
14 +
15 + public function install() {
16 + $this->load->language('extension/fraud');
17 +
18 + $this->document->setTitle($this->language->get('heading_title'));
19 +
20 + $this->load->model('extension/extension');
21 +
22 + if ($this->validate()) {
23 + $this->model_extension_extension->install('fraud', $this->request->get['extension']);
24 +
25 + $this->load->model('user/user_group');
26 +
27 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'fraud/' . $this->request->get['extension']);
28 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'fraud/' . $this->request->get['extension']);
29 +
30 + // Call install method if it exsits
31 + $this->load->controller('fraud/' . $this->request->get['extension'] . '/install');
32 +
33 + $this->session->data['success'] = $this->language->get('text_success');
34 +
35 + $this->response->redirect($this->url->link('extension/fraud', 'token=' . $this->session->data['token'], true));
36 + }
37 +
38 + $this->getList();
39 + }
40 +
41 + public function uninstall() {
42 + $this->load->language('extension/fraud');
43 +
44 + $this->document->setTitle($this->language->get('heading_title'));
45 +
46 + $this->load->model('extension/extension');
47 +
48 + if ($this->validate()) {
49 + $this->model_extension_extension->uninstall('fraud', $this->request->get['extension']);
50 +
51 + // Call uninstall method if it exsits
52 + $this->load->controller('fraud/' . $this->request->get['extension'] . '/uninstall');
53 +
54 + $this->session->data['success'] = $this->language->get('text_success');
55 +
56 + $this->response->redirect($this->url->link('extension/fraud', 'token=' . $this->session->data['token'], true));
57 + }
58 + }
59 +
60 + public function getList() {
61 + $data['breadcrumbs'] = array();
62 +
63 + $data['breadcrumbs'][] = array(
64 + 'text' => $this->language->get('text_home'),
65 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
66 + );
67 +
68 + $data['breadcrumbs'][] = array(
69 + 'text' => $this->language->get('heading_title'),
70 + 'href' => $this->url->link('extension/fraud', 'token=' . $this->session->data['token'], true)
71 + );
72 +
73 + $data['heading_title'] = $this->language->get('heading_title');
74 +
75 + $data['text_list'] = $this->language->get('text_list');
76 + $data['text_no_results'] = $this->language->get('text_no_results');
77 + $data['text_confirm'] = $this->language->get('text_confirm');
78 +
79 + $data['column_name'] = $this->language->get('column_name');
80 + $data['column_status'] = $this->language->get('column_status');
81 + $data['column_action'] = $this->language->get('column_action');
82 +
83 + $data['button_edit'] = $this->language->get('button_edit');
84 + $data['button_install'] = $this->language->get('button_install');
85 + $data['button_uninstall'] = $this->language->get('button_uninstall');
86 +
87 + if (isset($this->error['warning'])) {
88 + $data['error_warning'] = $this->error['warning'];
89 + } else {
90 + $data['error_warning'] = '';
91 + }
92 +
93 + if (isset($this->session->data['success'])) {
94 + $data['success'] = $this->session->data['success'];
95 +
96 + unset($this->session->data['success']);
97 + } else {
98 + $data['success'] = '';
99 + }
100 +
101 + $extensions = $this->model_extension_extension->getInstalled('fraud');
102 +
103 + foreach ($extensions as $key => $value) {
104 + if (!file_exists(DIR_APPLICATION . 'controller/fraud/' . $value . '.php')) {
105 + $this->model_extension_extension->uninstall('fraud', $value);
106 +
107 + unset($extensions[$key]);
108 + }
109 + }
110 +
111 + $data['extensions'] = array();
112 +
113 + $files = glob(DIR_APPLICATION . 'controller/fraud/*.php');
114 +
115 + if ($files) {
116 + foreach ($files as $file) {
117 + $extension = basename($file, '.php');
118 +
119 + $this->load->language('fraud/' . $extension);
120 +
121 + $data['extensions'][] = array(
122 + 'name' => $this->language->get('heading_title'),
123 + 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
124 + 'install' => $this->url->link('extension/fraud/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
125 + 'uninstall' => $this->url->link('extension/fraud/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
126 + 'installed' => in_array($extension, $extensions),
127 + 'edit' => $this->url->link('fraud/' . $extension, 'token=' . $this->session->data['token'], true)
128 + );
129 + }
130 + }
131 +
132 + $data['header'] = $this->load->controller('common/header');
133 + $data['column_left'] = $this->load->controller('common/column_left');
134 + $data['footer'] = $this->load->controller('common/footer');
135 +
136 + $this->response->setOutput($this->load->view('extension/fraud', $data));
137 + }
138 +
139 + protected function validate() {
140 + if (!$this->user->hasPermission('modify', 'extension/fraud')) {
141 + $this->error['warning'] = $this->language->get('error_permission');
142 + }
143 +
144 + return !$this->error;
145 + }
146 +}
...\ No newline at end of file ...\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerExtensionModule extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/module');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->load->model('extension/module');
13 +
14 + $this->getList();
15 + }
16 +
17 + public function install() {
18 + $this->load->language('extension/module');
19 +
20 + $this->document->setTitle($this->language->get('heading_title'));
21 +
22 + $this->load->model('extension/extension');
23 +
24 + $this->load->model('extension/module');
25 +
26 + if ($this->validate()) {
27 + $this->model_extension_extension->install('module', $this->request->get['extension']);
28 +
29 + $this->load->model('user/user_group');
30 +
31 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'module/' . $this->request->get['extension']);
32 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'module/' . $this->request->get['extension']);
33 +
34 + // Call install method if it exsits
35 + $this->load->controller('module/' . $this->request->get['extension'] . '/install');
36 +
37 + $this->session->data['success'] = $this->language->get('text_success');
38 +
39 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
40 + }
41 +
42 + $this->getList();
43 + }
44 +
45 + public function uninstall() {
46 + $this->load->language('extension/module');
47 +
48 + $this->document->setTitle($this->language->get('heading_title'));
49 +
50 + $this->load->model('extension/extension');
51 +
52 + $this->load->model('extension/module');
53 +
54 + if ($this->validate()) {
55 + $this->model_extension_extension->uninstall('module', $this->request->get['extension']);
56 +
57 + $this->model_extension_module->deleteModulesByCode($this->request->get['extension']);
58 +
59 + // Call uninstall method if it exsits
60 + $this->load->controller('module/' . $this->request->get['extension'] . '/uninstall');
61 +
62 + $this->session->data['success'] = $this->language->get('text_success');
63 +
64 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
65 + }
66 +
67 + $this->getList();
68 + }
69 +
70 + public function delete() {
71 + $this->load->language('extension/module');
72 +
73 + $this->document->setTitle($this->language->get('heading_title'));
74 +
75 + $this->load->model('extension/extension');
76 +
77 + $this->load->model('extension/module');
78 +
79 + if (isset($this->request->get['module_id']) && $this->validateDelete()) {
80 + $this->model_extension_module->deleteModule($this->request->get['module_id']);
81 +
82 + $this->session->data['success'] = $this->language->get('text_success');
83 +
84 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
85 + }
86 +
87 + $this->getList();
88 + }
89 +
90 + public function getList() {
91 + $data['breadcrumbs'] = array();
92 +
93 + $data['breadcrumbs'][] = array(
94 + 'text' => $this->language->get('text_home'),
95 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
96 + );
97 +
98 + $data['breadcrumbs'][] = array(
99 + 'text' => $this->language->get('heading_title'),
100 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true)
101 + );
102 +
103 + $data['heading_title'] = $this->language->get('heading_title');
104 +
105 + $data['text_layout'] = sprintf($this->language->get('text_layout'), $this->url->link('design/layout', 'token=' . $this->session->data['token'], true));
106 + $data['text_list'] = $this->language->get('text_list');
107 + $data['text_no_results'] = $this->language->get('text_no_results');
108 + $data['text_confirm'] = $this->language->get('text_confirm');
109 +
110 + $data['column_name'] = $this->language->get('column_name');
111 + $data['column_action'] = $this->language->get('column_action');
112 +
113 + $data['button_edit'] = $this->language->get('button_edit');
114 + $data['button_delete'] = $this->language->get('button_delete');
115 + $data['button_install'] = $this->language->get('button_install');
116 + $data['button_uninstall'] = $this->language->get('button_uninstall');
117 +
118 + if (isset($this->error['warning'])) {
119 + $data['error_warning'] = $this->error['warning'];
120 + } else {
121 + $data['error_warning'] = '';
122 + }
123 +
124 + if (isset($this->session->data['success'])) {
125 + $data['success'] = $this->session->data['success'];
126 +
127 + unset($this->session->data['success']);
128 + } else {
129 + $data['success'] = '';
130 + }
131 +
132 + $data['delete'] = $this->url->link('extension/module/delete', 'token=' . $this->session->data['token'], true);
133 +
134 + $extensions = $this->model_extension_extension->getInstalled('module');
135 +
136 + foreach ($extensions as $key => $value) {
137 + if (!file_exists(DIR_APPLICATION . 'controller/module/' . $value . '.php')) {
138 + $this->model_extension_extension->uninstall('module', $value);
139 +
140 + unset($extensions[$key]);
141 +
142 + $this->model_extension_module->deleteModulesByCode($value);
143 + }
144 + }
145 +
146 + $data['extensions'] = array();
147 +
148 + $files = glob(DIR_APPLICATION . 'controller/module/*.php');
149 +
150 + if ($files) {
151 + foreach ($files as $file) {
152 + $extension = basename($file, '.php');
153 +
154 + $this->load->language('module/' . $extension);
155 +
156 + $module_data = array();
157 +
158 + $modules = $this->model_extension_module->getModulesByCode($extension);
159 +
160 + foreach ($modules as $module) {
161 + $module_data[] = array(
162 + 'module_id' => $module['module_id'],
163 + 'name' => $module['name'],
164 + 'edit' => $this->url->link('module/' . $extension, 'token=' . $this->session->data['token'] . '&module_id=' . $module['module_id'], true),
165 + 'delete' => $this->url->link('extension/module/delete', 'token=' . $this->session->data['token'] . '&module_id=' . $module['module_id'], true)
166 + );
167 + }
168 +
169 + $data['extensions'][] = array(
170 + 'name' => $this->language->get('heading_title'),
171 + 'module' => $module_data,
172 + 'install' => $this->url->link('extension/module/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
173 + 'uninstall' => $this->url->link('extension/module/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
174 + 'installed' => in_array($extension, $extensions),
175 + 'edit' => $this->url->link('module/' . $extension, 'token=' . $this->session->data['token'], true)
176 + );
177 + }
178 + }
179 +
180 + $sort_order = array();
181 +
182 + foreach ($data['extensions'] as $key => $value) {
183 + $sort_order[$key] = $value['name'];
184 + }
185 +
186 + array_multisort($sort_order, SORT_ASC, $data['extensions']);
187 +
188 + $data['header'] = $this->load->controller('common/header');
189 + $data['column_left'] = $this->load->controller('common/column_left');
190 + $data['footer'] = $this->load->controller('common/footer');
191 +
192 + $this->response->setOutput($this->load->view('extension/module', $data));
193 + }
194 +
195 + protected function validate() {
196 + if (!$this->user->hasPermission('modify', 'extension/module')) {
197 + $this->error['warning'] = $this->language->get('error_permission');
198 + }
199 +
200 + return !$this->error;
201 + }
202 +
203 + protected function validateDelete() {
204 + if (!$this->user->hasPermission('modify', 'extension/module')) {
205 + $this->error['warning'] = $this->language->get('error_permission');
206 + }
207 +
208 + return !$this->error;
209 + }
210 +}
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerExtensionPayment extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/payment');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->getList();
13 + }
14 +
15 + public function install() {
16 + $this->load->language('extension/payment');
17 +
18 + $this->document->setTitle($this->language->get('heading_title'));
19 +
20 + $this->load->model('extension/extension');
21 +
22 + if ($this->validate()) {
23 + $this->model_extension_extension->install('payment', $this->request->get['extension']);
24 +
25 + $this->load->model('user/user_group');
26 +
27 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'payment/' . $this->request->get['extension']);
28 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'payment/' . $this->request->get['extension']);
29 +
30 + // Call install method if it exsits
31 + $this->load->controller('payment/' . $this->request->get['extension'] . '/install');
32 +
33 + $this->session->data['success'] = $this->language->get('text_success');
34 +
35 + $this->response->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], true));
36 + }
37 +
38 + $this->getList();
39 + }
40 +
41 + public function uninstall() {
42 + $this->load->language('extension/payment');
43 +
44 + $this->document->setTitle($this->language->get('heading_title'));
45 +
46 + $this->load->model('extension/extension');
47 +
48 + if ($this->validate()) {
49 + $this->model_extension_extension->uninstall('payment', $this->request->get['extension']);
50 +
51 + // Call uninstall method if it exsits
52 + $this->load->controller('payment/' . $this->request->get['extension'] . '/uninstall');
53 +
54 + $this->session->data['success'] = $this->language->get('text_success');
55 +
56 + $this->response->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], true));
57 + }
58 +
59 + $this->getList();
60 + }
61 +
62 + public function getList() {
63 + $data['breadcrumbs'] = array();
64 +
65 + $data['breadcrumbs'][] = array(
66 + 'text' => $this->language->get('text_home'),
67 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
68 + );
69 +
70 + $data['breadcrumbs'][] = array(
71 + 'text' => $this->language->get('heading_title'),
72 + 'href' => $this->url->link('extension/payment', 'token=' . $this->session->data['token'], true)
73 + );
74 +
75 + $data['heading_title'] = $this->language->get('heading_title');
76 +
77 + $data['text_list'] = $this->language->get('text_list');
78 + $data['text_no_results'] = $this->language->get('text_no_results');
79 + $data['text_confirm'] = $this->language->get('text_confirm');
80 +
81 + $data['column_name'] = $this->language->get('column_name');
82 + $data['column_status'] = $this->language->get('column_status');
83 + $data['column_sort_order'] = $this->language->get('column_sort_order');
84 + $data['column_action'] = $this->language->get('column_action');
85 +
86 + $data['button_edit'] = $this->language->get('button_edit');
87 + $data['button_install'] = $this->language->get('button_install');
88 + $data['button_uninstall'] = $this->language->get('button_uninstall');
89 +
90 + if (isset($this->error['warning'])) {
91 + $data['error_warning'] = $this->error['warning'];
92 + } else {
93 + $data['error_warning'] = '';
94 + }
95 +
96 + if (isset($this->session->data['success'])) {
97 + $data['success'] = $this->session->data['success'];
98 +
99 + unset($this->session->data['success']);
100 + } else {
101 + $data['success'] = '';
102 + }
103 +
104 + $this->load->model('extension/extension');
105 +
106 + $extensions = $this->model_extension_extension->getInstalled('payment');
107 +
108 + foreach ($extensions as $key => $value) {
109 + if (!file_exists(DIR_APPLICATION . 'controller/payment/' . $value . '.php')) {
110 + $this->model_extension_extension->uninstall('payment', $value);
111 +
112 + unset($extensions[$key]);
113 + }
114 + }
115 +
116 + $data['extensions'] = array();
117 +
118 + $files = glob(DIR_APPLICATION . 'controller/payment/*.php');
119 +
120 + if ($files) {
121 + foreach ($files as $file) {
122 + $extension = basename($file, '.php');
123 +
124 + $this->load->language('payment/' . $extension);
125 +
126 + $text_link = $this->language->get('text_' . $extension);
127 +
128 + if ($text_link != 'text_' . $extension) {
129 + $link = $this->language->get('text_' . $extension);
130 + } else {
131 + $link = '';
132 + }
133 +
134 + $data['extensions'][] = array(
135 + 'name' => $this->language->get('heading_title'),
136 + 'link' => $link,
137 + 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
138 + 'sort_order' => $this->config->get($extension . '_sort_order'),
139 + 'install' => $this->url->link('extension/payment/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
140 + 'uninstall' => $this->url->link('extension/payment/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
141 + 'installed' => in_array($extension, $extensions),
142 + 'edit' => $this->url->link('payment/' . $extension, 'token=' . $this->session->data['token'], true)
143 + );
144 + }
145 + }
146 +
147 + $data['header'] = $this->load->controller('common/header');
148 + $data['column_left'] = $this->load->controller('common/column_left');
149 + $data['footer'] = $this->load->controller('common/footer');
150 +
151 + $this->response->setOutput($this->load->view('extension/payment', $data));
152 + }
153 +
154 + protected function validate() {
155 + if (!$this->user->hasPermission('modify', 'extension/payment')) {
156 + $this->error['warning'] = $this->language->get('error_permission');
157 + }
158 +
159 + return !$this->error;
160 + }
161 +}
1 +<?php
2 +class ControllerExtensionShipping extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/shipping');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->getList();
13 + }
14 +
15 + public function install() {
16 + $this->load->language('extension/shipping');
17 +
18 + $this->document->setTitle($this->language->get('heading_title'));
19 +
20 + $this->load->model('extension/extension');
21 +
22 + if ($this->validate()) {
23 + $this->model_extension_extension->install('shipping', $this->request->get['extension']);
24 +
25 + $this->load->model('user/user_group');
26 +
27 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'shipping/' . $this->request->get['extension']);
28 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'shipping/' . $this->request->get['extension']);
29 +
30 + // Call install method if it exsits
31 + $this->load->controller('shipping/' . $this->request->get['extension'] . '/install');
32 +
33 + $this->session->data['success'] = $this->language->get('text_success');
34 +
35 + $this->response->redirect($this->url->link('extension/shipping', 'token=' . $this->session->data['token'], true));
36 + }
37 +
38 + $this->getList();
39 + }
40 +
41 + public function uninstall() {
42 + $this->load->language('extension/shipping');
43 +
44 + $this->document->setTitle($this->language->get('heading_title'));
45 +
46 + $this->load->model('extension/extension');
47 +
48 + if ($this->validate()) {
49 + $this->model_extension_extension->uninstall('shipping', $this->request->get['extension']);
50 +
51 + // Call uninstall method if it exsits
52 + $this->load->controller('shipping/' . $this->request->get['extension'] . '/uninstall');
53 +
54 + $this->session->data['success'] = $this->language->get('text_success');
55 +
56 + $this->response->redirect($this->url->link('extension/shipping', 'token=' . $this->session->data['token'], true));
57 + }
58 +
59 + $this->getList();
60 + }
61 +
62 + public function getList() {
63 + $data['breadcrumbs'] = array();
64 +
65 + $data['breadcrumbs'][] = array(
66 + 'text' => $this->language->get('text_home'),
67 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
68 + );
69 +
70 + $data['breadcrumbs'][] = array(
71 + 'text' => $this->language->get('heading_title'),
72 + 'href' => $this->url->link('extension/shipping', 'token=' . $this->session->data['token'], true)
73 + );
74 +
75 + $data['heading_title'] = $this->language->get('heading_title');
76 +
77 + $data['text_list'] = $this->language->get('text_list');
78 + $data['text_no_results'] = $this->language->get('text_no_results');
79 + $data['text_confirm'] = $this->language->get('text_confirm');
80 +
81 + $data['column_name'] = $this->language->get('column_name');
82 + $data['column_status'] = $this->language->get('column_status');
83 + $data['column_sort_order'] = $this->language->get('column_sort_order');
84 + $data['column_action'] = $this->language->get('column_action');
85 +
86 + $data['button_edit'] = $this->language->get('button_edit');
87 + $data['button_install'] = $this->language->get('button_install');
88 + $data['button_uninstall'] = $this->language->get('button_uninstall');
89 +
90 + if (isset($this->error['warning'])) {
91 + $data['error_warning'] = $this->error['warning'];
92 + } else {
93 + $data['error_warning'] = '';
94 + }
95 +
96 + if (isset($this->session->data['success'])) {
97 + $data['success'] = $this->session->data['success'];
98 +
99 + unset($this->session->data['success']);
100 + } else {
101 + $data['success'] = '';
102 + }
103 +
104 + $this->load->model('extension/extension');
105 +
106 + $extensions = $this->model_extension_extension->getInstalled('shipping');
107 +
108 + foreach ($extensions as $key => $value) {
109 + if (!file_exists(DIR_APPLICATION . 'controller/shipping/' . $value . '.php')) {
110 + $this->model_extension_extension->uninstall('shipping', $value);
111 +
112 + unset($extensions[$key]);
113 + }
114 + }
115 +
116 + $data['extensions'] = array();
117 +
118 + $files = glob(DIR_APPLICATION . 'controller/shipping/*.php');
119 +
120 + if ($files) {
121 + foreach ($files as $file) {
122 + $extension = basename($file, '.php');
123 +
124 + $this->load->language('shipping/' . $extension);
125 +
126 + $data['extensions'][] = array(
127 + 'name' => $this->language->get('heading_title'),
128 + 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
129 + 'sort_order' => $this->config->get($extension . '_sort_order'),
130 + 'install' => $this->url->link('extension/shipping/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
131 + 'uninstall' => $this->url->link('extension/shipping/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
132 + 'installed' => in_array($extension, $extensions),
133 + 'edit' => $this->url->link('shipping/' . $extension, 'token=' . $this->session->data['token'], true)
134 + );
135 + }
136 + }
137 +
138 + $data['header'] = $this->load->controller('common/header');
139 + $data['column_left'] = $this->load->controller('common/column_left');
140 + $data['footer'] = $this->load->controller('common/footer');
141 +
142 + $this->response->setOutput($this->load->view('extension/shipping', $data));
143 + }
144 +
145 + protected function validate() {
146 + if (!$this->user->hasPermission('modify', 'extension/shipping')) {
147 + $this->error['warning'] = $this->language->get('error_permission');
148 + }
149 +
150 + return !$this->error;
151 + }
152 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerExtensionTheme extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/theme');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->getList();
13 + }
14 +
15 + public function install() {
16 + $this->load->language('extension/theme');
17 +
18 + $this->document->setTitle($this->language->get('heading_title'));
19 +
20 + $this->load->model('extension/extension');
21 +
22 + if ($this->validate()) {
23 + $this->model_extension_extension->install('theme', $this->request->get['extension']);
24 +
25 + $this->load->model('user/user_group');
26 +
27 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'theme/' . $this->request->get['extension']);
28 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'theme/' . $this->request->get['extension']);
29 +
30 + // Call install method if it exsits
31 + $this->load->controller('theme/' . $this->request->get['extension'] . '/install');
32 +
33 + $this->session->data['success'] = $this->language->get('text_success');
34 +
35 + $this->response->redirect($this->url->link('extension/theme', 'token=' . $this->session->data['token'], true));
36 + }
37 +
38 + $this->getList();
39 + }
40 +
41 + public function uninstall() {
42 + $this->load->language('extension/theme');
43 +
44 + $this->document->setTitle($this->language->get('heading_title'));
45 +
46 + $this->load->model('extension/extension');
47 +
48 + if ($this->validate()) {
49 + $this->model_extension_extension->uninstall('theme', $this->request->get['extension']);
50 +
51 + // Call uninstall method if it exsits
52 + $this->load->controller('theme/' . $this->request->get['extension'] . '/uninstall');
53 +
54 + $this->session->data['success'] = $this->language->get('text_success');
55 +
56 + $this->response->redirect($this->url->link('extension/theme', 'token=' . $this->session->data['token'], true));
57 + }
58 + }
59 +
60 + public function getList() {
61 + $data['breadcrumbs'] = array();
62 +
63 + $data['breadcrumbs'][] = array(
64 + 'text' => $this->language->get('text_home'),
65 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
66 + );
67 +
68 + $data['breadcrumbs'][] = array(
69 + 'text' => $this->language->get('heading_title'),
70 + 'href' => $this->url->link('extension/theme', 'token=' . $this->session->data['token'], true)
71 + );
72 +
73 + $data['heading_title'] = $this->language->get('heading_title');
74 +
75 + $data['text_list'] = $this->language->get('text_list');
76 + $data['text_no_results'] = $this->language->get('text_no_results');
77 + $data['text_confirm'] = $this->language->get('text_confirm');
78 +
79 + $data['column_name'] = $this->language->get('column_name');
80 + $data['column_status'] = $this->language->get('column_status');
81 + $data['column_action'] = $this->language->get('column_action');
82 +
83 + $data['button_edit'] = $this->language->get('button_edit');
84 + $data['button_install'] = $this->language->get('button_install');
85 + $data['button_uninstall'] = $this->language->get('button_uninstall');
86 +
87 + if (isset($this->error['warning'])) {
88 + $data['error_warning'] = $this->error['warning'];
89 + } else {
90 + $data['error_warning'] = '';
91 + }
92 +
93 + if (isset($this->session->data['success'])) {
94 + $data['success'] = $this->session->data['success'];
95 +
96 + unset($this->session->data['success']);
97 + } else {
98 + $data['success'] = '';
99 + }
100 +
101 + $extensions = $this->model_extension_extension->getInstalled('theme');
102 +
103 + foreach ($extensions as $key => $value) {
104 + if (!file_exists(DIR_APPLICATION . 'controller/theme/' . $value . '.php')) {
105 + $this->model_extension_extension->uninstall('theme', $value);
106 +
107 + unset($extensions[$key]);
108 + }
109 + }
110 +
111 + $this->load->model('setting/setting');
112 + $this->load->model('setting/store');
113 +
114 + $stores = $this->model_setting_store->getStores();
115 +
116 + $data['extensions'] = array();
117 +
118 + $files = glob(DIR_APPLICATION . 'controller/theme/*.php');
119 +
120 + if ($files) {
121 + foreach ($files as $file) {
122 + $extension = basename($file, '.php');
123 +
124 + $this->load->language('theme/' . $extension);
125 +
126 + $store_data = array();
127 +
128 + $store_data[] = array(
129 + 'name' => $this->config->get('config_name'),
130 + 'edit' => $this->url->link('theme/' . $extension, 'token=' . $this->session->data['token'] . '&store_id=0', true),
131 + 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled')
132 + );
133 +
134 + foreach ($stores as $store) {
135 + $store_data[] = array(
136 + 'name' => $store['name'],
137 + 'edit' => $this->url->link('theme/' . $extension, 'token=' . $this->session->data['token'] . '&store_id=' . $store['store_id'], true),
138 + 'status' => $this->model_setting_setting->getSettingValue($extension . '_status', $store['store_id']) ? $this->language->get('text_enabled') : $this->language->get('text_disabled')
139 + );
140 + }
141 +
142 + $data['extensions'][] = array(
143 + 'name' => $this->language->get('heading_title'),
144 + 'install' => $this->url->link('extension/theme/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
145 + 'uninstall' => $this->url->link('extension/theme/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
146 + 'installed' => in_array($extension, $extensions),
147 + 'store' => $store_data
148 + );
149 + }
150 + }
151 +
152 + $data['header'] = $this->load->controller('common/header');
153 + $data['column_left'] = $this->load->controller('common/column_left');
154 + $data['footer'] = $this->load->controller('common/footer');
155 +
156 + $this->response->setOutput($this->load->view('extension/theme', $data));
157 + }
158 +
159 + protected function validate() {
160 + if (!$this->user->hasPermission('modify', 'extension/theme')) {
161 + $this->error['warning'] = $this->language->get('error_permission');
162 + }
163 +
164 + return !$this->error;
165 + }
166 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerExtensionTotal extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('extension/total');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/extension');
11 +
12 + $this->getList();
13 + }
14 +
15 + public function install() {
16 + $this->load->language('extension/total');
17 +
18 + $this->document->setTitle($this->language->get('heading_title'));
19 +
20 + $this->load->model('extension/extension');
21 +
22 + if ($this->validate()) {
23 + $this->model_extension_extension->install('total', $this->request->get['extension']);
24 +
25 + $this->load->model('user/user_group');
26 +
27 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'total/' . $this->request->get['extension']);
28 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'total/' . $this->request->get['extension']);
29 +
30 + $this->load->controller('total/' . $this->request->get['extension'] . '/install');
31 +
32 + $this->session->data['success'] = $this->language->get('text_success');
33 +
34 + $this->response->redirect($this->url->link('extension/total', 'token=' . $this->session->data['token'], true));
35 + }
36 +
37 + $this->getList();
38 + }
39 +
40 + public function uninstall() {
41 + $this->load->language('extension/total');
42 +
43 + $this->document->setTitle($this->language->get('heading_title'));
44 +
45 + $this->load->model('extension/extension');
46 +
47 + if ($this->validate()) {
48 + $this->model_extension_extension->uninstall('total', $this->request->get['extension']);
49 +
50 + $this->load->controller('total/' . $this->request->get['extension'] . '/uninstall');
51 +
52 + $this->session->data['success'] = $this->language->get('text_success');
53 +
54 + $this->response->redirect($this->url->link('extension/total', 'token=' . $this->session->data['token'], true));
55 + }
56 +
57 + $this->getList();
58 + }
59 +
60 + public function getList() {
61 + $data['breadcrumbs'] = array();
62 +
63 + $data['breadcrumbs'][] = array(
64 + 'text' => $this->language->get('text_home'),
65 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
66 + );
67 +
68 + $data['breadcrumbs'][] = array(
69 + 'text' => $this->language->get('heading_title'),
70 + 'href' => $this->url->link('extension/total', 'token=' . $this->session->data['token'], true)
71 + );
72 +
73 + $data['heading_title'] = $this->language->get('heading_title');
74 +
75 + $data['text_list'] = $this->language->get('text_list');
76 + $data['text_no_results'] = $this->language->get('text_no_results');
77 + $data['text_confirm'] = $this->language->get('text_confirm');
78 +
79 + $data['column_name'] = $this->language->get('column_name');
80 + $data['column_status'] = $this->language->get('column_status');
81 + $data['column_sort_order'] = $this->language->get('column_sort_order');
82 + $data['column_action'] = $this->language->get('column_action');
83 +
84 + $data['button_edit'] = $this->language->get('button_edit');
85 + $data['button_install'] = $this->language->get('button_install');
86 + $data['button_uninstall'] = $this->language->get('button_uninstall');
87 +
88 + if (isset($this->error['warning'])) {
89 + $data['error_warning'] = $this->error['warning'];
90 + } else {
91 + $data['error_warning'] = '';
92 + }
93 +
94 + if (isset($this->session->data['success'])) {
95 + $data['success'] = $this->session->data['success'];
96 +
97 + unset($this->session->data['success']);
98 + } else {
99 + $data['success'] = '';
100 + }
101 +
102 + $this->load->model('extension/extension');
103 +
104 + $extensions = $this->model_extension_extension->getInstalled('total');
105 +
106 + foreach ($extensions as $key => $value) {
107 + if (!file_exists(DIR_APPLICATION . 'controller/total/' . $value . '.php')) {
108 + $this->model_extension_extension->uninstall('total', $value);
109 +
110 + unset($extensions[$key]);
111 + }
112 + }
113 +
114 + $data['extensions'] = array();
115 +
116 + $files = glob(DIR_APPLICATION . 'controller/total/*.php');
117 +
118 + if ($files) {
119 + foreach ($files as $file) {
120 + $extension = basename($file, '.php');
121 +
122 + $this->load->language('total/' . $extension);
123 +
124 + $data['extensions'][] = array(
125 + 'name' => $this->language->get('heading_title'),
126 + 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
127 + 'sort_order' => $this->config->get($extension . '_sort_order'),
128 + 'install' => $this->url->link('extension/total/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
129 + 'uninstall' => $this->url->link('extension/total/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, true),
130 + 'installed' => in_array($extension, $extensions),
131 + 'edit' => $this->url->link('total/' . $extension, 'token=' . $this->session->data['token'], true)
132 + );
133 + }
134 + }
135 +
136 + $data['header'] = $this->load->controller('common/header');
137 + $data['column_left'] = $this->load->controller('common/column_left');
138 + $data['footer'] = $this->load->controller('common/footer');
139 +
140 + $this->response->setOutput($this->load->view('extension/total', $data));
141 + }
142 +
143 + protected function validate() {
144 + if (!$this->user->hasPermission('modify', 'extension/total')) {
145 + $this->error['warning'] = $this->language->get('error_permission');
146 + }
147 +
148 + return !$this->error;
149 + }
150 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerFeedGoogleBase extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('feed/google_base');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('google_base', $this->request->post);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/feed', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 + $data['text_import'] = $this->language->get('text_import');
26 +
27 + $data['entry_google_category'] = $this->language->get('entry_google_category');
28 + $data['entry_category'] = $this->language->get('entry_category');
29 + $data['entry_data_feed'] = $this->language->get('entry_data_feed');
30 + $data['entry_status'] = $this->language->get('entry_status');
31 +
32 + $data['button_import'] = $this->language->get('button_import');
33 + $data['button_save'] = $this->language->get('button_save');
34 + $data['button_cancel'] = $this->language->get('button_cancel');
35 + $data['button_category_add'] = $this->language->get('button_category_add');
36 +
37 + if (isset($this->error['warning'])) {
38 + $data['error_warning'] = $this->error['warning'];
39 + } else {
40 + $data['error_warning'] = '';
41 + }
42 +
43 + $data['breadcrumbs'] = array();
44 +
45 + $data['breadcrumbs'][] = array(
46 + 'text' => $this->language->get('text_home'),
47 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
48 + );
49 +
50 + $data['breadcrumbs'][] = array(
51 + 'text' => $this->language->get('text_feed'),
52 + 'href' => $this->url->link('extension/feed', 'token=' . $this->session->data['token'], true)
53 + );
54 +
55 + $data['breadcrumbs'][] = array(
56 + 'text' => $this->language->get('heading_title'),
57 + 'href' => $this->url->link('feed/google_base', 'token=' . $this->session->data['token'], true)
58 + );
59 +
60 + $data['action'] = $this->url->link('feed/google_base', 'token=' . $this->session->data['token'], true);
61 +
62 + $data['cancel'] = $this->url->link('extension/feed', 'token=' . $this->session->data['token'], true);
63 +
64 + $data['token'] = $this->session->data['token'];
65 +
66 + $data['data_feed'] = HTTP_CATALOG . 'index.php?route=feed/google_base';
67 +
68 + if (isset($this->request->post['google_base_status'])) {
69 + $data['google_base_status'] = $this->request->post['google_base_status'];
70 + } else {
71 + $data['google_base_status'] = $this->config->get('google_base_status');
72 + }
73 +
74 + $data['header'] = $this->load->controller('common/header');
75 + $data['column_left'] = $this->load->controller('common/column_left');
76 + $data['footer'] = $this->load->controller('common/footer');
77 +
78 + $this->response->setOutput($this->load->view('feed/google_base', $data));
79 + }
80 +
81 + protected function validate() {
82 + if (!$this->user->hasPermission('modify', 'feed/google_base')) {
83 + $this->error['warning'] = $this->language->get('error_permission');
84 + }
85 +
86 + return !$this->error;
87 + }
88 +
89 + public function install() {
90 + $this->load->model('feed/google_base');
91 +
92 + $this->model_feed_google_base->install();
93 + }
94 +
95 + public function uninstall() {
96 + $this->load->model('feed/google_base');
97 +
98 + $this->model_feed_google_base->uninstall();
99 + }
100 +
101 + public function import() {
102 + $this->load->language('feed/google_base');
103 +
104 + $json = array();
105 +
106 + // Check user has permission
107 + if (!$this->user->hasPermission('modify', 'feed/google_base')) {
108 + $json['error'] = $this->language->get('error_permission');
109 + }
110 +
111 + if (!$json) {
112 + if (!empty($this->request->files['file']['name']) && is_file($this->request->files['file']['tmp_name'])) {
113 + // Sanitize the filename
114 + $filename = basename(html_entity_decode($this->request->files['file']['name'], ENT_QUOTES, 'UTF-8'));
115 +
116 + // Allowed file extension types
117 + if (utf8_strtolower(utf8_substr(strrchr($filename, '.'), 1)) != 'txt') {
118 + $json['error'] = $this->language->get('error_filetype');
119 + }
120 +
121 + // Allowed file mime types
122 + if ($this->request->files['file']['type'] != 'text/plain') {
123 + $json['error'] = $this->language->get('error_filetype');
124 + }
125 +
126 + // Return any upload error
127 + if ($this->request->files['file']['error'] != UPLOAD_ERR_OK) {
128 + $json['error'] = $this->language->get('error_upload_' . $this->request->files['file']['error']);
129 + }
130 + } else {
131 + $json['error'] = $this->language->get('error_upload');
132 + }
133 + }
134 +
135 + if (!$json) {
136 + $json['success'] = $this->language->get('text_success');
137 +
138 + $this->load->model('feed/google_base');
139 +
140 + // Get the contents of the uploaded file
141 + $content = file_get_contents($this->request->files['file']['tmp_name']);
142 +
143 + $this->model_feed_google_base->import($content);
144 +
145 + unlink($this->request->files['file']['tmp_name']);
146 + }
147 +
148 + $this->response->addHeader('Content-Type: application/json');
149 + $this->response->setOutput(json_encode($json));
150 + }
151 +
152 + public function category() {
153 + $this->load->language('feed/google_base');
154 +
155 + $data['text_no_results'] = $this->language->get('text_no_results');
156 + $data['text_loading'] = $this->language->get('text_loading');
157 +
158 + $data['column_google_category'] = $this->language->get('column_google_category');
159 + $data['column_category'] = $this->language->get('column_category');
160 + $data['column_action'] = $this->language->get('column_action');
161 +
162 + $data['button_remove'] = $this->language->get('button_remove');
163 +
164 + if (isset($this->request->get['page'])) {
165 + $page = $this->request->get['page'];
166 + } else {
167 + $page = 1;
168 + }
169 +
170 + $data['google_base_categories'] = array();
171 +
172 + $this->load->model('feed/google_base');
173 +
174 + $results = $this->model_feed_google_base->getCategories(($page - 1) * 10, 10);
175 +
176 + foreach ($results as $result) {
177 + $data['google_base_categories'][] = array(
178 + 'google_base_category_id' => $result['google_base_category_id'],
179 + 'google_base_category' => $result['google_base_category'],
180 + 'category_id' => $result['category_id'],
181 + 'category' => $result['category']
182 + );
183 + }
184 +
185 + $category_total = $this->model_feed_google_base->getTotalCategories();
186 +
187 + $pagination = new Pagination();
188 + $pagination->total = $category_total;
189 + $pagination->page = $page;
190 + $pagination->limit = 10;
191 + $pagination->url = $this->url->link('feed/google_base/category', 'token=' . $this->session->data['token'] . '&page={page}', true);
192 +
193 + $data['pagination'] = $pagination->render();
194 +
195 + $data['results'] = sprintf($this->language->get('text_pagination'), ($category_total) ? (($page - 1) * 10) + 1 : 0, ((($page - 1) * 10) > ($category_total - 10)) ? $category_total : ((($page - 1) * 10) + 10), $category_total, ceil($category_total / 10));
196 +
197 + $this->response->setOutput($this->load->view('feed/google_base_category', $data));
198 + }
199 +
200 + public function addCategory() {
201 + $this->load->language('feed/google_base');
202 +
203 + $json = array();
204 +
205 + if (!$this->user->hasPermission('modify', 'sale/order')) {
206 + $json['error'] = $this->language->get('error_permission');
207 + } elseif (!empty($this->request->post['google_base_category_id']) && !empty($this->request->post['category_id'])) {
208 + $this->load->model('feed/google_base');
209 +
210 + $this->model_feed_google_base->addCategory($this->request->post);
211 +
212 + $json['success'] = $this->language->get('text_success');
213 + }
214 +
215 + $this->response->addHeader('Content-Type: application/json');
216 + $this->response->setOutput(json_encode($json));
217 + }
218 +
219 + public function removeCategory() {
220 + $this->load->language('feed/google_base');
221 +
222 + $json = array();
223 +
224 + if (!$this->user->hasPermission('modify', 'sale/order')) {
225 + $json['error'] = $this->language->get('error_permission');
226 + } else {
227 + $this->load->model('feed/google_base');
228 +
229 + $this->model_feed_google_base->deleteCategory($this->request->post['category_id']);
230 +
231 + $json['success'] = $this->language->get('text_success');
232 + }
233 +
234 + $this->response->addHeader('Content-Type: application/json');
235 + $this->response->setOutput(json_encode($json));
236 + }
237 +
238 + public function autocomplete() {
239 + $json = array();
240 +
241 + if (isset($this->request->get['filter_name'])) {
242 + $this->load->model('feed/google_base');
243 +
244 + if (isset($this->request->get['filter_name'])) {
245 + $filter_name = $this->request->get['filter_name'];
246 + } else {
247 + $filter_name = '';
248 + }
249 +
250 + $filter_data = array(
251 + 'filter_name' => html_entity_decode($filter_name, ENT_QUOTES, 'UTF-8'),
252 + 'start' => 0,
253 + 'limit' => 5
254 + );
255 +
256 + $results = $this->model_feed_google_base->getGoogleBaseCategories($filter_data);
257 +
258 + foreach ($results as $result) {
259 + $json[] = array(
260 + 'google_base_category_id' => $result['google_base_category_id'],
261 + 'name' => strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8'))
262 + );
263 + }
264 + }
265 +
266 + $this->response->addHeader('Content-Type: application/json');
267 + $this->response->setOutput(json_encode($json));
268 + }
269 +}
1 +<?php
2 +class ControllerFeedGoogleSitemap extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('feed/google_sitemap');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('google_sitemap', $this->request->post);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/feed', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 +
26 + $data['entry_status'] = $this->language->get('entry_status');
27 + $data['entry_data_feed'] = $this->language->get('entry_data_feed');
28 +
29 + $data['button_save'] = $this->language->get('button_save');
30 + $data['button_cancel'] = $this->language->get('button_cancel');
31 +
32 + $data['tab_general'] = $this->language->get('tab_general');
33 +
34 + if (isset($this->error['warning'])) {
35 + $data['error_warning'] = $this->error['warning'];
36 + } else {
37 + $data['error_warning'] = '';
38 + }
39 +
40 + $data['breadcrumbs'] = array();
41 +
42 + $data['breadcrumbs'][] = array(
43 + 'text' => $this->language->get('text_home'),
44 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
45 + );
46 +
47 + $data['breadcrumbs'][] = array(
48 + 'text' => $this->language->get('text_feed'),
49 + 'href' => $this->url->link('extension/feed', 'token=' . $this->session->data['token'], true)
50 + );
51 +
52 + $data['breadcrumbs'][] = array(
53 + 'text' => $this->language->get('heading_title'),
54 + 'href' => $this->url->link('feed/google_sitemap', 'token=' . $this->session->data['token'], true)
55 + );
56 +
57 + $data['action'] = $this->url->link('feed/google_sitemap', 'token=' . $this->session->data['token'], true);
58 +
59 + $data['cancel'] = $this->url->link('extension/feed', 'token=' . $this->session->data['token'], true);
60 +
61 + if (isset($this->request->post['google_sitemap_status'])) {
62 + $data['google_sitemap_status'] = $this->request->post['google_sitemap_status'];
63 + } else {
64 + $data['google_sitemap_status'] = $this->config->get('google_sitemap_status');
65 + }
66 +
67 + $data['data_feed'] = HTTP_CATALOG . 'index.php?route=feed/google_sitemap';
68 +
69 + $data['header'] = $this->load->controller('common/header');
70 + $data['column_left'] = $this->load->controller('common/column_left');
71 + $data['footer'] = $this->load->controller('common/footer');
72 +
73 + $this->response->setOutput($this->load->view('feed/google_sitemap', $data));
74 + }
75 +
76 + protected function validate() {
77 + if (!$this->user->hasPermission('modify', 'feed/google_sitemap')) {
78 + $this->error['warning'] = $this->language->get('error_permission');
79 + }
80 +
81 + return !$this->error;
82 + }
83 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerFeedOpenbaypro extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('feed/openbaypro');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $data['breadcrumbs'] = array();
11 +
12 + $data['breadcrumbs'][] = array(
13 + 'text' => $this->language->get('text_home'),
14 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true),
15 + );
16 +
17 + $data['breadcrumbs'][] = array(
18 + 'text' => $this->language->get('text_module'),
19 + 'href' => $this->url->link('extension/feed', 'token=' . $this->session->data['token'], true),
20 + );
21 +
22 + $data['breadcrumbs'][] = array(
23 + 'text' => $this->language->get('heading_title'),
24 + 'href' => $this->url->link('feed/openbay', 'token=' . $this->session->data['token'], true),
25 + );
26 +
27 + $data['cancel'] = $this->url->link('extension/feed', 'token=' . $this->session->data['token'], true);
28 +
29 + $data['heading_title'] = $this->language->get('heading_title');
30 + $data['button_cancel'] = $this->language->get('button_cancel');
31 + $data['text_installed'] = $this->language->get('text_installed');
32 +
33 + $data['header'] = $this->load->controller('common/header');
34 + $data['column_left'] = $this->load->controller('common/column_left');
35 + $data['footer'] = $this->load->controller('common/footer');
36 +
37 + $this->response->setOutput($this->load->view('feed/openbaypro', $data));
38 + }
39 +
40 + protected function validate() {
41 + if (!$this->user->hasPermission('modify', 'module/openbaypro')) {
42 + $this->error['warning'] = $this->language->get('error_permission');
43 + }
44 +
45 + return !$this->error;
46 + }
47 +
48 + public function install() {
49 + $this->load->model('setting/setting');
50 + $this->load->model('extension/event');
51 +
52 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'extension/openbay');
53 + $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/openbay');
54 +
55 + $settings = $this->model_setting_setting->getSetting('openbaypro');
56 + $settings['openbaypro_menu'] = 1;
57 + $settings['openbaypro_status'] = 1;
58 + $this->model_setting_setting->editSetting('openbaypro', $settings);
59 +
60 + $this->model_extension_event->addEvent('openbay', 'admin/model/catalog/product/deleteProduct/after', 'extension/openbay/eventDeleteProduct');
61 + $this->model_extension_event->addEvent('openbay', 'admin/model/catalog/product/editProduct/after', 'extension/openbay/eventEditProduct');
62 + }
63 +
64 + public function uninstall() {
65 + $this->load->model('setting/setting');
66 + $this->load->model('extension/event');
67 +
68 + $settings = $this->model_setting_setting->getSetting('openbaypro');
69 + $settings['openbaypro_menu'] = 0;
70 + $settings['openbaypro_status'] = 0;
71 + $this->model_setting_setting->editSetting('openbaypro', $settings);
72 +
73 + $this->model_extension_event->deleteEvent('openbay');
74 + }
75 +}
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerFraudIp extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('fraud/ip');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('ip', $this->request->post);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/fraud', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 + $data['text_ip_add'] = $this->language->get('text_ip_add');
26 + $data['text_ip_list'] = $this->language->get('text_ip_list');
27 + $data['text_loading'] = $this->language->get('text_loading');
28 +
29 + $data['entry_ip'] = $this->language->get('entry_ip');
30 + $data['entry_order_status'] = $this->language->get('entry_order_status');
31 + $data['entry_status'] = $this->language->get('entry_status');
32 +
33 + $data['help_ip'] = $this->language->get('help_ip');
34 + $data['help_order_status'] = $this->language->get('help_order_status');
35 +
36 + $data['button_save'] = $this->language->get('button_save');
37 + $data['button_cancel'] = $this->language->get('button_cancel');
38 + $data['button_ip_add'] = $this->language->get('button_ip_add');
39 +
40 + $data['tab_general'] = $this->language->get('tab_general');
41 + $data['tab_ip'] = $this->language->get('tab_ip');
42 +
43 + $data['token'] = $this->session->data['token'];
44 +
45 + if (isset($this->error['warning'])) {
46 + $data['error_warning'] = $this->error['warning'];
47 + } else {
48 + $data['error_warning'] = '';
49 + }
50 +
51 + $data['breadcrumbs'] = array();
52 +
53 + $data['breadcrumbs'][] = array(
54 + 'text' => $this->language->get('text_home'),
55 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
56 + );
57 +
58 + $data['breadcrumbs'][] = array(
59 + 'text' => $this->language->get('text_fraud'),
60 + 'href' => $this->url->link('extension/fraud', 'token=' . $this->session->data['token'], true)
61 + );
62 +
63 + $data['breadcrumbs'][] = array(
64 + 'text' => $this->language->get('heading_title'),
65 + 'href' => $this->url->link('fraud/ip', 'token=' . $this->session->data['token'], true)
66 + );
67 +
68 + $data['action'] = $this->url->link('fraud/ip', 'token=' . $this->session->data['token'], true);
69 +
70 + $data['cancel'] = $this->url->link('extension/fraud', 'token=' . $this->session->data['token'], true);
71 +
72 + if (isset($this->request->post['ip_order_status_id'])) {
73 + $data['ip_order_status_id'] = $this->request->post['ip_order_status_id'];
74 + } else {
75 + $data['ip_order_status_id'] = $this->config->get('ip_order_status_id');
76 + }
77 +
78 + $this->load->model('localisation/order_status');
79 +
80 + $data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
81 +
82 + if (isset($this->request->post['ip_status'])) {
83 + $data['ip_status'] = $this->request->post['ip_status'];
84 + } else {
85 + $data['ip_status'] = $this->config->get('ip_status');
86 + }
87 +
88 + $data['header'] = $this->load->controller('common/header');
89 + $data['column_left'] = $this->load->controller('common/column_left');
90 + $data['footer'] = $this->load->controller('common/footer');
91 +
92 + $this->response->setOutput($this->load->view('fraud/ip', $data));
93 + }
94 +
95 + public function install() {
96 + $this->load->model('fraud/ip');
97 +
98 + $this->model_fraud_ip->install();
99 + }
100 +
101 + public function uninstall() {
102 + $this->load->model('fraud/ip');
103 +
104 + $this->model_fraud_ip->uninstall();
105 + }
106 +
107 + protected function validate() {
108 + if (!$this->user->hasPermission('modify', 'fraud/ip')) {
109 + $this->error['warning'] = $this->language->get('error_permission');
110 + }
111 +
112 + return !$this->error;
113 + }
114 +
115 + public function ip() {
116 + $this->load->language('fraud/ip');
117 +
118 + $this->load->model('fraud/ip');
119 + $this->load->model('customer/customer');
120 +
121 + $data['text_no_results'] = $this->language->get('text_no_results');
122 + $data['text_loading'] = $this->language->get('text_loading');
123 +
124 + $data['column_ip'] = $this->language->get('column_ip');
125 + $data['column_total'] = $this->language->get('column_total');
126 + $data['column_date_added'] = $this->language->get('column_date_added');
127 + $data['column_action'] = $this->language->get('column_action');
128 +
129 + $data['button_remove'] = $this->language->get('button_remove');
130 +
131 + if (isset($this->request->get['page'])) {
132 + $page = $this->request->get['page'];
133 + } else {
134 + $page = 1;
135 + }
136 +
137 + $data['ips'] = array();
138 +
139 + $results = $this->model_fraud_ip->getIps(($page - 1) * 10, 10);
140 +
141 + foreach ($results as $result) {
142 + $data['ips'][] = array(
143 + 'ip' => $result['ip'],
144 + 'total' => $this->model_customer_customer->getTotalCustomersByIp($result['ip']),
145 + 'date_added' => date('d/m/y', strtotime($result['date_added'])),
146 + 'filter_ip' => $this->url->link('customer/customer', 'token=' . $this->session->data['token'] . '&filter_ip=' . $result['ip'], true)
147 + );
148 + }
149 +
150 + $ip_total = $this->model_fraud_ip->getTotalIps();
151 +
152 + $pagination = new Pagination();
153 + $pagination->total = $ip_total;
154 + $pagination->page = $page;
155 + $pagination->limit = 10;
156 + $pagination->url = $this->url->link('fraud/ip/ip', 'token=' . $this->session->data['token'] . '&page={page}', true);
157 +
158 + $data['pagination'] = $pagination->render();
159 +
160 + $data['results'] = sprintf($this->language->get('text_pagination'), ($ip_total) ? (($page - 1) * 10) + 1 : 0, ((($page - 1) * 10) > ($ip_total - 10)) ? $ip_total : ((($page - 1) * 10) + 10), $ip_total, ceil($ip_total / 10));
161 +
162 + $this->response->setOutput($this->load->view('fraud/ip_ip', $data));
163 + }
164 +
165 + public function addIp() {
166 + $this->load->language('fraud/ip');
167 +
168 + $json = array();
169 +
170 + if (!$this->user->hasPermission('modify', 'fraud/ip')) {
171 + $json['error'] = $this->language->get('error_permission');
172 + } else {
173 + $this->load->model('fraud/ip');
174 +
175 + if (!$this->model_fraud_ip->getTotalIpsByIp($this->request->post['ip'])) {
176 + $this->model_fraud_ip->addIp($this->request->post['ip']);
177 + }
178 +
179 + $json['success'] = $this->language->get('text_success');
180 + }
181 +
182 + $this->response->addHeader('Content-Type: application/json');
183 + $this->response->setOutput(json_encode($json));
184 + }
185 +
186 + public function removeIp() {
187 + $this->load->language('fraud/ip');
188 +
189 + $json = array();
190 +
191 + if (!$this->user->hasPermission('modify', 'fraud/ip')) {
192 + $json['error'] = $this->language->get('error_permission');
193 + } else {
194 + $this->load->model('fraud/ip');
195 +
196 + $this->model_fraud_ip->removeIp($this->request->post['ip']);
197 +
198 + $json['success'] = $this->language->get('text_success');
199 + }
200 +
201 + $this->response->addHeader('Content-Type: application/json');
202 + $this->response->setOutput(json_encode($json));
203 + }
204 +}
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerMarketingContact extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('marketing/contact');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $data['heading_title'] = $this->language->get('heading_title');
11 +
12 + $data['text_default'] = $this->language->get('text_default');
13 + $data['text_newsletter'] = $this->language->get('text_newsletter');
14 + $data['text_customer_all'] = $this->language->get('text_customer_all');
15 + $data['text_customer'] = $this->language->get('text_customer');
16 + $data['text_customer_group'] = $this->language->get('text_customer_group');
17 + $data['text_affiliate_all'] = $this->language->get('text_affiliate_all');
18 + $data['text_affiliate'] = $this->language->get('text_affiliate');
19 + $data['text_product'] = $this->language->get('text_product');
20 + $data['text_loading'] = $this->language->get('text_loading');
21 +
22 + $data['entry_store'] = $this->language->get('entry_store');
23 + $data['entry_to'] = $this->language->get('entry_to');
24 + $data['entry_customer_group'] = $this->language->get('entry_customer_group');
25 + $data['entry_customer'] = $this->language->get('entry_customer');
26 + $data['entry_affiliate'] = $this->language->get('entry_affiliate');
27 + $data['entry_product'] = $this->language->get('entry_product');
28 + $data['entry_subject'] = $this->language->get('entry_subject');
29 + $data['entry_message'] = $this->language->get('entry_message');
30 +
31 + $data['help_customer'] = $this->language->get('help_customer');
32 + $data['help_affiliate'] = $this->language->get('help_affiliate');
33 + $data['help_product'] = $this->language->get('help_product');
34 +
35 + $data['button_send'] = $this->language->get('button_send');
36 + $data['button_cancel'] = $this->language->get('button_cancel');
37 +
38 + $data['token'] = $this->session->data['token'];
39 +
40 + $data['breadcrumbs'] = array();
41 +
42 + $data['breadcrumbs'][] = array(
43 + 'text' => $this->language->get('text_home'),
44 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
45 + );
46 +
47 + $data['breadcrumbs'][] = array(
48 + 'text' => $this->language->get('heading_title'),
49 + 'href' => $this->url->link('marketing/contact', 'token=' . $this->session->data['token'], true)
50 + );
51 +
52 + $data['cancel'] = $this->url->link('marketing/contact', 'token=' . $this->session->data['token'], true);
53 +
54 + $this->load->model('setting/store');
55 +
56 + $data['stores'] = $this->model_setting_store->getStores();
57 +
58 + $this->load->model('customer/customer_group');
59 +
60 + $data['customer_groups'] = $this->model_customer_customer_group->getCustomerGroups();
61 +
62 + $data['header'] = $this->load->controller('common/header');
63 + $data['column_left'] = $this->load->controller('common/column_left');
64 + $data['footer'] = $this->load->controller('common/footer');
65 +
66 + $this->response->setOutput($this->load->view('marketing/contact', $data));
67 + }
68 +
69 + public function send() {
70 + $this->load->language('marketing/contact');
71 +
72 + $json = array();
73 +
74 + if ($this->request->server['REQUEST_METHOD'] == 'POST') {
75 + if (!$this->user->hasPermission('modify', 'marketing/contact')) {
76 + $json['error']['warning'] = $this->language->get('error_permission');
77 + }
78 +
79 + if (!$this->request->post['subject']) {
80 + $json['error']['subject'] = $this->language->get('error_subject');
81 + }
82 +
83 + if (!$this->request->post['message']) {
84 + $json['error']['message'] = $this->language->get('error_message');
85 + }
86 +
87 + if (!$json) {
88 + $this->load->model('setting/store');
89 +
90 + $store_info = $this->model_setting_store->getStore($this->request->post['store_id']);
91 +
92 + if ($store_info) {
93 + $store_name = $store_info['name'];
94 + } else {
95 + $store_name = $this->config->get('config_name');
96 + }
97 +
98 + $this->load->model('setting/setting');
99 + $setting = $this->model_setting_setting->getSetting('config', $this->request->post['store_id']);
100 + $store_email = isset($setting['config_email']) ? $setting['config_email'] : $this->config->get('config_email');
101 +
102 + $this->load->model('customer/customer');
103 +
104 + $this->load->model('customer/customer_group');
105 +
106 + $this->load->model('marketing/affiliate');
107 +
108 + $this->load->model('sale/order');
109 +
110 + if (isset($this->request->get['page'])) {
111 + $page = $this->request->get['page'];
112 + } else {
113 + $page = 1;
114 + }
115 +
116 + $email_total = 0;
117 +
118 + $emails = array();
119 +
120 + switch ($this->request->post['to']) {
121 + case 'newsletter':
122 + $customer_data = array(
123 + 'filter_newsletter' => 1,
124 + 'start' => ($page - 1) * 10,
125 + 'limit' => 10
126 + );
127 +
128 + $email_total = $this->model_customer_customer->getTotalCustomers($customer_data);
129 +
130 + $results = $this->model_customer_customer->getCustomers($customer_data);
131 +
132 + foreach ($results as $result) {
133 + $emails[] = $result['email'];
134 + }
135 + break;
136 + case 'customer_all':
137 + $customer_data = array(
138 + 'start' => ($page - 1) * 10,
139 + 'limit' => 10
140 + );
141 +
142 + $email_total = $this->model_customer_customer->getTotalCustomers($customer_data);
143 +
144 + $results = $this->model_customer_customer->getCustomers($customer_data);
145 +
146 + foreach ($results as $result) {
147 + $emails[] = $result['email'];
148 + }
149 + break;
150 + case 'customer_group':
151 + $customer_data = array(
152 + 'filter_customer_group_id' => $this->request->post['customer_group_id'],
153 + 'start' => ($page - 1) * 10,
154 + 'limit' => 10
155 + );
156 +
157 + $email_total = $this->model_customer_customer->getTotalCustomers($customer_data);
158 +
159 + $results = $this->model_customer_customer->getCustomers($customer_data);
160 +
161 + foreach ($results as $result) {
162 + $emails[$result['customer_id']] = $result['email'];
163 + }
164 + break;
165 + case 'customer':
166 + if (!empty($this->request->post['customer'])) {
167 + foreach ($this->request->post['customer'] as $customer_id) {
168 + $customer_info = $this->model_customer_customer->getCustomer($customer_id);
169 +
170 + if ($customer_info) {
171 + $emails[] = $customer_info['email'];
172 + }
173 + }
174 + }
175 + break;
176 + case 'affiliate_all':
177 + $affiliate_data = array(
178 + 'start' => ($page - 1) * 10,
179 + 'limit' => 10
180 + );
181 +
182 + $email_total = $this->model_marketing_affiliate->getTotalAffiliates($affiliate_data);
183 +
184 + $results = $this->model_marketing_affiliate->getAffiliates($affiliate_data);
185 +
186 + foreach ($results as $result) {
187 + $emails[] = $result['email'];
188 + }
189 + break;
190 + case 'affiliate':
191 + if (!empty($this->request->post['affiliate'])) {
192 + foreach ($this->request->post['affiliate'] as $affiliate_id) {
193 + $affiliate_info = $this->model_marketing_affiliate->getAffiliate($affiliate_id);
194 +
195 + if ($affiliate_info) {
196 + $emails[] = $affiliate_info['email'];
197 + }
198 + }
199 + }
200 + break;
201 + case 'product':
202 + if (isset($this->request->post['product'])) {
203 + $email_total = $this->model_sale_order->getTotalEmailsByProductsOrdered($this->request->post['product']);
204 +
205 + $results = $this->model_sale_order->getEmailsByProductsOrdered($this->request->post['product'], ($page - 1) * 10, 10);
206 +
207 + foreach ($results as $result) {
208 + $emails[] = $result['email'];
209 + }
210 + }
211 + break;
212 + }
213 +
214 + if ($emails) {
215 + $start = ($page - 1) * 10;
216 + $end = $start + 10;
217 +
218 + if ($end < $email_total) {
219 + $json['success'] = sprintf($this->language->get('text_sent'), $start, $email_total);
220 + } else {
221 + $json['success'] = $this->language->get('text_success');
222 + }
223 +
224 + if ($end < $email_total) {
225 + $json['next'] = str_replace('&amp;', '&', $this->url->link('marketing/contact/send', 'token=' . $this->session->data['token'] . '&page=' . ($page + 1), true));
226 + } else {
227 + $json['next'] = '';
228 + }
229 +
230 + $message = '<html dir="ltr" lang="en">' . "\n";
231 + $message .= ' <head>' . "\n";
232 + $message .= ' <title>' . $this->request->post['subject'] . '</title>' . "\n";
233 + $message .= ' <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">' . "\n";
234 + $message .= ' </head>' . "\n";
235 + $message .= ' <body>' . html_entity_decode($this->request->post['message'], ENT_QUOTES, 'UTF-8') . '</body>' . "\n";
236 + $message .= '</html>' . "\n";
237 +
238 + foreach ($emails as $email) {
239 + if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
240 + $mail = new Mail();
241 + $mail->protocol = $this->config->get('config_mail_protocol');
242 + $mail->parameter = $this->config->get('config_mail_parameter');
243 + $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
244 + $mail->smtp_username = $this->config->get('config_mail_smtp_username');
245 + $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
246 + $mail->smtp_port = $this->config->get('config_mail_smtp_port');
247 + $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');
248 +
249 + $mail->setTo($email);
250 + $mail->setFrom($store_email);
251 + $mail->setSender(html_entity_decode($store_name, ENT_QUOTES, 'UTF-8'));
252 + $mail->setSubject(html_entity_decode($this->request->post['subject'], ENT_QUOTES, 'UTF-8'));
253 + $mail->setHtml($message);
254 + $mail->send();
255 + }
256 + }
257 + }
258 + }
259 + }
260 +
261 + $this->response->addHeader('Content-Type: application/json');
262 + $this->response->setOutput(json_encode($json));
263 + }
264 +}
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +<?php
2 +class ControllerModuleAccount extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('module/account');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('account', $this->request->post);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 +
26 + $data['entry_status'] = $this->language->get('entry_status');
27 +
28 + $data['button_save'] = $this->language->get('button_save');
29 + $data['button_cancel'] = $this->language->get('button_cancel');
30 +
31 + if (isset($this->error['warning'])) {
32 + $data['error_warning'] = $this->error['warning'];
33 + } else {
34 + $data['error_warning'] = '';
35 + }
36 +
37 + $data['breadcrumbs'] = array();
38 +
39 + $data['breadcrumbs'][] = array(
40 + 'text' => $this->language->get('text_home'),
41 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
42 + );
43 +
44 + $data['breadcrumbs'][] = array(
45 + 'text' => $this->language->get('text_module'),
46 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true)
47 + );
48 +
49 + $data['breadcrumbs'][] = array(
50 + 'text' => $this->language->get('heading_title'),
51 + 'href' => $this->url->link('module/account', 'token=' . $this->session->data['token'], true)
52 + );
53 +
54 + $data['action'] = $this->url->link('module/account', 'token=' . $this->session->data['token'], true);
55 +
56 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
57 +
58 + if (isset($this->request->post['account_status'])) {
59 + $data['account_status'] = $this->request->post['account_status'];
60 + } else {
61 + $data['account_status'] = $this->config->get('account_status');
62 + }
63 +
64 + $data['header'] = $this->load->controller('common/header');
65 + $data['column_left'] = $this->load->controller('common/column_left');
66 + $data['footer'] = $this->load->controller('common/footer');
67 +
68 + $this->response->setOutput($this->load->view('module/account', $data));
69 + }
70 +
71 + protected function validate() {
72 + if (!$this->user->hasPermission('modify', 'module/account')) {
73 + $this->error['warning'] = $this->language->get('error_permission');
74 + }
75 +
76 + return !$this->error;
77 + }
78 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerModuleAffiliate extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('module/affiliate');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('affiliate', $this->request->post);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 +
26 + $data['entry_status'] = $this->language->get('entry_status');
27 +
28 + $data['button_save'] = $this->language->get('button_save');
29 + $data['button_cancel'] = $this->language->get('button_cancel');
30 +
31 + if (isset($this->error['warning'])) {
32 + $data['error_warning'] = $this->error['warning'];
33 + } else {
34 + $data['error_warning'] = '';
35 + }
36 +
37 + $data['breadcrumbs'] = array();
38 +
39 + $data['breadcrumbs'][] = array(
40 + 'text' => $this->language->get('text_home'),
41 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
42 + );
43 +
44 + $data['breadcrumbs'][] = array(
45 + 'text' => $this->language->get('text_module'),
46 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true)
47 + );
48 +
49 + $data['breadcrumbs'][] = array(
50 + 'text' => $this->language->get('heading_title'),
51 + 'href' => $this->url->link('module/affiliate', 'token=' . $this->session->data['token'], true)
52 + );
53 +
54 + $data['action'] = $this->url->link('module/affiliate', 'token=' . $this->session->data['token'], true);
55 +
56 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
57 +
58 + if (isset($this->request->post['affiliate_status'])) {
59 + $data['affiliate_status'] = $this->request->post['affiliate_status'];
60 + } else {
61 + $data['affiliate_status'] = $this->config->get('affiliate_status');
62 + }
63 +
64 + $data['header'] = $this->load->controller('common/header');
65 + $data['column_left'] = $this->load->controller('common/column_left');
66 + $data['footer'] = $this->load->controller('common/footer');
67 +
68 + $this->response->setOutput($this->load->view('module/affiliate', $data));
69 + }
70 +
71 + protected function validate() {
72 + if (!$this->user->hasPermission('modify', 'module/affiliate')) {
73 + $this->error['warning'] = $this->language->get('error_permission');
74 + }
75 +
76 + return !$this->error;
77 + }
78 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerModuleAmazonLogin extends Controller {
3 +
4 + private $error = array();
5 +
6 + public function index() {
7 + $this->load->language('module/amazon_login');
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('amazon_login', $this->request->post);
16 +
17 + $this->session->data['success'] = $this->language->get('text_success');
18 +
19 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
20 + }
21 +
22 + $data['heading_title'] = $this->language->get('heading_title');
23 +
24 + $data['text_enabled'] = $this->language->get('text_enabled');
25 + $data['text_disabled'] = $this->language->get('text_disabled');
26 + $data['text_content_top'] = $this->language->get('text_content_top');
27 + $data['text_content_bottom'] = $this->language->get('text_content_bottom');
28 + $data['text_column_left'] = $this->language->get('text_column_left');
29 + $data['text_column_right'] = $this->language->get('text_column_right');
30 + $data['text_lwa_button'] = $this->language->get('text_lwa_button');
31 + $data['text_login_button'] = $this->language->get('text_login_button');
32 + $data['text_a_button'] = $this->language->get('text_a_button');
33 + $data['text_gold_button'] = $this->language->get('text_gold_button');
34 + $data['text_darkgray_button'] = $this->language->get('text_darkgray_button');
35 + $data['text_lightgray_button'] = $this->language->get('text_lightgray_button');
36 + $data['text_small_button'] = $this->language->get('text_small_button');
37 + $data['text_medium_button'] = $this->language->get('text_medium_button');
38 + $data['text_large_button'] = $this->language->get('text_large_button');
39 + $data['text_x_large_button'] = $this->language->get('text_x_large_button');
40 +
41 + $data['entry_button_type'] = $this->language->get('entry_button_type');
42 + $data['entry_button_colour'] = $this->language->get('entry_button_colour');
43 + $data['entry_button_size'] = $this->language->get('entry_button_size');
44 + $data['entry_layout'] = $this->language->get('entry_layout');
45 + $data['entry_position'] = $this->language->get('entry_position');
46 + $data['entry_status'] = $this->language->get('entry_status');
47 + $data['entry_sort_order'] = $this->language->get('entry_sort_order');
48 +
49 + $data['button_save'] = $this->language->get('button_save');
50 + $data['button_cancel'] = $this->language->get('button_cancel');
51 + $data['button_module_add'] = $this->language->get('button_module_add');
52 + $data['button_remove'] = $this->language->get('button_remove');
53 +
54 + if (isset($this->error['warning'])) {
55 + $data['error_warning'] = $this->error['warning'];
56 + } else {
57 + $data['error_warning'] = '';
58 + }
59 +
60 + $data['breadcrumbs'] = array();
61 +
62 + $data['breadcrumbs'][] = array(
63 + 'text' => $this->language->get('text_home'),
64 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true),
65 + 'separator' => false
66 + );
67 +
68 + $data['breadcrumbs'][] = array(
69 + 'text' => $this->language->get('text_module'),
70 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true),
71 + 'separator' => ' :: '
72 + );
73 +
74 + $data['breadcrumbs'][] = array(
75 + 'text' => $this->language->get('heading_title'),
76 + 'href' => $this->url->link('module/amazon_login', 'token=' . $this->session->data['token'], true),
77 + 'separator' => ' :: '
78 + );
79 +
80 + $data['action'] = $this->url->link('module/amazon_login', 'token=' . $this->session->data['token'], true);
81 +
82 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
83 +
84 + $data['token'] = $this->session->data['token'];
85 +
86 + if (isset($this->request->post['amazon_login_button_type'])) {
87 + $data['amazon_login_button_type'] = $this->request->post['amazon_login_button_type'];
88 + } elseif ($this->config->get('amazon_login_button_type')) {
89 + $data['amazon_login_button_type'] = $this->config->get('amazon_login_button_type');
90 + } else {
91 + $data['amazon_login_button_type'] = 'LwA';
92 + }
93 +
94 + if (isset($this->request->post['amazon_login_button_colour'])) {
95 + $data['amazon_login_button_colour'] = $this->request->post['amazon_login_button_colour'];
96 + } elseif ($this->config->get('amazon_login_button_colour')) {
97 + $data['amazon_login_button_colour'] = $this->config->get('amazon_login_button_colour');
98 + } else {
99 + $data['amazon_login_button_colour'] = 'gold';
100 + }
101 +
102 + if (isset($this->request->post['amazon_login_button_size'])) {
103 + $data['amazon_login_button_size'] = $this->request->post['amazon_login_button_size'];
104 + } elseif ($this->config->get('amazon_login_button_size')) {
105 + $data['amazon_login_button_size'] = $this->config->get('amazon_login_button_size');
106 + } else {
107 + $data['amazon_login_button_size'] = 'medium';
108 + }
109 +
110 + if (isset($this->request->post['amazon_login_status'])) {
111 + $data['amazon_login_status'] = $this->request->post['amazon_login_status'];
112 + } else {
113 + $data['amazon_login_status'] = $this->config->get('amazon_login_status');
114 + }
115 +
116 + $data['header'] = $this->load->controller('common/header');
117 + $data['column_left'] = $this->load->controller('common/column_left');
118 + $data['footer'] = $this->load->controller('common/footer');
119 +
120 + $this->response->setOutput($this->load->view('module/amazon_login', $data));
121 + }
122 +
123 + protected function validate() {
124 + if (!$this->user->hasPermission('modify', 'module/amazon_login')) {
125 + $this->error['warning'] = $this->language->get('error_permission');
126 + }
127 +
128 + if (!$this->error) {
129 + return true;
130 + } else {
131 + return false;
132 + }
133 + }
134 +
135 + public function install() {
136 + $this->load->model('extension/event');
137 + $this->model_extension_event->addEvent('amazon_login', 'catalog/controller/account/logout/after', 'module/amazon_login/logout');
138 + }
139 +
140 + public function uninstall() {
141 + $this->load->model('extension/event');
142 + $this->model_extension_event->deleteEvent('amazon_login');
143 + }
144 +
145 +}
1 +<?php
2 +
3 +class ControllerModuleAmazonPay extends Controller {
4 +
5 + private $error = array();
6 +
7 + public function index() {
8 + $this->load->language('module/amazon_pay');
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('amazon_pay', $this->request->post);
17 +
18 + $this->session->data['success'] = $this->language->get('text_success');
19 +
20 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
21 + }
22 +
23 + $data['heading_title'] = $this->language->get('heading_title');
24 +
25 + $data['text_enabled'] = $this->language->get('text_enabled');
26 + $data['text_disabled'] = $this->language->get('text_disabled');
27 + $data['text_content_top'] = $this->language->get('text_content_top');
28 + $data['text_content_bottom'] = $this->language->get('text_content_bottom');
29 + $data['text_column_left'] = $this->language->get('text_column_left');
30 + $data['text_column_right'] = $this->language->get('text_column_right');
31 + $data['text_pwa_button'] = $this->language->get('text_pwa_button');
32 + $data['text_pay_button'] = $this->language->get('text_pay_button');
33 + $data['text_a_button'] = $this->language->get('text_a_button');
34 + $data['text_gold_button'] = $this->language->get('text_gold_button');
35 + $data['text_darkgray_button'] = $this->language->get('text_darkgray_button');
36 + $data['text_lightgray_button'] = $this->language->get('text_lightgray_button');
37 + $data['text_small_button'] = $this->language->get('text_small_button');
38 + $data['text_medium_button'] = $this->language->get('text_medium_button');
39 + $data['text_large_button'] = $this->language->get('text_large_button');
40 + $data['text_x_large_button'] = $this->language->get('text_x_large_button');
41 +
42 + $data['entry_button_type'] = $this->language->get('entry_button_type');
43 + $data['entry_button_colour'] = $this->language->get('entry_button_colour');
44 + $data['entry_button_size'] = $this->language->get('entry_button_size');
45 + $data['entry_layout'] = $this->language->get('entry_layout');
46 + $data['entry_position'] = $this->language->get('entry_position');
47 + $data['entry_status'] = $this->language->get('entry_status');
48 + $data['entry_sort_order'] = $this->language->get('entry_sort_order');
49 +
50 + $data['button_save'] = $this->language->get('button_save');
51 + $data['button_cancel'] = $this->language->get('button_cancel');
52 + $data['button_module_add'] = $this->language->get('button_module_add');
53 + $data['button_remove'] = $this->language->get('button_remove');
54 +
55 + if (isset($this->error['warning'])) {
56 + $data['error_warning'] = $this->error['warning'];
57 + } else {
58 + $data['error_warning'] = '';
59 + }
60 +
61 + $data['breadcrumbs'] = array();
62 +
63 + $data['breadcrumbs'][] = array(
64 + 'text' => $this->language->get('text_home'),
65 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true),
66 + 'separator' => false
67 + );
68 +
69 + $data['breadcrumbs'][] = array(
70 + 'text' => $this->language->get('text_module'),
71 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true),
72 + 'separator' => ' :: '
73 + );
74 +
75 + $data['breadcrumbs'][] = array(
76 + 'text' => $this->language->get('heading_title'),
77 + 'href' => $this->url->link('module/amazon_pay', 'token=' . $this->session->data['token'], true),
78 + 'separator' => ' :: '
79 + );
80 +
81 + $data['action'] = $this->url->link('module/amazon_pay', 'token=' . $this->session->data['token'], true);
82 +
83 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
84 +
85 + $data['token'] = $this->session->data['token'];
86 +
87 + if (isset($this->request->post['amazon_pay_button_type'])) {
88 + $data['amazon_pay_button_type'] = $this->request->post['amazon_pay_button_type'];
89 + } elseif ($this->config->get('amazon_pay_button_type')) {
90 + $data['amazon_pay_button_type'] = $this->config->get('amazon_pay_button_type');
91 + } else {
92 + $data['amazon_pay_button_type'] = 'PwA';
93 + }
94 +
95 + if (isset($this->request->post['amazon_pay_button_colour'])) {
96 + $data['amazon_pay_button_colour'] = $this->request->post['amazon_pay_button_colour'];
97 + } elseif ($this->config->get('amazon_pay_button_colour')) {
98 + $data['amazon_pay_button_colour'] = $this->config->get('amazon_pay_button_colour');
99 + } else {
100 + $data['amazon_pay_button_colour'] = 'gold';
101 + }
102 +
103 + if (isset($this->request->post['amazon_pay_button_size'])) {
104 + $data['amazon_pay_button_size'] = $this->request->post['amazon_pay_button_size'];
105 + } elseif ($this->config->get('amazon_pay_button_size')) {
106 + $data['amazon_pay_button_size'] = $this->config->get('amazon_pay_button_size');
107 + } else {
108 + $data['amazon_pay_button_size'] = 'medium';
109 + }
110 +
111 + if (isset($this->request->post['amazon_pay_status'])) {
112 + $data['amazon_pay_status'] = $this->request->post['amazon_pay_status'];
113 + } else {
114 + $data['amazon_pay_status'] = $this->config->get('amazon_pay_status');
115 + }
116 +
117 + $data['header'] = $this->load->controller('common/header');
118 + $data['column_left'] = $this->load->controller('common/column_left');
119 + $data['footer'] = $this->load->controller('common/footer');
120 +
121 + $this->response->setOutput($this->load->view('module/amazon_pay', $data));
122 + }
123 +
124 + protected function validate() {
125 + if (!$this->user->hasPermission('modify', 'module/amazon_pay')) {
126 + $this->error['warning'] = $this->language->get('error_permission');
127 + }
128 +
129 + if (!$this->error) {
130 + return true;
131 + } else {
132 + return false;
133 + }
134 + }
135 +
136 + public function install() {
137 + $this->load->model('extension/event');
138 + $this->model_extension_event->addEvent('amazon_pay', 'catalog/controller/account/logout/after', 'module/amazon_pay/logout');
139 + }
140 +
141 + public function uninstall() {
142 + $this->load->model('extension/event');
143 + $this->model_extension_event->deleteEvent('amazon_pay');
144 + }
145 +
146 +}
1 +<?php
2 +class ControllerModuleBanner extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('module/banner');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/module');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + if (!isset($this->request->get['module_id'])) {
14 + $this->model_extension_module->addModule('banner', $this->request->post);
15 + } else {
16 + $this->model_extension_module->editModule($this->request->get['module_id'], $this->request->post);
17 + }
18 +
19 + $this->session->data['success'] = $this->language->get('text_success');
20 +
21 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
22 + }
23 +
24 + $data['heading_title'] = $this->language->get('heading_title');
25 +
26 + $data['text_edit'] = $this->language->get('text_edit');
27 + $data['text_enabled'] = $this->language->get('text_enabled');
28 + $data['text_disabled'] = $this->language->get('text_disabled');
29 +
30 + $data['entry_name'] = $this->language->get('entry_name');
31 + $data['entry_banner'] = $this->language->get('entry_banner');
32 + $data['entry_width'] = $this->language->get('entry_width');
33 + $data['entry_height'] = $this->language->get('entry_height');
34 + $data['entry_status'] = $this->language->get('entry_status');
35 +
36 + $data['button_save'] = $this->language->get('button_save');
37 + $data['button_cancel'] = $this->language->get('button_cancel');
38 +
39 + if (isset($this->error['warning'])) {
40 + $data['error_warning'] = $this->error['warning'];
41 + } else {
42 + $data['error_warning'] = '';
43 + }
44 +
45 + if (isset($this->error['name'])) {
46 + $data['error_name'] = $this->error['name'];
47 + } else {
48 + $data['error_name'] = '';
49 + }
50 +
51 + if (isset($this->error['width'])) {
52 + $data['error_width'] = $this->error['width'];
53 + } else {
54 + $data['error_width'] = '';
55 + }
56 +
57 + if (isset($this->error['height'])) {
58 + $data['error_height'] = $this->error['height'];
59 + } else {
60 + $data['error_height'] = '';
61 + }
62 +
63 + $data['breadcrumbs'] = array();
64 +
65 + $data['breadcrumbs'][] = array(
66 + 'text' => $this->language->get('text_home'),
67 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
68 + );
69 +
70 + $data['breadcrumbs'][] = array(
71 + 'text' => $this->language->get('text_module'),
72 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true)
73 + );
74 +
75 + if (!isset($this->request->get['module_id'])) {
76 + $data['breadcrumbs'][] = array(
77 + 'text' => $this->language->get('heading_title'),
78 + 'href' => $this->url->link('module/banner', 'token=' . $this->session->data['token'], true)
79 + );
80 + } else {
81 + $data['breadcrumbs'][] = array(
82 + 'text' => $this->language->get('heading_title'),
83 + 'href' => $this->url->link('module/banner', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true)
84 + );
85 + }
86 +
87 + if (!isset($this->request->get['module_id'])) {
88 + $data['action'] = $this->url->link('module/banner', 'token=' . $this->session->data['token'], true);
89 + } else {
90 + $data['action'] = $this->url->link('module/banner', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true);
91 + }
92 +
93 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
94 +
95 + if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
96 + $module_info = $this->model_extension_module->getModule($this->request->get['module_id']);
97 + }
98 +
99 + if (isset($this->request->post['name'])) {
100 + $data['name'] = $this->request->post['name'];
101 + } elseif (!empty($module_info)) {
102 + $data['name'] = $module_info['name'];
103 + } else {
104 + $data['name'] = '';
105 + }
106 +
107 + if (isset($this->request->post['banner_id'])) {
108 + $data['banner_id'] = $this->request->post['banner_id'];
109 + } elseif (!empty($module_info)) {
110 + $data['banner_id'] = $module_info['banner_id'];
111 + } else {
112 + $data['banner_id'] = '';
113 + }
114 +
115 + $this->load->model('design/banner');
116 +
117 + $data['banners'] = $this->model_design_banner->getBanners();
118 +
119 + if (isset($this->request->post['width'])) {
120 + $data['width'] = $this->request->post['width'];
121 + } elseif (!empty($module_info)) {
122 + $data['width'] = $module_info['width'];
123 + } else {
124 + $data['width'] = '';
125 + }
126 +
127 + if (isset($this->request->post['height'])) {
128 + $data['height'] = $this->request->post['height'];
129 + } elseif (!empty($module_info)) {
130 + $data['height'] = $module_info['height'];
131 + } else {
132 + $data['height'] = '';
133 + }
134 +
135 + if (isset($this->request->post['status'])) {
136 + $data['status'] = $this->request->post['status'];
137 + } elseif (!empty($module_info)) {
138 + $data['status'] = $module_info['status'];
139 + } else {
140 + $data['status'] = '';
141 + }
142 +
143 + $data['header'] = $this->load->controller('common/header');
144 + $data['column_left'] = $this->load->controller('common/column_left');
145 + $data['footer'] = $this->load->controller('common/footer');
146 +
147 + $this->response->setOutput($this->load->view('module/banner', $data));
148 + }
149 +
150 + protected function validate() {
151 + if (!$this->user->hasPermission('modify', 'module/banner')) {
152 + $this->error['warning'] = $this->language->get('error_permission');
153 + }
154 +
155 + if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) {
156 + $this->error['name'] = $this->language->get('error_name');
157 + }
158 +
159 + if (!$this->request->post['width']) {
160 + $this->error['width'] = $this->language->get('error_width');
161 + }
162 +
163 + if (!$this->request->post['height']) {
164 + $this->error['height'] = $this->language->get('error_height');
165 + }
166 +
167 + return !$this->error;
168 + }
169 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerModuleBestSeller extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('module/bestseller');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/module');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + if (!isset($this->request->get['module_id'])) {
14 + $this->model_extension_module->addModule('bestseller', $this->request->post);
15 + } else {
16 + $this->model_extension_module->editModule($this->request->get['module_id'], $this->request->post);
17 + }
18 +
19 + $this->cache->delete('product');
20 +
21 + $this->session->data['success'] = $this->language->get('text_success');
22 +
23 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
24 + }
25 +
26 + $data['heading_title'] = $this->language->get('heading_title');
27 +
28 + $data['text_edit'] = $this->language->get('text_edit');
29 + $data['text_enabled'] = $this->language->get('text_enabled');
30 + $data['text_disabled'] = $this->language->get('text_disabled');
31 +
32 + $data['entry_name'] = $this->language->get('entry_name');
33 + $data['entry_limit'] = $this->language->get('entry_limit');
34 + $data['entry_width'] = $this->language->get('entry_width');
35 + $data['entry_height'] = $this->language->get('entry_height');
36 + $data['entry_status'] = $this->language->get('entry_status');
37 +
38 + $data['button_save'] = $this->language->get('button_save');
39 + $data['button_cancel'] = $this->language->get('button_cancel');
40 +
41 + if (isset($this->error['warning'])) {
42 + $data['error_warning'] = $this->error['warning'];
43 + } else {
44 + $data['error_warning'] = '';
45 + }
46 +
47 + if (isset($this->error['name'])) {
48 + $data['error_name'] = $this->error['name'];
49 + } else {
50 + $data['error_name'] = '';
51 + }
52 +
53 + if (isset($this->error['width'])) {
54 + $data['error_width'] = $this->error['width'];
55 + } else {
56 + $data['error_width'] = '';
57 + }
58 +
59 + if (isset($this->error['height'])) {
60 + $data['error_height'] = $this->error['height'];
61 + } else {
62 + $data['error_height'] = '';
63 + }
64 +
65 + $data['breadcrumbs'] = array();
66 +
67 + $data['breadcrumbs'][] = array(
68 + 'text' => $this->language->get('text_home'),
69 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
70 + );
71 +
72 + $data['breadcrumbs'][] = array(
73 + 'text' => $this->language->get('text_module'),
74 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true)
75 + );
76 +
77 + if (!isset($this->request->get['module_id'])) {
78 + $data['breadcrumbs'][] = array(
79 + 'text' => $this->language->get('heading_title'),
80 + 'href' => $this->url->link('module/bestseller', 'token=' . $this->session->data['token'], true)
81 + );
82 + } else {
83 + $data['breadcrumbs'][] = array(
84 + 'text' => $this->language->get('heading_title'),
85 + 'href' => $this->url->link('module/bestseller', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true)
86 + );
87 + }
88 +
89 + if (!isset($this->request->get['module_id'])) {
90 + $data['action'] = $this->url->link('module/bestseller', 'token=' . $this->session->data['token'], true);
91 + } else {
92 + $data['action'] = $this->url->link('module/bestseller', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true);
93 + }
94 +
95 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
96 +
97 + if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
98 + $module_info = $this->model_extension_module->getModule($this->request->get['module_id']);
99 + }
100 +
101 + if (isset($this->request->post['name'])) {
102 + $data['name'] = $this->request->post['name'];
103 + } elseif (!empty($module_info)) {
104 + $data['name'] = $module_info['name'];
105 + } else {
106 + $data['name'] = '';
107 + }
108 +
109 + if (isset($this->request->post['limit'])) {
110 + $data['limit'] = $this->request->post['limit'];
111 + } elseif (!empty($module_info)) {
112 + $data['limit'] = $module_info['limit'];
113 + } else {
114 + $data['limit'] = 5;
115 + }
116 +
117 + if (isset($this->request->post['width'])) {
118 + $data['width'] = $this->request->post['width'];
119 + } elseif (!empty($module_info)) {
120 + $data['width'] = $module_info['width'];
121 + } else {
122 + $data['width'] = 200;
123 + }
124 +
125 + if (isset($this->request->post['height'])) {
126 + $data['height'] = $this->request->post['height'];
127 + } elseif (!empty($module_info)) {
128 + $data['height'] = $module_info['height'];
129 + } else {
130 + $data['height'] = 200;
131 + }
132 +
133 + if (isset($this->request->post['status'])) {
134 + $data['status'] = $this->request->post['status'];
135 + } elseif (!empty($module_info)) {
136 + $data['status'] = $module_info['status'];
137 + } else {
138 + $data['status'] = '';
139 + }
140 +
141 + $data['header'] = $this->load->controller('common/header');
142 + $data['column_left'] = $this->load->controller('common/column_left');
143 + $data['footer'] = $this->load->controller('common/footer');
144 +
145 + $this->response->setOutput($this->load->view('module/bestseller', $data));
146 + }
147 +
148 + protected function validate() {
149 + if (!$this->user->hasPermission('modify', 'module/bestseller')) {
150 + $this->error['warning'] = $this->language->get('error_permission');
151 + }
152 +
153 + if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) {
154 + $this->error['name'] = $this->language->get('error_name');
155 + }
156 +
157 + if (!$this->request->post['width']) {
158 + $this->error['width'] = $this->language->get('error_width');
159 + }
160 +
161 + if (!$this->request->post['height']) {
162 + $this->error['height'] = $this->language->get('error_height');
163 + }
164 +
165 + return !$this->error;
166 + }
167 +}
1 +<?php
2 +class ControllerModuleCarousel extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('module/carousel');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('extension/module');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + if (!isset($this->request->get['module_id'])) {
14 + $this->model_extension_module->addModule('carousel', $this->request->post);
15 + } else {
16 + $this->model_extension_module->editModule($this->request->get['module_id'], $this->request->post);
17 + }
18 +
19 + $this->session->data['success'] = $this->language->get('text_success');
20 +
21 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
22 + }
23 +
24 + $data['heading_title'] = $this->language->get('heading_title');
25 +
26 + $data['text_edit'] = $this->language->get('text_edit');
27 + $data['text_enabled'] = $this->language->get('text_enabled');
28 + $data['text_disabled'] = $this->language->get('text_disabled');
29 +
30 + $data['entry_name'] = $this->language->get('entry_name');
31 + $data['entry_banner'] = $this->language->get('entry_banner');
32 + $data['entry_width'] = $this->language->get('entry_width');
33 + $data['entry_height'] = $this->language->get('entry_height');
34 + $data['entry_status'] = $this->language->get('entry_status');
35 +
36 + $data['button_save'] = $this->language->get('button_save');
37 + $data['button_cancel'] = $this->language->get('button_cancel');
38 +
39 + if (isset($this->error['warning'])) {
40 + $data['error_warning'] = $this->error['warning'];
41 + } else {
42 + $data['error_warning'] = '';
43 + }
44 +
45 + if (isset($this->error['name'])) {
46 + $data['error_name'] = $this->error['name'];
47 + } else {
48 + $data['error_name'] = '';
49 + }
50 +
51 + if (isset($this->error['width'])) {
52 + $data['error_width'] = $this->error['width'];
53 + } else {
54 + $data['error_width'] = '';
55 + }
56 +
57 + if (isset($this->error['height'])) {
58 + $data['error_height'] = $this->error['height'];
59 + } else {
60 + $data['error_height'] = '';
61 + }
62 +
63 + $data['breadcrumbs'] = array();
64 +
65 + $data['breadcrumbs'][] = array(
66 + 'text' => $this->language->get('text_home'),
67 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
68 + );
69 +
70 + $data['breadcrumbs'][] = array(
71 + 'text' => $this->language->get('text_module'),
72 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true)
73 + );
74 +
75 + if (!isset($this->request->get['module_id'])) {
76 + $data['breadcrumbs'][] = array(
77 + 'text' => $this->language->get('heading_title'),
78 + 'href' => $this->url->link('module/carousel', 'token=' . $this->session->data['token'], true)
79 + );
80 + } else {
81 + $data['breadcrumbs'][] = array(
82 + 'text' => $this->language->get('heading_title'),
83 + 'href' => $this->url->link('module/carousel', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true)
84 + );
85 + }
86 +
87 + if (!isset($this->request->get['module_id'])) {
88 + $data['action'] = $this->url->link('module/carousel', 'token=' . $this->session->data['token'], true);
89 + } else {
90 + $data['action'] = $this->url->link('module/carousel', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true);
91 + }
92 +
93 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
94 +
95 + if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
96 + $module_info = $this->model_extension_module->getModule($this->request->get['module_id']);
97 + }
98 +
99 + if (isset($this->request->post['name'])) {
100 + $data['name'] = $this->request->post['name'];
101 + } elseif (!empty($module_info)) {
102 + $data['name'] = $module_info['name'];
103 + } else {
104 + $data['name'] = '';
105 + }
106 +
107 + if (isset($this->request->post['banner_id'])) {
108 + $data['banner_id'] = $this->request->post['banner_id'];
109 + } elseif (!empty($module_info)) {
110 + $data['banner_id'] = $module_info['banner_id'];
111 + } else {
112 + $data['banner_id'] = '';
113 + }
114 +
115 + $this->load->model('design/banner');
116 +
117 + $data['banners'] = $this->model_design_banner->getBanners();
118 +
119 + if (isset($this->request->post['width'])) {
120 + $data['width'] = $this->request->post['width'];
121 + } elseif (!empty($module_info)) {
122 + $data['width'] = $module_info['width'];
123 + } else {
124 + $data['width'] = 130;
125 + }
126 +
127 + if (isset($this->request->post['height'])) {
128 + $data['height'] = $this->request->post['height'];
129 + } elseif (!empty($module_info)) {
130 + $data['height'] = $module_info['height'];
131 + } else {
132 + $data['height'] = 100;
133 + }
134 +
135 + if (isset($this->request->post['status'])) {
136 + $data['status'] = $this->request->post['status'];
137 + } elseif (!empty($module_info)) {
138 + $data['status'] = $module_info['status'];
139 + } else {
140 + $data['status'] = '';
141 + }
142 +
143 + $this->load->model('design/banner');
144 +
145 + $data['banners'] = $this->model_design_banner->getBanners();
146 +
147 + $data['header'] = $this->load->controller('common/header');
148 + $data['column_left'] = $this->load->controller('common/column_left');
149 + $data['footer'] = $this->load->controller('common/footer');
150 +
151 + $this->response->setOutput($this->load->view('module/carousel', $data));
152 + }
153 +
154 + protected function validate() {
155 + if (!$this->user->hasPermission('modify', 'module/carousel')) {
156 + $this->error['warning'] = $this->language->get('error_permission');
157 + }
158 +
159 + if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) {
160 + $this->error['name'] = $this->language->get('error_name');
161 + }
162 +
163 + if (!$this->request->post['width']) {
164 + $this->error['width'] = $this->language->get('error_width');
165 + }
166 +
167 + if (!$this->request->post['height']) {
168 + $this->error['height'] = $this->language->get('error_height');
169 + }
170 +
171 + return !$this->error;
172 + }
173 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerModuleCategory extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('module/category');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 +
10 + $this->load->model('setting/setting');
11 +
12 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
13 + $this->model_setting_setting->editSetting('category', $this->request->post);
14 +
15 + $this->session->data['success'] = $this->language->get('text_success');
16 +
17 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
18 + }
19 +
20 + $data['heading_title'] = $this->language->get('heading_title');
21 +
22 + $data['text_edit'] = $this->language->get('text_edit');
23 + $data['text_enabled'] = $this->language->get('text_enabled');
24 + $data['text_disabled'] = $this->language->get('text_disabled');
25 +
26 + $data['entry_status'] = $this->language->get('entry_status');
27 +
28 + $data['button_save'] = $this->language->get('button_save');
29 + $data['button_cancel'] = $this->language->get('button_cancel');
30 +
31 + if (isset($this->error['warning'])) {
32 + $data['error_warning'] = $this->error['warning'];
33 + } else {
34 + $data['error_warning'] = '';
35 + }
36 +
37 + $data['breadcrumbs'] = array();
38 +
39 + $data['breadcrumbs'][] = array(
40 + 'text' => $this->language->get('text_home'),
41 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
42 + );
43 +
44 + $data['breadcrumbs'][] = array(
45 + 'text' => $this->language->get('text_module'),
46 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true)
47 + );
48 +
49 + $data['breadcrumbs'][] = array(
50 + 'text' => $this->language->get('heading_title'),
51 + 'href' => $this->url->link('module/category', 'token=' . $this->session->data['token'], true)
52 + );
53 +
54 + $data['action'] = $this->url->link('module/category', 'token=' . $this->session->data['token'], true);
55 +
56 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
57 +
58 + if (isset($this->request->post['category_status'])) {
59 + $data['category_status'] = $this->request->post['category_status'];
60 + } else {
61 + $data['category_status'] = $this->config->get('category_status');
62 + }
63 +
64 + $data['header'] = $this->load->controller('common/header');
65 + $data['column_left'] = $this->load->controller('common/column_left');
66 + $data['footer'] = $this->load->controller('common/footer');
67 +
68 + $this->response->setOutput($this->load->view('module/category', $data));
69 + }
70 +
71 + protected function validate() {
72 + if (!$this->user->hasPermission('modify', 'module/category')) {
73 + $this->error['warning'] = $this->language->get('error_permission');
74 + }
75 +
76 + return !$this->error;
77 + }
78 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?php
2 +class ControllerModuleEbayListing extends Controller {
3 + private $error = array();
4 +
5 + public function index() {
6 + $this->load->language('module/ebay_listing');
7 +
8 + $this->document->setTitle($this->language->get('heading_title'));
9 + $this->document->addScript('view/javascript/openbay/js/faq.js');
10 +
11 + $this->load->model('setting/setting');
12 +
13 + if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
14 + $this->model_setting_setting->editSetting('ebay_listing', $this->request->post);
15 +
16 + $this->session->data['success'] = $this->language->get('text_success');
17 +
18 + $this->cache->delete('ebay');
19 +
20 + $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], true));
21 + }
22 +
23 + $data['heading_title'] = $this->language->get('heading_title');
24 +
25 + $data['text_edit'] = $this->language->get('text_edit');
26 + $data['text_register'] = $this->language->get('text_register');
27 + $data['text_about'] = $this->language->get('text_about');
28 + $data['text_yes'] = $this->language->get('text_yes');
29 + $data['text_no'] = $this->language->get('text_no');
30 + $data['text_latest'] = $this->language->get('text_latest');
31 + $data['text_random'] = $this->language->get('text_random');
32 + $data['text_disabled'] = $this->language->get('text_disabled');
33 + $data['text_enabled'] = $this->language->get('text_enabled');
34 +
35 + $data['entry_limit'] = $this->language->get('entry_limit');
36 + $data['entry_width'] = $this->language->get('entry_width');
37 + $data['entry_height'] = $this->language->get('entry_height');
38 + $data['entry_username'] = $this->language->get('entry_username');
39 + $data['entry_keywords'] = $this->language->get('entry_keywords');
40 + $data['entry_description'] = $this->language->get('entry_description');
41 + $data['entry_site'] = $this->language->get('entry_site');
42 + $data['entry_sort'] = $this->language->get('entry_sort');
43 + $data['entry_status'] = $this->language->get('entry_status');
44 +
45 + $data['button_save'] = $this->language->get('button_save');
46 + $data['button_cancel'] = $this->language->get('button_cancel');
47 +
48 + if (isset($this->error['warning'])) {
49 + $data['error_warning'] = $this->error['warning'];
50 + } else {
51 + $data['error_warning'] = '';
52 + }
53 +
54 + if (isset($this->error['width'])) {
55 + $data['error_width'] = $this->error['width'];
56 + } else {
57 + $data['error_width'] = '';
58 + }
59 +
60 + if (isset($this->error['height'])) {
61 + $data['error_height'] = $this->error['height'];
62 + } else {
63 + $data['error_height'] = '';
64 + }
65 +
66 + $data['breadcrumbs'] = array();
67 +
68 + $data['breadcrumbs'][] = array(
69 + 'text' => $this->language->get('text_home'),
70 + 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true),
71 + );
72 +
73 + $data['breadcrumbs'][] = array(
74 + 'text' => $this->language->get('text_module'),
75 + 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true),
76 + );
77 +
78 + $data['breadcrumbs'][] = array(
79 + 'text' => $this->language->get('heading_title'),
80 + 'href' => $this->url->link('module/ebay_listing', 'token=' . $this->session->data['token'], true)
81 + );
82 +
83 + $data['action'] = $this->url->link('module/ebay_listing', 'token=' . $this->session->data['token'], true);
84 +
85 + $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true);
86 +
87 + if (isset($this->request->post['ebay_listing_username'])) {
88 + $data['ebay_listing_username'] = $this->request->post['ebay_listing_username'];
89 + } else {
90 + $data['ebay_listing_username'] = $this->config->get('ebay_listing_username');
91 + }
92 +
93 + if (isset($this->request->post['ebay_listing_keywords'])) {
94 + $data['ebay_listing_keywords'] = $this->request->post['ebay_listing_keywords'];
95 + } else {
96 + $data['ebay_listing_keywords'] = $this->config->get('ebay_listing_keywords');
97 + }
98 +
99 + if (isset($this->request->post['ebay_listing_description'])) {
100 + $data['ebay_listing_description'] = $this->request->post['ebay_listing_description'];
101 + } else {
102 + $data['ebay_listing_description'] = $this->config->get('ebay_listing_description');
103 + }
104 +
105 + if (isset($this->request->post['ebay_listing_limit'])) {
106 + $data['ebay_listing_limit'] = $this->request->post['ebay_listing_limit'];
107 + } elseif ($this->config->has('ebay_listing_limit')) {
108 + $data['ebay_listing_limit'] = $this->config->get('ebay_listing_limit');
109 + } else {
110 + $data['ebay_listing_limit'] = 5;
111 + }
112 +
113 + if (isset($this->request->post['ebay_listing_width'])) {
114 + $data['ebay_listing_width'] = $this->request->post['width'];
115 + } elseif ($this->config->has('ebay_listing_width')) {
116 + $data['ebay_listing_width'] = $this->config->get('ebay_listing_width');
117 + } else {
118 + $data['ebay_listing_width'] = 200;
119 + }
120 +
121 + if (isset($this->request->post['ebay_listing_height'])) {
122 + $data['ebay_listing_height'] = $this->request->post['ebay_listing_height'];
123 + } elseif ($this->config->has('ebay_listing_height')) {
124 + $data['ebay_listing_height'] = $this->config->get('ebay_listing_height');
125 + } else {
126 + $data['ebay_listing_height'] = 200;
127 + }
128 +
129 + if (isset($this->request->post['ebay_listing_sort'])) {
130 + $data['ebay_listing_sort'] = $this->request->post['ebay_listing_sort'];
131 + } elseif ($this->config->has('ebay_listing_sort')) {
132 + $data['ebay_listing_sort'] = $this->config->get('ebay_listing_sort');
133 + } else {
134 + $data['ebay_listing_sort'] = 'StartTimeNewest';
135 + }
136 +
137 + if (isset($this->request->post['ebay_listing_site'])) {
138 + $data['ebay_listing_site'] = $this->request->post['ebay_listing_site'];
139 + } else {
140 + $data['ebay_listing_site'] = $this->config->get('ebay_listing_site');
141 + }
142 +
143 + $data['sites'] = array();
144 +
145 + $data['sites'][] = array(
146 + 'text' => 'USA',
147 + 'value' => 0
148 + );
149 +
150 + $data['sites'][] = array(
151 + 'text' => 'UK',
152 + 'value' => 3
153 + );
154 + $data['sites'][] = array(
155 + 'text' => 'Australia',
156 + 'value' => 15
157 + );
158 +
159 + $data['sites'][] = array(
160 + 'text' => 'Canada (English)',
161 + 'value' => 2
162 + );
163 +
164 + $data['sites'][] = array(
165 + 'text' => 'France',
166 + 'value' => 71
167 + );
168 + $data['sites'][] = array(
169 + 'text' => 'Germany',
170 + 'value' => 77
171 + );
172 + $data['sites'][] = array(
173 + 'text' => 'Italy',
174 + 'value' => 101
175 + );
176 + $data['sites'][] = array(
177 + 'text' => 'Spain',
178 + 'value' => 186
179 + );
180 + $data['sites'][] = array(
181 + 'text' => 'Ireland',
182 + 'value' => 205
183 + );
184 +
185 + $data['sites'][] = array(
186 + 'text' => 'Austria',
187 + 'value' => 16
188 + );
189 +
190 + $data['sites'][] = array(
191 + 'text' => 'Netherlands',
192 + 'value' => 146
193 + );
194 +
195 + $data['sites'][] = array(
196 + 'text' => 'Belgium (French)',
197 + 'value' => 23
198 + );
199 +
200 + $data['sites'][] = array(
201 + 'text' => 'Belgium (Dutch)',
202 + 'value' => 123
203 + );
204 +
205 + if (isset($this->request->post['ebay_listing_status'])) {
206 + $data['ebay_listing_status'] = $this->request->post['ebay_listing_status'];
207 + } else {
208 + $data['ebay_listing_status'] = $this->config->get('ebay_listing_status');
209 + }
210 +
211 + $data['header'] = $this->load->controller('common/header');
212 + $data['column_left'] = $this->load->controller('common/column_left');
213 + $data['footer'] = $this->load->controller('common/footer');
214 +
215 + $this->response->setOutput($this->load->view('module/ebay_listing', $data));
216 + }
217 +
218 + protected function validate() {
219 + if (!$this->user->hasPermission('modify', 'module/ebay_listing')) {
220 + $this->error['warning'] = $this->language->get('error_permission');
221 + }
222 +
223 + if (!$this->request->post['ebay_listing_width']) {
224 + $this->error['width'] = $this->language->get('error_width');
225 + }
226 +
227 + if (!$this->request->post['ebay_listing_height']) {
228 + $this->error['height'] = $this->language->get('error_height');
229 + }
230 +
231 + return !$this->error;
232 + }
233 +}
...\ No newline at end of file ...\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.