Issues (1092)

Block/Amazon/Button.php (3 issues)

Labels
Severity
1
<?php
2
3
/**
4
 * PAYONE Magento 2 Connector is free software: you can redistribute it and/or modify
5
 * it under the terms of the GNU Lesser General Public License as published by
6
 * the Free Software Foundation, either version 3 of the License, or
7
 * (at your option) any later version.
8
 *
9
 * PAYONE Magento 2 Connector is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 * GNU Lesser General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Lesser General Public License
15
 * along with PAYONE Magento 2 Connector. If not, see <http://www.gnu.org/licenses/>.
16
 *
17
 * PHP version 5
18
 *
19
 * @category  Payone
20
 * @package   Payone_Magento2_Plugin
21
 * @author    FATCHIP GmbH <[email protected]>
22
 * @copyright 2003 - 2017 Payone GmbH
23
 * @license   <http://www.gnu.org/licenses/> GNU Lesser General Public License
24
 * @link      http://www.payone.de
25
 */
26
27
namespace Payone\Core\Block\Amazon;
28
29
use Magento\Framework\View\Element\Template;
0 ignored issues
show
The type Magento\Framework\View\Element\Template was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
30
use Payone\Core\Model\PayoneConfig;
31
32
/**
33
 * Block class for the PayPal Express button
34
 */
35
class Button extends Template implements \Magento\Catalog\Block\ShortcutInterface
0 ignored issues
show
The type Magento\Catalog\Block\ShortcutInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
36
{
37
    /**
38
     * Shortcut alias
39
     *
40
     * @var string
41
     */
42
    protected $alias = 'payone.block.amazon.button';
43
44
    /**
45
     * @var \Payone\Core\Helper\Base
46
     */
47
    protected $baseHelper;
48
49
    /**
50
     * @var string
51
     */
52
    protected $name;
53
54
    /**
55
     * Constructor
56
     *
57
     * @param \Magento\Framework\View\Element\Template\Context $context
58
     * @param \Payone\Core\Helper\Base                         $baseHelper
59
     * @param array                                            $data
60
     */
61
    public function __construct(
62
        \Magento\Framework\View\Element\Template\Context $context,
0 ignored issues
show
The type Magento\Framework\View\Element\Template\Context was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
63
        \Payone\Core\Helper\Base $baseHelper,
64
        array $data = []
65
    ) {
66
        parent::__construct($context, $data);
67
        $this->baseHelper = $baseHelper;
68
        $this->setTemplate('amazon/button.phtml');
69
    }
70
71
    /**
72
     * Get shortcut alias
73
     *
74
     * @return string
75
     */
76
    public function getAlias()
77
    {
78
        return $this->alias;
79
    }
80
81
    /**
82
     * @param  string $name
83
     * @return void
84
     */
85
    public function setName($name)
86
    {
87
        $this->name = $name;
88
    }
89
90
    /**
91
     * @return string
92
     */
93
    public function getName()
94
    {
95
        return $this->name;
96
    }
97
98
    /**
99
     * Get Amazon client id from config
100
     *
101
     * @return string
102
     */
103
    public function getClientId()
104
    {
105
        return $this->baseHelper->getConfigParam('client_id', PayoneConfig::METHOD_AMAZONPAY, 'payone_payment');
106
    }
107
108
    /**
109
     * Get Amazon seller id from config
110
     *
111
     * @return string
112
     */
113
    public function getSellerId()
114
    {
115
        return $this->baseHelper->getConfigParam('seller_id', PayoneConfig::METHOD_AMAZONPAY, 'payone_payment');
116
    }
117
118
    /**
119
     * Get Amazon button type from config
120
     *
121
     * @return string
122
     */
123
    public function getButtonType()
124
    {
125
        return $this->baseHelper->getConfigParam('button_type', PayoneConfig::METHOD_AMAZONPAY, 'payone_payment');
126
    }
127
128
    /**
129
     * Get Amazon button color from config
130
     *
131
     * @return string
132
     */
133
    public function getButtonColor()
134
    {
135
        return $this->baseHelper->getConfigParam('button_color', PayoneConfig::METHOD_AMAZONPAY, 'payone_payment');
136
    }
137
138
    /**
139
     * Get Amazon button language from config
140
     *
141
     * @return string
142
     */
143
    public function getButtonLanguage()
144
    {
145
        return $this->baseHelper->getConfigParam('button_language', PayoneConfig::METHOD_AMAZONPAY, 'payone_payment');
146
    }
147
148
    /**
149
     * Get redirect url of the checkout controller
150
     *
151
     * @return string
152
     */
153
    public function getRedirectUrl()
154
    {
155
        return $this->getUrl("payone/onepage/amazon", ['_secure' => true]);
156
    }
157
158
    /**
159
     * Returns current counter
160
     *
161
     * @return int
162
     */
163
    public function getCounter()
164
    {
165
        if (stripos($this->getData('payoneLayoutName'), 'shortcutbuttons') !== false) { // Mini basket
166
            return 1;
167
        } elseif ($this->getData('payoneLayoutName') == 'checkout.cart.shortcut.buttons') { // Basket page
168
            return 2;
169
        } else { // Unknown
170
            return 3;
171
        }
172
    }
173
}
174