diff --git a/classes/controller/FrontController.php b/classes/controller/FrontController.php index beb2f3b12..cbf43d75e 100755 --- a/classes/controller/FrontController.php +++ b/classes/controller/FrontController.php @@ -881,7 +881,10 @@ class FrontControllerCore extends Controller */ public function isTokenValid() { - return Configuration::get('PS_TOKEN_ENABLE') && strcasecmp(Tools::getToken(false), Tools::getValue('token')) && $this->context->customer->isLogged(); + if (!Configuration::get('PS_TOKEN_ENABLE')) + return true; + + return strcasecmp(Tools::getToken(false), Tools::getValue('token')); } /** diff --git a/controllers/front/AddressController.php b/controllers/front/AddressController.php index aef45dfd4..bbcf294aa 100644 --- a/controllers/front/AddressController.php +++ b/controllers/front/AddressController.php @@ -122,7 +122,7 @@ class AddressControllerCore extends FrontController $address->id_customer = (int)$this->context->customer->id; // Check page token - if ($this->isTokenValid()) + if ($this->context->customer->isLogged() && !$this->isTokenValid()) $this->errors[] = Tools::displayError('Invalid token'); // Check phone @@ -175,7 +175,7 @@ class AddressControllerCore extends FrontController $this->errors[] = Tools::displayError('Identification number is incorrect or has already been used.'); else if (!$country->isNeedDni()) $address->dni = null; - + // Check if the alias exists if (!empty($_POST['alias']) && (int)$this->context->customer->id > 0 diff --git a/controllers/front/CartController.php b/controllers/front/CartController.php index 8fcaaa22d..bf243909c 100644 --- a/controllers/front/CartController.php +++ b/controllers/front/CartController.php @@ -34,7 +34,7 @@ class CartControllerCore extends FrontController protected $id_address_delivery; protected $customization_id; protected $qty; - + protected $ajax_refresh = false; /** @@ -62,7 +62,7 @@ class CartControllerCore extends FrontController public function postProcess() { - if ($this->isTokenValid()) + if ($this->context->customer->isLogged() && !$this->isTokenValid()) $this->errors[] = Tools::displayError('Invalid token'); // Update the cart ONLY if $this->cookies are available, in order to avoid ghost carts created by bots @@ -122,7 +122,7 @@ class CartControllerCore extends FrontController { if (!Configuration::get('PS_ALLOW_MULTISHIPPING')) return; - + $old_id_address_delivery = (int)Tools::getValue('old_id_address_delivery'); $new_id_address_delivery = (int)Tools::getValue('new_id_address_delivery'); @@ -132,15 +132,15 @@ class CartControllerCore extends FrontController $old_id_address_delivery, $new_id_address_delivery); } - + protected function processAllowSeperatedPackage() { if (!Configuration::get('PS_SHIP_WHEN_AVAILABLE')) return; - + if (Tools::getValue('value') === false) die('{"error":true, "error_message": "No value setted"}'); - + $this->context->cart->allow_seperated_package = (boolean)Tools::getValue('value'); $this->context->cart->update(); die('{"error":false}'); @@ -150,7 +150,7 @@ class CartControllerCore extends FrontController { if (!Configuration::get('PS_ALLOW_MULTISHIPPING')) return; - + if (!$this->context->cart->duplicateProduct( $this->id_product, $this->id_product_attribute, @@ -237,7 +237,7 @@ class CartControllerCore extends FrontController } } } - + $removed = CartRule::autoRemoveFromCart(); if (count($removed) && (int)Tools::getValue('allow_refresh')) $this->ajax_refresh = true;