Issues (2407)

application/controller/account/newsletter.php (3 issues)

1
<?php
2
3
/* 	Divine CMS - Open source CMS for widespread use.
4
    Copyright (c) 2019 Mykola Burakov ([email protected])
5
6
    See SOURCE.txt for other and additional information.
7
8
    This file is part of Divine CMS.
9
10
    This program is free software: you can redistribute it and/or modify
11
    it under the terms of the GNU General Public License as published by
12
    the Free Software Foundation, either version 3 of the License, or
13
    (at your option) any later version.
14
15
    This program is distributed in the hope that it will be useful,
16
    but WITHOUT ANY WARRANTY; without even the implied warranty of
17
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
    GNU General Public License for more details.
19
20
    You should have received a copy of the GNU General Public License
21
    along with this program. If not, see <http://www.gnu.org/licenses/>. */
22
23
class ControllerAccountNewsletter extends \Divine\Engine\Core\Controller
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
24
{
25
    public function index()
0 ignored issues
show
Expected 2 blank lines before function; 0 found
Loading history...
26
    {
27
        if (!$this->customer->isLogged()) {
28
            $this->session->data['redirect'] = $this->url->link('account/newsletter', '', true);
29
30
            $this->response->redirect($this->url->link('account/login', '', true));
31
        }
32
33
        $this->load->language('account/newsletter');
34
35
        $this->document->setTitle($this->language->get('heading_title'));
36
37
        if ($this->request->server['REQUEST_METHOD'] == 'POST') {
38
            $this->load->model('account/customer');
39
40
            $this->model_account_customer->editNewsletter($this->request->post['newsletter']);
41
42
            $this->session->data['success'] = $this->language->get('text_success');
43
44
            $this->response->redirect($this->url->link('account/account', '', true));
45
        }
46
47
        $data['breadcrumbs'] = array();
0 ignored issues
show
Comprehensibility Best Practice introduced by
$data was never initialized. Although not strictly required by PHP, it is generally a good practice to add $data = array(); before regardless.
Loading history...
48
49
        $data['breadcrumbs'][] = array(
50
            'text' => $this->language->get('text_home'),
51
            'href' => $this->url->link('common/home')
52
        );
53
54
        $data['breadcrumbs'][] = array(
55
            'text' => $this->language->get('text_account'),
56
            'href' => $this->url->link('account/account', '', true)
57
        );
58
59
        $data['breadcrumbs'][] = array(
60
            'text' => $this->language->get('text_newsletter'),
61
            'href' => $this->url->link('account/newsletter', '', true)
62
        );
63
64
        $data['heading_title'] = $this->language->get('heading_title');
65
66
        $data['text_yes'] = $this->language->get('text_yes');
67
        $data['text_no'] = $this->language->get('text_no');
68
69
        $data['entry_newsletter'] = $this->language->get('entry_newsletter');
70
71
        $data['button_continue'] = $this->language->get('button_continue');
72
        $data['button_back'] = $this->language->get('button_back');
73
74
        $data['action'] = $this->url->link('account/newsletter', '', true);
75
76
        $data['newsletter'] = $this->customer->getNewsletter();
77
78
        $data['back'] = $this->url->link('account/account', '', true);
79
80
        $data['column'] = $this->load->controller('common/column');
81
        
82
        $data['content_top'] = $this->load->controller('common/content_top');
83
        $data['content_bottom'] = $this->load->controller('common/content_bottom');
84
        $data['footer'] = $this->load->controller('common/footer');
85
        $data['header'] = $this->load->controller('common/header');
86
87
        $this->response->setOutput($this->load->view('account/newsletter', $data));
88
    }
89
}
90