diff --git a/classes/Configuration.php b/classes/Configuration.php index dc623e3f0..570435a2f 100644 --- a/classes/Configuration.php +++ b/classes/Configuration.php @@ -314,7 +314,8 @@ class ConfigurationCore extends ObjectModel $result = true; foreach ($values as $lang => $value) { - if ($value === Configuration::get($key, $lang, $id_shop_group, $id_shop)) + $stored_value = Configuration::get($key, $lang, $id_shop_group, $id_shop); + if ((!is_numeric($value) && $value === $stored_value) || (is_numeric($value) && $value == $stored_value)) continue; // If key already exists, update value diff --git a/classes/Tools.php b/classes/Tools.php index 849b1db65..107e7ff0b 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -421,28 +421,27 @@ class ToolsCore if (is_object($currency) && $currency->id && !$currency->deleted && $currency->isAssociatedToShop()) $cookie->id_currency = (int)$currency->id; } - - if ((int)$cookie->id_currency) - { - $currency = Currency::getCurrencyInstance((int)$cookie->id_currency); - if (is_object($currency) && (int)$currency->id && (int)$currency->deleted != 1 && $currency->active) - if ($currency->isAssociatedToShop()) - return $currency; - else - { - // get currency from context - $currency = Shop::getEntityIds('currency', Context::getContext()->shop->id); - if (isset($currency[0]) && $currency[0]['id_currency']) - { - $cookie->id_currency = $currency[0]['id_currency']; - return Currency::getCurrencyInstance((int)$cookie->id_currency); - } - } - } + $currency = Currency::getCurrencyInstance(Configuration::get('PS_CURRENCY_DEFAULT')); - if (is_object($currency) && $currency->id) - $cookie->id_currency = (int)$currency->id; + if ((int)$cookie->id_currency) + $currency = Currency::getCurrencyInstance((int)$cookie->id_currency); + if (is_object($currency) && (int)$currency->id && (int)$currency->deleted != 1 && $currency->active) + { + $cookie->id_currency = (int)$currency->id; + if ($currency->isAssociatedToShop()) + return $currency; + else + { + // get currency from context + $currency = Shop::getEntityIds('currency', Context::getContext()->shop->id, true, true); + if (isset($currency[0]) && $currency[0]['id_currency']) + { + $cookie->id_currency = $currency[0]['id_currency']; + return Currency::getCurrencyInstance((int)$cookie->id_currency); + } + } + } return $currency; } diff --git a/themes/default-bootstrap/products-comparison.tpl b/themes/default-bootstrap/products-comparison.tpl index 7b9043d19..a9680d821 100644 --- a/themes/default-bootstrap/products-comparison.tpl +++ b/themes/default-bootstrap/products-comparison.tpl @@ -28,145 +28,147 @@

{l s='Product Comparison'}

{if $hasProduct} - -
- - - - {assign var='taxes_behavior' value=false} - {if $use_taxes && (!$priceDisplay || $priceDisplay == 2)} - {assign var='taxes_behavior' value=true} - {/if} - {foreach from=$products item=product name=for_products} - {assign var='replace_id' value=$product->id|cat:'|'} - - - {/foreach} - - {if $ordered_features} - {foreach from=$ordered_features item=feature} - - {cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'} - - - {foreach from=$products item=product name=for_products} - {assign var='product_id' value=$product->id} - {assign var='feature_id' value=$feature.id_feature} - {if isset($product_features[$product_id])} - {assign var='tab' value=$product_features[$product_id]} - - {else} - - {/if} - {/foreach} - - {/foreach} - {else} + +
+
- {$HOOK_COMPARE_EXTRA_INFORMATION} - {l s='Features:'} - -
- -
-
- - {$product->name|escape:html:'UTF-8'} - - {if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE} - {if $product->on_sale} -
{l s='Sale!'}
- {/if} - {/if} -
-
{$product->name|truncate:45:'...'|escape:'html':'UTF-8'}
-
- {if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE} - {convertPrice price=$product->getPrice($taxes_behavior)} - {if isset($product->specificPrice) && $product->specificPrice} - {if {$product->specificPrice.reduction_type == 'percentage'}} - {displayWtPrice p=$product->getPrice($taxes_behavior)+($product->getPrice($taxes_behavior)* $product->specificPrice.reduction)} - -{$product->specificPrice.reduction*100|floatval}% - {else} - {convertPrice price=($product->getPrice($taxes_behavior) + $product->specificPrice.reduction)} - -{convertPrice price=$product->specificPrice.reduction} - {/if} - {/if} - {if $product->on_sale} - {elseif $product->specificPrice AND $product->specificPrice.reduction} -
- {l s='Reduced price!'} -
- {/if} - - {if !empty($product->unity) && $product->unit_price_ratio > 0.000000} - {math equation="pprice / punit_price" pprice=$product->getPrice($taxes_behavior) punit_price=$product->unit_price_ratio assign=unit_price} -  {convertPrice price=$unit_price} {l s='per %s' sprintf=$product->unity|escape:'html':'UTF-8'} - {else} - {/if} - {/if} -
-
{$product->description_short|strip_tags|truncate:60:'...'}
- -
- -

- {if !(($product->quantity <= 0 && !$product->available_later) OR ($product->quantity != 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE)} - {l s='Availability:'} - quantity <= 0} class="warning-inline"{/if}> - {if $product->quantity <= 0} - {if $allow_oosp} - {$product->available_later|escape:'html':'UTF-8'} - {else} - {l s='This product is no longer in stock.'} - {/if} - {else} - {$product->available_now|escape:'html':'UTF-8'} - {/if} - - {/if} -

-
-
- {if (!$product->hasAttributes() OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product->minimal_quantity == 1 AND $product->customizable != 2 AND !$PS_CATALOG_MODE} - {if ($product->quantity > 0 OR $product->allow_oosp)} - id}&token={$static_token}&add")|escape:'html'}" - title="{l s='Add to cart'}"> - {l s='Add to cart'} - - {else} - {l s='Add to cart'} - {/if} - {else} - - {/if} - {l s='View'} -
-
- -
-
- {$feature.name|escape:'html':'UTF-8'} - {if (isset($tab[$feature_id]))}{$tab[$feature_id]|escape:'html':'UTF-8'}{/if}
- - - - {/if} + + {assign var='taxes_behavior' value=false} + {if $use_taxes && (!$priceDisplay || $priceDisplay == 2)} + {assign var='taxes_behavior' value=true} + {/if} + {foreach from=$products item=product name=for_products} + {assign var='replace_id' value=$product->id|cat:'|'} +
{l s='No features to compare'}
+ {$HOOK_COMPARE_EXTRA_INFORMATION} + {l s='Features:'} + +
+ +
+
+ + {$product->name|escape:html:'UTF-8'} + + {if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE} + {if $product->on_sale} +
{l s='Sale!'}
+ {/if} + {/if} +
+
+ + {$product->name|truncate:45:'...'|escape:'html':'UTF-8'} + +
+
+ {if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE} + {convertPrice price=$product->getPrice($taxes_behavior)} + {if isset($product->specificPrice) && $product->specificPrice} + {if {$product->specificPrice.reduction_type == 'percentage'}} + {displayWtPrice p=$product->getPrice($taxes_behavior)+($product->getPrice($taxes_behavior)* $product->specificPrice.reduction)} + -{$product->specificPrice.reduction*100|floatval}% + {else} + {convertPrice price=($product->getPrice($taxes_behavior) + $product->specificPrice.reduction)} + -{convertPrice price=$product->specificPrice.reduction} + {/if} + {/if} + {if $product->on_sale} + {elseif $product->specificPrice AND $product->specificPrice.reduction} +
+ {l s='Reduced price!'} +
+ {/if} + {if !empty($product->unity) && $product->unit_price_ratio > 0.000000} + {math equation="pprice / punit_price" pprice=$product->getPrice($taxes_behavior) punit_price=$product->unit_price_ratio assign=unit_price} +  {convertPrice price=$unit_price} {l s='per %s' sprintf=$product->unity|escape:'html':'UTF-8'} + {else} + {/if} + {/if} +
- {$HOOK_EXTRA_PRODUCT_COMPARISON} -
-
+
{$product->description_short|strip_tags|truncate:60:'...'}
+ +
+ +

+ {if !(($product->quantity <= 0 && !$product->available_later) OR ($product->quantity != 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE)} + {l s='Availability:'} + quantity <= 0} class="warning-inline"{/if}> + {if $product->quantity <= 0} + {if $allow_oosp} + {$product->available_later|escape:'html':'UTF-8'} + {else} + {l s='This product is no longer in stock.'} + {/if} + {else} + {$product->available_now|escape:'html':'UTF-8'} + {/if} + + {/if} +

+
+
+ {if (!$product->hasAttributes() OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product->minimal_quantity == 1 AND $product->customizable != 2 AND !$PS_CATALOG_MODE} + {if ($product->quantity > 0 OR $product->allow_oosp)} + id}&token={$static_token}&add")|escape:'html'}" + title="{l s='Add to cart'}"> + {l s='Add to cart'} + + {else} + {l s='Add to cart'} + {/if} + {/if} + {l s='View'} +
+
+
+ + {/foreach} + + {if $ordered_features} + {foreach from=$ordered_features item=feature} + + {cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'} + + {$feature.name|escape:'html':'UTF-8'} + + {foreach from=$products item=product name=for_products} + {assign var='product_id' value=$product->id} + {assign var='feature_id' value=$feature.id_feature} + {if isset($product_features[$product_id])} + {assign var='tab' value=$product_features[$product_id]} + {if (isset($tab[$feature_id]))}{$tab[$feature_id]|escape:'html':'UTF-8'}{/if} + {else} + + {/if} + {/foreach} + + {/foreach} + {else} + + + {l s='No features to compare'} + + {/if} + {$HOOK_EXTRA_PRODUCT_COMPARISON} + + {else}

{l s='There are no products selected for comparison.'}

{/if} \ No newline at end of file