Commit 015cc6832a44bb58174512a28f2012f7a4a5c214
1 parent
e6b208ea
Credits v2
Showing
1 changed file
with
21 additions
and
2 deletions
Show diff stats
models/Basket.php
@@ -10,6 +10,7 @@ | @@ -10,6 +10,7 @@ | ||
10 | /** | 10 | /** |
11 | * Class Basket to work with basket | 11 | * Class Basket to work with basket |
12 | * | 12 | * |
13 | + * @property bool isCredit | ||
13 | * @package artweb\artbox\ecommerce\models | 14 | * @package artweb\artbox\ecommerce\models |
14 | */ | 15 | */ |
15 | class Basket extends Component | 16 | class Basket extends Component |
@@ -32,7 +33,7 @@ | @@ -32,7 +33,7 @@ | ||
32 | $this->session = \Yii::$app->session; | 33 | $this->session = \Yii::$app->session; |
33 | if (!$this->session->has('basket')) { | 34 | if (!$this->session->has('basket')) { |
34 | $this->session->set('basket', []); | 35 | $this->session->set('basket', []); |
35 | - } elseif(!empty($this->session->get('basket'))) { | 36 | + } elseif (!empty( $this->session->get('basket') )) { |
36 | $cookies = \Yii::$app->response->cookies; | 37 | $cookies = \Yii::$app->response->cookies; |
37 | $cookies->add( | 38 | $cookies->add( |
38 | new Cookie( | 39 | new Cookie( |
@@ -144,8 +145,9 @@ | @@ -144,8 +145,9 @@ | ||
144 | { | 145 | { |
145 | $this->session->set('basket', $data); | 146 | $this->session->set('basket', $data); |
146 | $cookies = \Yii::$app->response->cookies; | 147 | $cookies = \Yii::$app->response->cookies; |
147 | - if(empty($data)) { | 148 | + if (empty( $data )) { |
148 | $cookies->remove('basket'); | 149 | $cookies->remove('basket'); |
150 | + $cookies->remove('isCredit'); | ||
149 | } else { | 151 | } else { |
150 | $cookies->add( | 152 | $cookies->add( |
151 | new Cookie( | 153 | new Cookie( |
@@ -247,6 +249,23 @@ | @@ -247,6 +249,23 @@ | ||
247 | public function clear() | 249 | public function clear() |
248 | { | 250 | { |
249 | $this->setData([]); | 251 | $this->setData([]); |
252 | + \Yii::$app->response->cookies->remove('isCredit'); | ||
253 | + } | ||
254 | + | ||
255 | + /** | ||
256 | + * Check if is credit cookie flag set | ||
257 | + * | ||
258 | + * @return bool | ||
259 | + */ | ||
260 | + public static function getIsCredit(): bool | ||
261 | + { | ||
262 | + // Get cookies from global in order to skip yii2 cookie validation | ||
263 | + $cookies = $_COOKIE; | ||
264 | + if (isset( $cookies[ 'isCredit' ] )) { | ||
265 | + return true; | ||
266 | + } else { | ||
267 | + return false; | ||
268 | + } | ||
250 | } | 269 | } |
251 | 270 | ||
252 | } | 271 | } |