diff --git a/module/product/model.php b/module/product/model.php index 04aa058856..ee03e7d0ec 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -145,18 +145,17 @@ class productModel extends model */ public function saveState($productID, $products) { - if($productID > 0) $this->session->set('product', (int)$productID); - if($productID == 0 and $this->cookie->preProductID) $this->session->set('product', (int)$this->cookie->preProductID); - if($productID == 0 and $this->session->product == '') $this->session->set('product', key($products)); - if(!isset($products[$this->session->product])) + if($productID == 0 and $this->cookie->preProductID) $productID = (int)$this->cookie->preProductID; + if($productID == 0 and $this->session->product == '') $productID = key($products); + if(!isset($products[$productID])) { $product = $this->getById($productID); - if(empty($product)) $this->session->set('product', key($products)); + if(empty($product)) $productID = key($products);; if($productID && strpos(",{$this->app->user->view->products},", ",{$this->session->product},") === false) $this->accessDenied(); } - - setcookie('preProductID', $this->session->product, $this->config->cookieLife, $this->config->webRoot, '', $this->config->cookieSecure, true); - if($this->cookie->preProductID != $this->session->product) + $this->session->set('product', $productID); + setcookie('preProductID', $productID, $this->config->cookieLife, $this->config->webRoot, '', $this->config->cookieSecure, true); + if($this->cookie->preProductID != $productID) { $this->cookie->set('preBranch', 0); setcookie('preBranch', 0, $this->config->cookieLife, $this->config->webRoot, '', $this->config->cookieSecure, true);