Commit 015cc6832a44bb58174512a28f2012f7a4a5c214

Authored by Yarik
1 parent e6b208ea

Credits v2

Showing 1 changed file with 21 additions and 2 deletions   Show diff stats
@@ -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 }