Issues (2407)

application/controller/checkout/success.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 ControllerCheckoutSuccess 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
        $this->load->language('checkout/success');
28
        
29
        if (isset($this->session->data['order_id']) && (! empty($this->session->data['order_id']))) {
30
            $this->session->data['last_order_id'] = $this->session->data['order_id'];
31
        }
32
33
        if (isset($this->session->data['order_id'])) {
34
            $this->cart->clear();
35
36
            unset($this->session->data['shipping_method']);
37
            unset($this->session->data['shipping_methods']);
38
            unset($this->session->data['payment_method']);
39
            unset($this->session->data['payment_methods']);
40
            unset($this->session->data['guest']);
41
            unset($this->session->data['comment']);
42
            unset($this->session->data['order_id']);
43
            unset($this->session->data['reward']);
44
            unset($this->session->data['totals']);
45
        }
46
47
        if (! empty($this->session->data['last_order_id'])) {
48
            $this->document->setTitle(sprintf($this->language->get('heading_title_customer'), $this->session->data['last_order_id']));
49
        } else {
50
            $this->document->setTitle($this->language->get('heading_title'));
51
        }
52
53
        $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...
54
55
        $data['breadcrumbs'][] = array(
56
            'text' => $this->language->get('text_home'),
57
            'href' => $this->url->link('common/home')
58
        );
59
60
        $data['breadcrumbs'][] = array(
61
            'text' => $this->language->get('text_basket'),
62
            'href' => $this->url->link('checkout/cart')
63
        );
64
65
        $data['breadcrumbs'][] = array(
66
            'text' => $this->language->get('text_checkout'),
67
            'href' => $this->url->link('checkout/checkout', '', true)
68
        );
69
70
        $data['breadcrumbs'][] = array(
71
            'text' => $this->language->get('text_success'),
72
            'href' => $this->url->link('checkout/success')
73
        );
74
75
        if (! empty($this->session->data['last_order_id'])) {
76
            $data['heading_title'] = sprintf($this->language->get('heading_title_customer'), $this->session->data['last_order_id']);
77
        } else {
78
            $data['heading_title'] = $this->language->get('heading_title');
79
        }
80
81
        if ($this->customer->isLogged()) {
82
            $data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/order/info&order_id=' . $this->session->data['last_order_id'], '', true), $this->url->link('account/account', '', true), $this->url->link('account/order', '', true), $this->url->link('information/contact'), $this->url->link('product/special'), $this->session->data['last_order_id'], $this->url->link('account/download', '', true));
83
        } else {
84
            $data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'), $this->session->data['last_order_id']);
85
        }
86
87
        $data['button_continue'] = $this->language->get('button_continue');
88
89
        $data['continue'] = $this->url->link('common/home');
90
91
        $data['column'] = $this->load->controller('common/column');
92
        
93
        $data['content_top'] = $this->load->controller('common/content_top');
94
        $data['content_bottom'] = $this->load->controller('common/content_bottom');
95
        $data['footer'] = $this->load->controller('common/footer');
96
        $data['header'] = $this->load->controller('common/header');
97
98
        $this->response->setOutput($this->load->view('common/success', $data));
99
    }
100
}
101