Compare commits
52 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4c4068e41 | ||
|
|
fd1050b0db | ||
|
|
5b809ec536 | ||
|
|
02fd940124 | ||
|
|
134914dc1a | ||
|
|
d8a1dca660 | ||
|
|
10fa987832 | ||
|
|
58da52b808 | ||
|
|
0585b8d723 | ||
|
|
ccc388fab9 | ||
|
|
dbd5f9d32f | ||
|
|
27397ab839 | ||
|
|
11f530b54f | ||
|
|
6c271e037c | ||
|
|
964a0a4601 | ||
|
|
9737709ee6 | ||
|
|
70144c7cef | ||
|
|
0442da817c | ||
|
|
9d63514220 | ||
|
|
13061bdc04 | ||
|
|
5150a3fc4c | ||
|
|
4ab4e19d20 | ||
|
|
023be78690 | ||
|
|
55c329c16e | ||
|
|
b951c2809c | ||
|
|
2b37db629e | ||
|
|
d064be1587 | ||
|
|
2a1c991612 | ||
|
|
fa059751fc | ||
|
|
6284c55e2a | ||
|
|
81f05b9db3 | ||
|
|
09b5d3a0b8 | ||
|
|
754ba06a39 | ||
|
|
2129aebac0 | ||
|
|
04760c91e5 | ||
|
|
2eb620267c | ||
|
|
a932ba512a | ||
|
|
d14fcf169a | ||
|
|
d6e52bdecb | ||
|
|
3ab28374e6 | ||
|
|
5f47526ed2 | ||
|
|
033bf745cd | ||
|
|
6d0de6e29e | ||
|
|
0ff7163cba | ||
|
|
914f613e7b | ||
|
|
5ef392aaeb | ||
|
|
0410378bd3 | ||
|
|
1508a8a5d7 | ||
|
|
8053604005 | ||
|
|
5abd93e619 | ||
|
|
eff3f6f713 | ||
|
|
dbc5c4301f |
@@ -1,7 +1,7 @@
|
||||
Contributing
|
||||
------------
|
||||
|
||||
PrestaShop is an open-source e-commerce solution - To contribute to our project, you can make pull requests on the development branch.
|
||||
PrestaShop is an open-source e-commerce solution - To contribute to our project, you can make pull requests on the bootstrap branch.
|
||||
If you need some help to make a [pull-request][1]
|
||||
All contributions must respect [the coding norm][2] and [the commit norm][3] in your pull-request.
|
||||
All core files you commit in your pull request must have Open Software License (OSL 3.0)
|
||||
|
||||
@@ -23,10 +23,6 @@
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<div class="width4">
|
||||
{if isset($localization_form)}{$localization_form}{/if}
|
||||
</div>
|
||||
{if isset($localization_form)}{$localization_form}{/if}
|
||||
<br />
|
||||
<div class="width4">
|
||||
{if isset($localization_options)}{$localization_options}{/if}
|
||||
</div>
|
||||
{if isset($localization_options)}{$localization_options}{/if}
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<div class="lang_{$language.id_lang}" style="{if !$language.is_default}display:none;{/if}float: left;">
|
||||
<textarea cols="100" rows="10" id="{$input_name}_{$language.id_lang}"
|
||||
name="{$input_name}_{$language.id_lang}"
|
||||
class="autoload_rte" >{if isset($input_value[$language.id_lang])}{$input_value[$language.id_lang]|htmlentitiesUTF8}{/if}</textarea>
|
||||
class="autoload_rte" >{if isset($input_value[$language.id_lang])}{$input_value[$language.id_lang]|htmlentitiesUTF8|replace:'\r\n':''|replace:'\"':'"'}{/if}</textarea>
|
||||
<span class="counter" max="{if isset($max)}{$max}{else}none{/if}"></span>
|
||||
<span class="hint">{$hint|default:''}<span class="hint-pointer"> </span></span>
|
||||
</div>
|
||||
|
||||
@@ -132,7 +132,12 @@ class CartRuleCore extends ObjectModel
|
||||
public function update($null_values = false)
|
||||
{
|
||||
Cache::clean('getContextualValue_'.$this->id.'_*');
|
||||
return parent::update($null_values);
|
||||
if (!parent::update($null_values))
|
||||
return false;
|
||||
|
||||
Configuration::updateGlobalValue('PS_CART_RULE_FEATURE_ACTIVE', CartRule::isCurrentlyUsed($this->def['table'], true));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -372,11 +372,11 @@ class MailCore
|
||||
|
||||
$file_core = _PS_ROOT_DIR_.'/mails/'.$iso_code.'/lang.php';
|
||||
if (Tools::file_exists_cache($file_core) && empty($_LANGMAIL))
|
||||
include_once($file_core);
|
||||
include($file_core);
|
||||
|
||||
$file_theme = _PS_THEME_DIR_.'mails/'.$iso_code.'/lang.php';
|
||||
if (Tools::file_exists_cache($file_theme))
|
||||
include_once($file_theme);
|
||||
include($file_theme);
|
||||
|
||||
if (!is_array($_LANGMAIL))
|
||||
return (str_replace('"', '"', $string));
|
||||
|
||||
@@ -369,7 +369,8 @@ abstract class PaymentModuleCore extends Module
|
||||
$customization_text .= sprintf(Tools::displayError('%d image(s)'), count($customization['datas'][Product::CUSTOMIZE_FILE])).'<br />';
|
||||
$customization_text .= '---<br />';
|
||||
}
|
||||
$customization_text = rtrim($customization_text, '---<br />');
|
||||
|
||||
$customization_text = Tools::rtrimString($customization_text, '---<br />');
|
||||
|
||||
$customization_quantity = (int)$product['customization_quantity'];
|
||||
$products_list .=
|
||||
|
||||
@@ -85,6 +85,7 @@ class ProductSaleCore
|
||||
foreach ($products as $product)
|
||||
$ids[$product['id_product']] = 1;
|
||||
$ids = array_keys($ids);
|
||||
$ids = array_filter($ids);
|
||||
sort($ids);
|
||||
$ids = count($ids) > 0 ? implode(',', $ids) : 'NULL';
|
||||
|
||||
@@ -157,6 +158,7 @@ class ProductSaleCore
|
||||
$ids[$product['id_product']] = 1;
|
||||
$ids = array_keys($ids);
|
||||
sort($ids);
|
||||
$ids = array_filter($ids);
|
||||
$ids = count($ids) > 0 ? implode(',', $ids) : 'NULL';
|
||||
|
||||
//Main query
|
||||
|
||||
@@ -245,9 +245,10 @@ class RequestSqlCore extends ObjectModel
|
||||
*/
|
||||
public function cutAttribute($attr, $from)
|
||||
{
|
||||
if (preg_match('#^((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))\.((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))$#i', $attr))
|
||||
$matches = array();
|
||||
if (preg_match('/((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))\.((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))$/i', $attr, $matches, PREG_OFFSET_CAPTURE))
|
||||
{
|
||||
$tab = explode('.', str_replace(array('`', '(', ')'), '', $attr));
|
||||
$tab = explode('.', str_replace(array('`', '(', ')'), '', $matches[0][0]));
|
||||
if (!$table = $this->returnNameTable($tab[0], $from))
|
||||
return false;
|
||||
else
|
||||
@@ -256,9 +257,9 @@ class RequestSqlCore extends ObjectModel
|
||||
'attribut' => $tab[1],
|
||||
'string' => $attr);
|
||||
}
|
||||
elseif (preg_match('#^((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))$#i', $attr))
|
||||
elseif (preg_match('/((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))$/i', $attr, $matches, PREG_OFFSET_CAPTURE))
|
||||
{
|
||||
$attribut = str_replace(array('`', '(', ')'), '', $attr);
|
||||
$attribut = str_replace(array('`', '(', ')'), '', $matches[0][0]);
|
||||
if (!$table = $this->returnNameTable(false, $from))
|
||||
return false;
|
||||
else
|
||||
|
||||
@@ -344,7 +344,7 @@ class ToolsCore
|
||||
}
|
||||
|
||||
/* Automatically detect language if not already defined, detect_language is set in Cookie::update */
|
||||
if ((!$cookie->id_lang || isset($cookie->detect_language)) && isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
|
||||
if ((!$cookie->id_lang && (isset($cookie->detect_language)) && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])))
|
||||
{
|
||||
$array = explode(',', Tools::strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']));
|
||||
$string = $array[0];
|
||||
@@ -397,6 +397,7 @@ class ToolsCore
|
||||
|| (($id_lang == $configuration_id_lang) && Validate::isUnsignedId($id_lang) && $id_lang != $cookie_id_lang))
|
||||
{
|
||||
$context->cookie->id_lang = $id_lang;
|
||||
|
||||
$language = new Language($id_lang);
|
||||
if (Validate::isLoadedObject($language) && $language->active)
|
||||
$context->language = $language;
|
||||
@@ -675,10 +676,8 @@ class ToolsCore
|
||||
public static function htmlentitiesDecodeUTF8($string)
|
||||
{
|
||||
if (is_array($string))
|
||||
{
|
||||
$string = array_map(array('Tools', 'htmlentitiesDecodeUTF8'), $string);
|
||||
return (string)array_shift($string);
|
||||
}
|
||||
return array_map(array('Tools', 'htmlentitiesDecodeUTF8'), $string);
|
||||
|
||||
return html_entity_decode((string)$string, ENT_QUOTES, 'utf-8');
|
||||
}
|
||||
|
||||
@@ -2739,6 +2738,20 @@ exit;
|
||||
}
|
||||
return $fileAttachment;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a substring from another one starting from the right
|
||||
* @param string $str
|
||||
* @param string $str_search
|
||||
* @return string
|
||||
*/
|
||||
public static function rtrimString($str, $str_search)
|
||||
{
|
||||
$length_str = strlen($str_search);
|
||||
if (strlen($str) >= $length_str && substr($str, -$length_str) == $str_search)
|
||||
$str = substr($str, 0, -$length_str);
|
||||
return $str;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2765,4 +2778,4 @@ function cmpPriceDesc($a, $b)
|
||||
elseif ((float)$a['price_tmp'] > (float)$b['price_tmp'])
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1547,7 +1547,7 @@ class AdminControllerCore extends Controller
|
||||
if (!empty($country_module_list) && is_string($country_module_list) && $country_module_list_xml = simplexml_load_string($country_module_list))
|
||||
{
|
||||
$country_module_list_array = array();
|
||||
if (is_array($country_module_list_xml->module))
|
||||
if (isset($country_module_list_xml->module))
|
||||
foreach ($country_module_list_xml->module as $k => $m)
|
||||
$country_module_list_array[] = (string)$m->name;
|
||||
$this->tab_modules_list['slider_list'] = array_intersect($this->tab_modules_list['slider_list'], $country_module_list_array);
|
||||
|
||||
@@ -86,9 +86,9 @@ class HelperCore
|
||||
$override_tpl_path = _PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/_configure/'.$this->override_folder.$this->base_folder.$tpl_name;
|
||||
else
|
||||
{
|
||||
if (file_exists($this->context->smarty->getTemplateDir(1).DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
|
||||
$override_tpl_path = $this->context->smarty->getTemplateDir(1).DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name;
|
||||
else if (file_exists($this->context->smarty->getTemplateDir(0).DIRECTORY_SEPARATOR.'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
|
||||
if (file_exists($this->context->smarty->getTemplateDir(1).$this->override_folder.$this->base_folder.$tpl_name))
|
||||
$override_tpl_path = $this->context->smarty->getTemplateDir(1).$this->override_folder.$this->base_folder.$tpl_name;
|
||||
else if (file_exists($this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
|
||||
$override_tpl_path = $this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name;
|
||||
|
||||
}
|
||||
|
||||
@@ -1258,7 +1258,9 @@ abstract class ModuleCore
|
||||
$modules = scandir(_PS_MODULE_DIR_);
|
||||
foreach ($modules as $name)
|
||||
{
|
||||
if (is_dir(_PS_MODULE_DIR_.$name.DIRECTORY_SEPARATOR) && Tools::file_exists_cache(_PS_MODULE_DIR_.$name.'/'.$name.'.php'))
|
||||
if (is_file(_PS_MODULE_DIR_.$name))
|
||||
continue;
|
||||
elseif (is_dir(_PS_MODULE_DIR_.$name.DIRECTORY_SEPARATOR) && Tools::file_exists_cache(_PS_MODULE_DIR_.$name.'/'.$name.'.php'))
|
||||
{
|
||||
if (!Validate::isModuleName($name))
|
||||
throw new PrestaShopException(sprintf('Module %s is not a valid module name', $name));
|
||||
|
||||
@@ -105,7 +105,7 @@ class AdminCategoriesControllerCore extends AdminController
|
||||
$this->_category = new Category($id_category);
|
||||
else
|
||||
{
|
||||
if (Shop::isFeatureActive() && Shop::getContext() == Shop::CONTEXT_SHOP)
|
||||
if (Shop::getContext() == Shop::CONTEXT_SHOP)
|
||||
$this->_category = new Category($this->context->shop->id_category);
|
||||
elseif (count(Category::getCategoriesWithoutParent()) > 1 && Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') && count(Shop::getShops(true, null, true)) != 1)
|
||||
$this->_category = Category::getTopCategory();
|
||||
|
||||
@@ -71,6 +71,7 @@ class AdminCmsCategoriesControllerCore extends AdminController
|
||||
{
|
||||
$this->initToolbar();
|
||||
$this->toolbar_btn['new']['href'] .= '&id_parent='.(int)Tools::getValue('id_cms_category');
|
||||
$this->initTabModuleList();
|
||||
return parent::renderList();
|
||||
}
|
||||
|
||||
|
||||
@@ -120,6 +120,7 @@ class AdminDeliverySlipControllerCore extends AdminController
|
||||
|
||||
public function initContent()
|
||||
{
|
||||
$this->initTabModuleList();
|
||||
$this->content .= $this->renderForm().'<br />';
|
||||
$this->show_toolbar = false;
|
||||
$this->content .= $this->renderOptions();
|
||||
|
||||
@@ -347,15 +347,15 @@ class AdminEmployeesControllerCore extends AdminController
|
||||
|
||||
public function postProcess()
|
||||
{
|
||||
if (Tools::isSubmit('deleteemployee') || Tools::isSubmit('status') || Tools::isSubmit('statusemployee'))
|
||||
/* PrestaShop demo mode */
|
||||
if ((Tools::isSubmit('deleteemployee') || Tools::isSubmit('status') || Tools::isSubmit('statusemployee') || Tools::isSubmit('submitAddemployee')) && _PS_MODE_DEMO_)
|
||||
{
|
||||
/* PrestaShop demo mode */
|
||||
if (_PS_MODE_DEMO_ && $id_employee = Tools::getValue('id_employee') && (int)$id_employee == _PS_DEMO_MAIN_BO_ACCOUNT_)
|
||||
{
|
||||
$this->errors[] = Tools::displayError('This functionality has been disabled.');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('deleteemployee') || Tools::isSubmit('status') || Tools::isSubmit('statusemployee'))
|
||||
{
|
||||
if ($this->context->employee->id == Tools::getValue('id_employee'))
|
||||
{
|
||||
$this->errors[] = Tools::displayError('You cannot disable or delete your own account.');
|
||||
|
||||
@@ -304,7 +304,7 @@ class AdminLocalizationControllerCore extends AdminController
|
||||
'download_updated_pack' => 1
|
||||
);
|
||||
|
||||
$this->show_toolbar = false;
|
||||
$this->show_toolbar = true;
|
||||
return parent::renderForm();
|
||||
}
|
||||
|
||||
@@ -315,7 +315,6 @@ class AdminLocalizationControllerCore extends AdminController
|
||||
|
||||
// toolbar (save, cancel, new, ..)
|
||||
$this->initToolbar();
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'localization_form' => $this->renderForm(),
|
||||
'localization_options' => $this->renderOptions(),
|
||||
@@ -323,9 +322,15 @@ class AdminLocalizationControllerCore extends AdminController
|
||||
));
|
||||
}
|
||||
|
||||
public function initToolbar()
|
||||
{
|
||||
$this->toolbar_btn = array();
|
||||
$this->initTabModuleList();
|
||||
}
|
||||
|
||||
public function display()
|
||||
{
|
||||
$this->initContent();
|
||||
$this->initContent();
|
||||
parent::display();
|
||||
}
|
||||
|
||||
|
||||
@@ -638,6 +638,7 @@ class AdminManufacturersControllerCore extends AdminController
|
||||
{
|
||||
// toolbar (save, cancel, new, ..)
|
||||
$this->initToolbar();
|
||||
$this->initTabModuleList();
|
||||
if ($this->display == 'editaddresses' || $this->display == 'addaddress')
|
||||
$this->content .= $this->renderFormAddress();
|
||||
else if ($this->display == 'edit' || $this->display == 'add')
|
||||
|
||||
@@ -276,7 +276,7 @@ class GetFileControllerCore extends FrontController
|
||||
/* Set headers for download */
|
||||
header('Content-Transfer-Encoding: binary');
|
||||
header('Content-Type: '.$mimeType);
|
||||
header('Content-Length: '.filesize($file));
|
||||
header('Content-Length: '.sprintf('%u', filesize($file)));
|
||||
header('Content-Disposition: attachment; filename="'.$filename.'"');
|
||||
$fp = fopen($file, 'rb');
|
||||
while (!feof($fp))
|
||||
|
||||
@@ -58,7 +58,7 @@ class GuestTrackingControllerCore extends FrontController
|
||||
{
|
||||
$order = new Order((int)$id_order);
|
||||
if (Validate::isLoadedObject($order))
|
||||
$order_collection[] = $order;
|
||||
$order_collection = Order::getByReference($order->reference);
|
||||
}
|
||||
else
|
||||
$order_collection = Order::getByReference($id_order);
|
||||
|
||||
@@ -86,11 +86,9 @@ function migrate_orders()
|
||||
SELECT od.*
|
||||
FROM `'._DB_PREFIX_.'order_detail` od
|
||||
WHERE od.`id_order` = '.(int)$order['id_order']);
|
||||
|
||||
while ($order_details = Db::getInstance()->nextRow($order_details_list))
|
||||
{
|
||||
$values_order_detail = array();
|
||||
$values_order = array();
|
||||
$col_order_detail = array();
|
||||
// we don't want to erase order_details data in order to create the insert query
|
||||
$products = mo_setProductPrices($order_details, $price_display_method);
|
||||
$tax_rate = 1 + ((float)$products['tax_rate'] / 100);
|
||||
@@ -107,6 +105,7 @@ function migrate_orders()
|
||||
$order_details['total_price_tax_excl'] = (float)$products['total_price'];
|
||||
$order_details['unit_price_tax_incl'] = (float)$products['product_price_wt'];
|
||||
$order_details['unit_price_tax_excl'] = (float)$products['product_price'];
|
||||
|
||||
foreach (array_keys($order_details) as $k)
|
||||
if (!in_array($k, $col_order_detail))
|
||||
unset($order_details[$k]);
|
||||
@@ -121,7 +120,7 @@ function migrate_orders()
|
||||
$values_order_detail[] = '(\''.implode('\', \'', $order_details).'\')';
|
||||
unset($order_details);
|
||||
}
|
||||
|
||||
|
||||
$average_tax_used = 1;
|
||||
if ($sum_total_products > 0)
|
||||
$average_tax_used += $sum_tax_amount / $sum_total_products;
|
||||
@@ -187,6 +186,10 @@ function migrate_orders()
|
||||
$res = false;
|
||||
$array_errors[] = '[insert order 4] - '.Db::getInstance()->getMsgError();
|
||||
}
|
||||
if (isset($values_order))
|
||||
unset($values_order);
|
||||
if (isset($values_order_detail))
|
||||
unset($values_order_detail);
|
||||
if (!mo_renameTables())
|
||||
{
|
||||
$res = false;
|
||||
|
||||
@@ -1072,7 +1072,8 @@ qq.extend(qq.UploadHandlerXhr.prototype, {
|
||||
var queryString = qq.obj2url(params, this._options.action);
|
||||
|
||||
xhr.open("POST", queryString, true);
|
||||
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
|
||||
xhr.setRequestHeader("Content-Type", "application/octet-stream");
|
||||
xhr.setRequestHeader("processData", false);
|
||||
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
||||
xhr.setRequestHeader("X-File-Name", encodeURIComponent(name));
|
||||
xhr.send(file);
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
<language iso_code="it" />
|
||||
</languages>
|
||||
<taxes>
|
||||
<tax id="1" name="IVA IT 21%" rate="21" />
|
||||
<tax id="1" name="IVA IT 22%" rate="22" />
|
||||
<tax id="2" name="IVA IT 10%" rate="10" />
|
||||
<tax id="3" name="IVA IT 4%" rate="4" />
|
||||
|
||||
<taxRulesGroup name="IT Standard Rate (21%)">
|
||||
<taxRulesGroup name="IT Standard Rate (22%)">
|
||||
<taxRule iso_code_country="be" id_tax="1" />
|
||||
<taxRule iso_code_country="bg" id_tax="1" />
|
||||
<taxRule iso_code_country="cz" id_tax="1" />
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
<language iso_code="en" />
|
||||
</languages>
|
||||
<taxes>
|
||||
<tax id="1" name="GST JE 3%" rate="3" />
|
||||
<tax id="1" name="GST JE 5%" rate="5" />
|
||||
|
||||
<taxRulesGroup name="JE Standard Rate (3%)">
|
||||
<taxRulesGroup name="JE Standard Rate (5%)">
|
||||
<taxRule iso_code_country="je" id_tax="1" />
|
||||
</taxRulesGroup>
|
||||
</taxes>
|
||||
|
||||
@@ -10,14 +10,10 @@
|
||||
<taxRulesGroup name="Kenya VAT 16%">
|
||||
<taxRule iso_code_country="ke" behavior="0" id_tax="76"/>
|
||||
</taxRulesGroup>
|
||||
<taxRulesGroup name="Kenya VAT 12%">
|
||||
<taxRule iso_code_country="ke" behavior="0" id_tax="77"/>
|
||||
</taxRulesGroup>
|
||||
<taxRulesGroup name="Kenya VAT 0%">
|
||||
<taxRule iso_code_country="ke" behavior="0" id_tax="78"/>
|
||||
</taxRulesGroup>
|
||||
<tax id="76" name="Kenya VAT 16%" rate="16.000"/>
|
||||
<tax id="77" name="Kenya VAT 12%" rate="12.000"/>
|
||||
<tax id="78" name="Kenya VAT 0%" rate="0.000"/>
|
||||
</taxes>
|
||||
<units>
|
||||
|
||||
@@ -7,19 +7,19 @@
|
||||
<language iso_code="de" />
|
||||
</languages>
|
||||
<taxes>
|
||||
<tax id="1" name="TVA CH 7.6%" rate="7.6" />
|
||||
<tax id="2" name="TVA CH 3.6%" rate="3.6" />
|
||||
<tax id="3" name="TVA CH 2.4%" rate="2.4" />
|
||||
<tax id="1" name="TVA CH 8%" rate="8" />
|
||||
<tax id="2" name="TVA CH 3.8%" rate="3.8" />
|
||||
<tax id="3" name="TVA CH 2.5%" rate="2.5" />
|
||||
|
||||
<taxRulesGroup name="CH Standard Rate (7.6%)">
|
||||
<taxRulesGroup name="CH Standard Rate (8%)">
|
||||
<taxRule iso_code_country="li" id_tax="1" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="CH Reduced Rate (3.6%)">
|
||||
<taxRulesGroup name="CH Reduced Rate (3.8%)">
|
||||
<taxRule iso_code_country="li" id_tax="2" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="CH Super Reduced Rate (2.4%)">
|
||||
<taxRulesGroup name="CH Super Reduced Rate (2.5%)">
|
||||
<taxRule iso_code_country="li" id_tax="3" />
|
||||
</taxRulesGroup>
|
||||
</taxes>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</languages>
|
||||
<taxes>
|
||||
<tax id="1" name="PVN LV 21%" rate="21" />
|
||||
<tax id="2" name="PVN LV 10%" rate="10" />
|
||||
<tax id="2" name="PVN LV 12%" rate="12" />
|
||||
|
||||
<taxRulesGroup name="LV Standard Rate (21%)">
|
||||
<taxRule iso_code_country="be" id_tax="1" />
|
||||
@@ -40,7 +40,7 @@
|
||||
<taxRule iso_code_country="uk" id_tax="1" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="LV Reduced Rate (10%)">
|
||||
<taxRulesGroup name="LV Reduced Rate (12%)">
|
||||
<taxRule iso_code_country="be" id_tax="2" />
|
||||
<taxRule iso_code_country="bg" id_tax="2" />
|
||||
<taxRule iso_code_country="cz" id_tax="2" />
|
||||
@@ -100,7 +100,7 @@
|
||||
<taxRule iso_code_country="uk" id_tax="1" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="LV Books Rate (10%)">
|
||||
<taxRulesGroup name="LV Books Rate (12%)">
|
||||
<taxRule iso_code_country="be" id_tax="2" />
|
||||
<taxRule iso_code_country="bg" id_tax="2" />
|
||||
<taxRule iso_code_country="cz" id_tax="2" />
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
</languages>
|
||||
<taxes>
|
||||
<tax id="1" name="MVA NO 25%" rate="25" />
|
||||
<tax id="2" name="MVA NO 14%" rate="14" />
|
||||
<tax id="2" name="MVA NO 15%" rate="15" />
|
||||
<tax id="3" name="MVA NO 8%" rate="8" />
|
||||
|
||||
<taxRulesGroup name="NO Standard Rate (25%)">
|
||||
<taxRule iso_code_country="no" id_tax="1" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="NO Reduced Rate (14%)">
|
||||
<taxRulesGroup name="NO Reduced Rate (15%)">
|
||||
<taxRule iso_code_country="no" id_tax="2" />
|
||||
</taxRulesGroup>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<localizationPack name="PA">
|
||||
<localizationPack name="Panama">
|
||||
<currencies>
|
||||
<currency name="Dollar" iso_code="USD" iso_code_num="840" sign="$" blank="0" conversion_rate="1.000000" format="1" decimals="1"/>
|
||||
</currencies>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<localizationPack name="PE">
|
||||
<localizationPack name="Peru">
|
||||
<currencies>
|
||||
<currency name="Nuevo Sol" iso_code="PEN" iso_code_num="604" sign="S/." blank="1" conversion_rate="2.784499" format="1" decimals="0"/>
|
||||
</currencies>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<localizationPack name="PH">
|
||||
<localizationPack name="Philippines">
|
||||
<currencies>
|
||||
<currency name="Philippine Peso" iso_code="PHP" iso_code_num="608" sign="PHP" blank="1" conversion_rate="1.000000" format="1" decimals="1"/>
|
||||
</currencies>
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<localizationPack name="Poland" version="1.0">
|
||||
<currencies>
|
||||
<currency name="Zloty" iso_code="PLN" iso_code_num="985" sign="zł" blank="1" conversion_rate="3.84510" format="2" decimals="1" />
|
||||
<currency name="Złoty" iso_code="PLN" iso_code_num="985" sign="zł" blank="1" conversion_rate="3.84510" format="2" decimals="1" />
|
||||
</currencies>
|
||||
<languages>
|
||||
<language iso_code="pl" />
|
||||
</languages>
|
||||
<taxes>
|
||||
<tax id="1" name="PTU PL 23%" rate="23" />
|
||||
|
||||
<tax id="2" name="PTU PL 8%" rate="8" />
|
||||
<tax id="3" name="PTU PL 7%" rate="7" />
|
||||
<tax id="4" name="PTU PL 5%" rate="5" />
|
||||
<tax id="5" name="PTU PL 4%" rate="4" />
|
||||
<tax id="6" name="PTU PL 0" rate="0" />
|
||||
|
||||
<taxRulesGroup name="PL Standard Rate (23%)">
|
||||
@@ -82,39 +79,6 @@
|
||||
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="PL Reduced Rate (7%)">
|
||||
<taxRule iso_code_country="be" id_tax="3" />
|
||||
<taxRule iso_code_country="bg" id_tax="3" />
|
||||
<taxRule iso_code_country="cz" id_tax="3" />
|
||||
<taxRule iso_code_country="dk" id_tax="3" />
|
||||
<taxRule iso_code_country="de" id_tax="3" />
|
||||
<taxRule iso_code_country="ee" id_tax="3" />
|
||||
|
||||
<taxRule iso_code_country="gr" id_tax="3" />
|
||||
<taxRule iso_code_country="es" id_tax="3" />
|
||||
<taxRule iso_code_country="fr" id_tax="3" />
|
||||
<taxRule iso_code_country="ie" id_tax="3" />
|
||||
<taxRule iso_code_country="it" id_tax="3" />
|
||||
<taxRule iso_code_country="cy" id_tax="3" />
|
||||
<taxRule iso_code_country="lv" id_tax="3" />
|
||||
<taxRule iso_code_country="lt" id_tax="3" />
|
||||
<taxRule iso_code_country="lu" id_tax="3" />
|
||||
|
||||
<taxRule iso_code_country="hu" id_tax="3" />
|
||||
<taxRule iso_code_country="mt" id_tax="3" />
|
||||
<taxRule iso_code_country="nl" id_tax="3" />
|
||||
<taxRule iso_code_country="at" id_tax="3" />
|
||||
<taxRule iso_code_country="pl" id_tax="3" />
|
||||
<taxRule iso_code_country="pt" id_tax="3" />
|
||||
<taxRule iso_code_country="ro" id_tax="3" />
|
||||
<taxRule iso_code_country="si" id_tax="3" />
|
||||
<taxRule iso_code_country="sk" id_tax="3" />
|
||||
|
||||
<taxRule iso_code_country="fi" id_tax="3" />
|
||||
<taxRule iso_code_country="se" id_tax="3" />
|
||||
<taxRule iso_code_country="uk" id_tax="3" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="PL Reduced Rate (5%)">
|
||||
<taxRule iso_code_country="be" id_tax="4" />
|
||||
<taxRule iso_code_country="bg" id_tax="4" />
|
||||
@@ -147,38 +111,6 @@
|
||||
<taxRule iso_code_country="uk" id_tax="4" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="PL Reduced Rate (4%)">
|
||||
<taxRule iso_code_country="be" id_tax="5" />
|
||||
<taxRule iso_code_country="bg" id_tax="5" />
|
||||
|
||||
<taxRule iso_code_country="cz" id_tax="5" />
|
||||
<taxRule iso_code_country="dk" id_tax="5" />
|
||||
<taxRule iso_code_country="de" id_tax="5" />
|
||||
<taxRule iso_code_country="ee" id_tax="5" />
|
||||
<taxRule iso_code_country="gr" id_tax="5" />
|
||||
<taxRule iso_code_country="es" id_tax="5" />
|
||||
<taxRule iso_code_country="fr" id_tax="5" />
|
||||
<taxRule iso_code_country="it" id_tax="5" />
|
||||
<taxRule iso_code_country="cy" id_tax="5" />
|
||||
|
||||
<taxRule iso_code_country="lv" id_tax="5" />
|
||||
<taxRule iso_code_country="lt" id_tax="5" />
|
||||
<taxRule iso_code_country="lu" id_tax="5" />
|
||||
<taxRule iso_code_country="hu" id_tax="5" />
|
||||
<taxRule iso_code_country="mt" id_tax="5" />
|
||||
<taxRule iso_code_country="nl" id_tax="5" />
|
||||
<taxRule iso_code_country="at" id_tax="5" />
|
||||
<taxRule iso_code_country="pl" id_tax="5" />
|
||||
<taxRule iso_code_country="pt" id_tax="5" />
|
||||
|
||||
<taxRule iso_code_country="ro" id_tax="5" />
|
||||
<taxRule iso_code_country="si" id_tax="5" />
|
||||
<taxRule iso_code_country="sk" id_tax="5" />
|
||||
<taxRule iso_code_country="fi" id_tax="5" />
|
||||
<taxRule iso_code_country="se" id_tax="5" />
|
||||
<taxRule iso_code_country="uk" id_tax="5" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="PL Exempted Rate (0%)">
|
||||
<taxRule iso_code_country="be" id_tax="6" />
|
||||
|
||||
@@ -210,7 +142,6 @@
|
||||
<taxRule iso_code_country="se" id_tax="6" />
|
||||
<taxRule iso_code_country="uk" id_tax="6" />
|
||||
</taxRulesGroup>
|
||||
|
||||
</taxes>
|
||||
|
||||
<units>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<localizationPack name="Saoudi Arabie" version="1.0">
|
||||
<localizationPack name="Saudi Arabia" version="1.0">
|
||||
<currencies>
|
||||
<currency name="Riyal" iso_code="SAR" iso_code_num="682" sign="﷼" blank="1" conversion_rate="5.10682" format="2" decimals="1" />
|
||||
</currencies>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
</currencies>
|
||||
<languages>
|
||||
<language iso_code="en" />
|
||||
<language iso_code="tw" />
|
||||
<language iso_code="ms" />
|
||||
<language iso_code="zh" />
|
||||
</languages>
|
||||
<taxes>
|
||||
@@ -16,10 +16,10 @@
|
||||
</taxRulesGroup>
|
||||
</taxes>
|
||||
<units>
|
||||
<unit type="weight" value="市制" />
|
||||
<unit type="volume" value="市升" />
|
||||
<unit type="short_distance" value="市厘" />
|
||||
<unit type="base_distance" value="里" />
|
||||
<unit type="long_distance" value="市里" />
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
</localizationPack>
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
<language iso_code="si" />
|
||||
</languages>
|
||||
<taxes>
|
||||
<tax id="1" name="DDV SI 20%" rate="20" />
|
||||
<tax id="2" name="DDV SI 8.5%" rate="8.5" />
|
||||
<tax id="1" name="DDV SI 22%" rate="22" />
|
||||
<tax id="2" name="DDV SI 9.5%" rate="9.5" />
|
||||
|
||||
<taxRulesGroup name="SI Standard Rate (20%)">
|
||||
<taxRulesGroup name="SI Standard Rate (22%)">
|
||||
<taxRule iso_code_country="be" id_tax="1" />
|
||||
<taxRule iso_code_country="bg" id_tax="1" />
|
||||
<taxRule iso_code_country="cz" id_tax="1" />
|
||||
@@ -40,7 +40,7 @@
|
||||
<taxRule iso_code_country="uk" id_tax="1" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="SI Reduced Rate (8.5%)">
|
||||
<taxRulesGroup name="SI Reduced Rate (9.5%)">
|
||||
<taxRule iso_code_country="be" id_tax="2" />
|
||||
<taxRule iso_code_country="bg" id_tax="2" />
|
||||
<taxRule iso_code_country="cz" id_tax="2" />
|
||||
@@ -70,7 +70,7 @@
|
||||
<taxRule iso_code_country="uk" id_tax="2" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="SI Foodstuff Rate (8.5%)">
|
||||
<taxRulesGroup name="SI Foodstuff Rate (9.5%)">
|
||||
<taxRule iso_code_country="be" id_tax="2" />
|
||||
<taxRule iso_code_country="bg" id_tax="2" />
|
||||
<taxRule iso_code_country="cz" id_tax="2" />
|
||||
@@ -100,7 +100,7 @@
|
||||
<taxRule iso_code_country="uk" id_tax="2" />
|
||||
</taxRulesGroup>
|
||||
|
||||
<taxRulesGroup name="SI Books Rate (8.5%)">
|
||||
<taxRulesGroup name="SI Books Rate (9.5%)">
|
||||
<taxRule iso_code_country="be" id_tax="2" />
|
||||
<taxRule iso_code_country="bg" id_tax="2" />
|
||||
<taxRule iso_code_country="cz" id_tax="2" />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<localizationPack name="TN">
|
||||
<localizationPack name="Tunisia">
|
||||
<currencies>
|
||||
<currency name="Tunisian Dinar" iso_code="TND" iso_code_num="788" sign="DT" blank="0" conversion_rate="1.000000" format="2" decimals="1"/>
|
||||
</currencies>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">A new command has been generated to you.</td>
|
||||
<td style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">A new order has been generated to you.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Hi {firstname} {lastname},
|
||||
|
||||
A new command has been generated to you.
|
||||
A new order has been generated to you.
|
||||
|
||||
Go on {order_link} to finalize the payment.
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ class HomeFeatured extends Module
|
||||
{
|
||||
$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
|
||||
$nb = (int)Configuration::get('HOME_FEATURED_NBR');
|
||||
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8));
|
||||
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), "position");
|
||||
|
||||
$this->smarty->assign(array(
|
||||
'products' => $products,
|
||||
|
||||
@@ -318,7 +318,7 @@ class MailAlerts extends Module
|
||||
$customization_text .= '---<br />';
|
||||
}
|
||||
|
||||
$customization_text = rtrim($customization_text, '---<br />');
|
||||
$customization_text = Tools::rtrimString($customization_text, '---<br />');
|
||||
}
|
||||
|
||||
$items_table .=
|
||||
|
||||
@@ -474,6 +474,7 @@ class PSCleaner extends Module
|
||||
'stock',
|
||||
'stock_available',
|
||||
'stock_mvt',
|
||||
'tag',
|
||||
);
|
||||
foreach ($tables as $table)
|
||||
$db->execute('TRUNCATE TABLE `'._DB_PREFIX_.bqSQL($table).'`');
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
* { direction: rtl !important; }
|
||||
body { direction: rtl !important; }
|
||||
#page { text-align: right !important; }
|
||||
@@ -1,61 +0,0 @@
|
||||
{*
|
||||
* 2007-2013 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<!-- MODULE Block specials -->
|
||||
<div id="special_block_right" class="block products_block exclusive blockspecials">
|
||||
<p class="title_block"><a href="{$link->getPageLink('prices-drop')|escape:'html'}" title="{l s='Specials' mod='blockspecials'}">{l s='Specials' mod='blockspecials'}</a></p>
|
||||
<div class="block_content">
|
||||
|
||||
{if $special}
|
||||
<ul class="products clearfix">
|
||||
<li class="product_image">
|
||||
<a href="{$special.link|escape:'html'}"><img src="{$link->getImageLink($special.link_rewrite, $special.id_image, 'medium_default')|escape:'html'}" alt="{$special.legend|escape:html:'UTF-8'}" height="{$mediumSize.height}" width="{$mediumSize.width}" title="{$special.name|escape:html:'UTF-8'}" /></a>
|
||||
</li>
|
||||
<li>
|
||||
{if !$PS_CATALOG_MODE}
|
||||
{if $special.specific_prices}
|
||||
{assign var='specific_prices' value=$special.specific_prices}
|
||||
{if $specific_prices.reduction_type == 'percentage' && ($specific_prices.from == $specific_prices.to OR ($smarty.now|date_format:'%Y-%m-%d %H:%M:%S' <= $specific_prices.to && $smarty.now|date_format:'%Y-%m-%d %H:%M:%S' >= $specific_prices.from))}
|
||||
<span class="reduction"><span>-{$specific_prices.reduction*100|floatval}%</span></span>
|
||||
{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
<p class="s_title_block"><a href="{$special.link|escape:'html'}" title="{$special.name|escape:html:'UTF-8'}">{$special.name|escape:html:'UTF-8'}</a></p>
|
||||
{if !$PS_CATALOG_MODE}
|
||||
<span class="price-discount">{if !$priceDisplay}{displayWtPrice p=$special.price_without_reduction}{else}{displayWtPrice p=$priceWithoutReduction_tax_excl}{/if}</span>
|
||||
<span class="price">{if !$priceDisplay}{displayWtPrice p=$special.price}{else}{displayWtPrice p=$special.price_tax_exc}{/if}</span>
|
||||
{/if}
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
<a href="{$link->getPageLink('prices-drop')|escape:'html'}" title="{l s='All specials' mod='blockspecials'}">» {l s='All specials' mod='blockspecials'}</a>
|
||||
</p>
|
||||
{else}
|
||||
<p>{l s='No specials at this time' mod='blockspecials'}</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<!-- /MODULE Block specials -->
|
||||
@@ -171,13 +171,14 @@
|
||||
<td>
|
||||
<div class="delivery_option_price">
|
||||
{if $option.total_price_with_tax && (!isset($free_shipping) || (isset($free_shipping) && !$free_shipping))}
|
||||
|
||||
{if $use_taxes == 1}
|
||||
{if $priceDisplay == 1}
|
||||
{convertPrice price=$option.total_price_without_tax} {l s='(tax excl.)'}
|
||||
{else}
|
||||
{convertPrice price=$option.total_price_with_tax} {l s='(tax incl.)'}
|
||||
{/if}
|
||||
{else}
|
||||
{convertPrice price=$option.total_price_without_tax}
|
||||
{/if}
|
||||
{else}
|
||||
{l s='Free'}
|
||||
|
||||
Reference in New Issue
Block a user