diff --git a/admin-dev/themes/default/template/controllers/cart_rules/conditions.tpl b/admin-dev/themes/default/template/controllers/cart_rules/conditions.tpl index e8fecdbf5..158c4d117 100644 --- a/admin-dev/themes/default/template/controllers/cart_rules/conditions.tpl +++ b/admin-dev/themes/default/template/controllers/cart_rules/conditions.tpl @@ -207,12 +207,12 @@
{l s='Product selection'}
- +
{foreach from=$product_rule_groups item='product_rule_group'} {$product_rule_group} {/foreach} - + {l s='Add'} {l s='Product selection'}
diff --git a/admin-dev/themes/default/template/controllers/cart_rules/form.js b/admin-dev/themes/default/template/controllers/cart_rules/form.js index ff7c38d9a..82cc6c8af 100644 --- a/admin-dev/themes/default/template/controllers/cart_rules/form.js +++ b/admin-dev/themes/default/template/controllers/cart_rules/form.js @@ -25,6 +25,7 @@ function addProductRuleGroup() { + $('#product_rule_group_table').show(); product_rule_groups_counter += 1; product_rule_counters[product_rule_groups_counter] = 0; diff --git a/admin-dev/themes/default/template/controllers/images/content.tpl b/admin-dev/themes/default/template/controllers/images/content.tpl index fbe4ac3cb..2e8e0ea65 100644 --- a/admin-dev/themes/default/template/controllers/images/content.tpl +++ b/admin-dev/themes/default/template/controllers/images/content.tpl @@ -76,7 +76,7 @@ {/if} -{if isset($display_move)} +{if isset($display_move) && $display_move}

{l s='Move images'}

{l s='PrestaShop now uses a new storage system for product images. It offers better performance if your shop has a large number of products.'}

diff --git a/admin-dev/themes/default/template/controllers/stores/helpers/options/options.tpl b/admin-dev/themes/default/template/controllers/stores/helpers/options/options.tpl index c2192d48f..5fc5f3b05 100644 --- a/admin-dev/themes/default/template/controllers/stores/helpers/options/options.tpl +++ b/admin-dev/themes/default/template/controllers/stores/helpers/options/options.tpl @@ -38,7 +38,7 @@ if (html == 'false') { $("#conf_id_PS_SHOP_STATE_ID").fadeOut(); - $('#id_state option[value=0]').attr("selected", "selected"); + $('#PS_SHOP_STATE_ID option[value=0]').attr("selected", "selected"); } else { diff --git a/admin-dev/themes/default/template/controllers/translations/helpers/view/main.tpl b/admin-dev/themes/default/template/controllers/translations/helpers/view/main.tpl index 6102eb998..89748e739 100644 --- a/admin-dev/themes/default/template/controllers/translations/helpers/view/main.tpl +++ b/admin-dev/themes/default/template/controllers/translations/helpers/view/main.tpl @@ -33,22 +33,29 @@ document.getElementById('typeTranslationForm').submit(); } - function addThemeSelect(el) + function addThemeSelect() { - var list_type_for_theme = [{foreach $translations_type_for_theme as $type}'{$type}', {/foreach}]; - var type = el.value; + var list_type_for_theme = ['front', 'modules', 'pdf', 'mails']; + var type = $('select[name=type]').val(); $('select[name=theme]').hide(); for (i=0; i < list_type_for_theme.length; i++) if (list_type_for_theme[i] == type) + { $('select[name=theme]').show(); + if (type == 'front') + $('select[name=theme]').children('option[value=""]').attr('disabled', true) + else + $('select[name=theme]').children('option[value=""]').attr('disabled', false) + } else $('select[name=theme]').val('{$theme_default}'); } $(document).ready(function(){ + addThemeSelect(); $('select[name=type]').change(function() { - addThemeSelect(this); + addThemeSelect(); }); }); @@ -60,15 +67,15 @@
- {foreach $translations_type as $type => $array} - + {/foreach} - + {foreach $themes as $theme} - - + {/foreach} {foreach $languages as $language} diff --git a/admin-dev/themes/default/template/controllers/translations/helpers/view/translation_modules.tpl b/admin-dev/themes/default/template/controllers/translations/helpers/view/translation_modules.tpl index 0125cc184..81fae60f5 100644 --- a/admin-dev/themes/default/template/controllers/translations/helpers/view/translation_modules.tpl +++ b/admin-dev/themes/default/template/controllers/translations/helpers/view/translation_modules.tpl @@ -117,7 +117,7 @@ {$key|stripslashes} = {* Prepare name string for md5() *} - {capture assign="name"}{strtolower($module_name)}_{strtolower($theme_name)}_{strtolower($template_name)}_{md5($key)}{/capture} + {capture assign="name"}{strtolower($module_name)}{if $theme_name}_{strtolower($theme_name)}{/if}_{strtolower($template_name)}_{md5($key)}{/capture} {if $key|strlen < $textarea_sized} $route_details) - if (array_key_exists('controller', $route_details) && array_key_exists('rule', $route_details) - && array_key_exists('keywords', $route_details) && array_key_exists('params', $route_details)) - { - if (!isset($this->default_routes[$route])) - $this->default_routes[$route] = array(); - $this->default_routes[$route] = array_merge($this->default_routes[$route], $route_details); - } + foreach($modules_routes as $module_route) + foreach($module_route as $route => $route_details) + if (array_key_exists('controller', $route_details) && array_key_exists('rule', $route_details) + && array_key_exists('keywords', $route_details) && array_key_exists('params', $route_details)) + { + if (!isset($this->default_routes[$route])) + $this->default_routes[$route] = array(); + $this->default_routes[$route] = array_merge($this->default_routes[$route], $route_details); + } // Set default routes foreach (Language::getLanguages() as $lang) @@ -674,38 +674,41 @@ class DispatcherCore if (!$this->request_uri) return strtolower($this->controller_not_found); $controller = $this->controller_not_found; + + // If the request_uri matches a static file, then there is no need to check the routes, we keep "controller_not_found" (a static file should not go through the dispatcher) + if (!preg_match('/\.(gif|jpe?g|png|css|js|ico)$/i', $this->request_uri)) + { + // Add empty route as last route to prevent this greedy regexp to match request uri before right time + if ($this->empty_route) + $this->addRoute($this->empty_route['routeID'], $this->empty_route['rule'], $this->empty_route['controller'], Context::getContext()->language->id); - // Add empty route as last route to prevent this greedy regexp to match request uri before right time - if ($this->empty_route) - $this->addRoute($this->empty_route['routeID'], $this->empty_route['rule'], $this->empty_route['controller'], Context::getContext()->language->id); - - if (isset($this->routes[Context::getContext()->language->id])) - foreach ($this->routes[Context::getContext()->language->id] as $route) - if (preg_match($route['regexp'], $this->request_uri, $m)) - { - // Route found ! Now fill $_GET with parameters of uri - foreach ($m as $k => $v) - if (!is_numeric($k)) - $_GET[$k] = $v; - - $controller = $route['controller'] ? $route['controller'] : $_GET['controller']; - if (!empty($route['params'])) - foreach ($route['params'] as $k => $v) - $_GET[$k] = $v; - - // A patch for module friendly urls - if (preg_match('#module-([a-z0-9_-]+)-([a-z0-9]+)$#i', $controller, $m)) + if (isset($this->routes[Context::getContext()->language->id])) + foreach ($this->routes[Context::getContext()->language->id] as $route) + if (preg_match($route['regexp'], $this->request_uri, $m)) { - $_GET['module'] = $m[1]; - $_GET['fc'] = 'module'; - $controller = $m[2]; + // Route found ! Now fill $_GET with parameters of uri + foreach ($m as $k => $v) + if (!is_numeric($k)) + $_GET[$k] = $v; + + $controller = $route['controller'] ? $route['controller'] : $_GET['controller']; + if (!empty($route['params'])) + foreach ($route['params'] as $k => $v) + $_GET[$k] = $v; + + // A patch for module friendly urls + if (preg_match('#module-([a-z0-9_-]+)-([a-z0-9]+)$#i', $controller, $m)) + { + $_GET['module'] = $m[1]; + $_GET['fc'] = 'module'; + $controller = $m[2]; + } + + if (isset($_GET['fc']) && $_GET['fc'] == 'module') + $this->front_controller = self::FC_MODULE; + break; } - - if (isset($_GET['fc']) && $_GET['fc'] == 'module') - $this->front_controller = self::FC_MODULE; - break; - } - + } if ($controller == 'index' || $this->request_uri == '/index.php') $controller = $this->default_controller; $this->controller = $controller; diff --git a/classes/LocalizationPack.php b/classes/LocalizationPack.php index 7111dcb0f..133ad8534 100644 --- a/classes/LocalizationPack.php +++ b/classes/LocalizationPack.php @@ -51,7 +51,6 @@ class LocalizationPackCore $res &= $this->_installUnits($xml); $res &= $this->installConfiguration($xml); $res &= $this->installModules($xml); - $res &= $this->updateDefaultGroupDisplayMethod($xml); $res &= $this->_installLanguages($xml, $install_mode); if ($res && isset($this->iso_code_lang)) @@ -233,7 +232,7 @@ class LocalizationPackCore } } } - return true; + return $this->updateDefaultGroupDisplayMethod($xml); } protected function _installCurrencies($xml, $install_mode = false) @@ -391,10 +390,13 @@ class LocalizationPackCore $attributes = $xml->group_default->attributes(); if (isset($attributes['price_display_method']) && in_array((int)$attributes['price_display_method'], array(0, 1))) { - $group = new Group((int)Configuration::get('PS_CUSTOMER_GROUP')); - $group->price_display_method = (int)$attributes['price_display_method']; - if (!$group->save()) - $this->_errors[] = Tools::displayError('An error occurred during the default group update'); + foreach (array((int)Configuration::get('PS_CUSTOMER_GROUP'), (int)Configuration::get('PS_GUEST_GROUP'), (int)Configuration::get('PS_UNIDENTIFIED_GROUP')) as $id_group) + { + $group = new Group((int)$id_group); + $group->price_display_method = (int)$attributes['price_display_method']; + if (!$group->save()) + $this->_errors[] = Tools::displayError('An error occurred during the default group update'); + } } else $this->_errors[] = Tools::displayError('An error has occurred during the default group update'); diff --git a/classes/Tools.php b/classes/Tools.php index 867767d4e..7617ddec1 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -1633,10 +1633,10 @@ class ToolsCore { fwrite($write_fd, $media_domains); fwrite($write_fd, $domain_rewrite_cond); - fwrite($write_fd, 'RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}'._PS_PROD_IMG_.'$1-$2$3$4.jpg [L]'."\n"); + fwrite($write_fd, 'RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3$4.jpg [L]'."\n"); fwrite($write_fd, $media_domains); fwrite($write_fd, $domain_rewrite_cond); - fwrite($write_fd, 'RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}'._PS_PROD_IMG_.'$1-$2$3.jpg [L]'."\n"); + fwrite($write_fd, 'RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3.jpg [L]'."\n"); } // Rewrite product images < 100 millions @@ -1651,7 +1651,7 @@ class ToolsCore $img_name .= '$'.$j; fwrite($write_fd, $media_domains); fwrite($write_fd, $domain_rewrite_cond); - fwrite($write_fd, 'RewriteRule ^'.str_repeat('([0-9])', $i).'(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}'._PS_PROD_IMG_.$img_path.$img_name.'$'.($j + 1).".jpg [L]\n"); + fwrite($write_fd, 'RewriteRule ^'.str_repeat('([0-9])', $i).'(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/'.$img_path.$img_name.'$'.($j + 1).".jpg [L]\n"); } fwrite($write_fd, $media_domains); fwrite($write_fd, $domain_rewrite_cond); diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index d8b39b224..87f4d5ea7 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -594,6 +594,7 @@ class AdminControllerCore extends Controller } $this->context->smarty->assign(array( + 'export_precontent' => "\xEF\xBB\xBF", 'export_headers' => $headers, 'export_content' => $content ) diff --git a/classes/order/OrderInvoice.php b/classes/order/OrderInvoice.php index ea74e877e..2ab0cdf47 100644 --- a/classes/order/OrderInvoice.php +++ b/classes/order/OrderInvoice.php @@ -384,21 +384,22 @@ class OrderInvoiceCore extends ObjectModel */ public function getEcoTaxTaxesBreakdown() { - $res = Db::getInstance()->executeS(' + $result = Db::getInstance()->executeS(' SELECT `ecotax_tax_rate` as `rate`, SUM(`ecotax` * `product_quantity`) as `ecotax_tax_excl`, SUM(`ecotax` * `product_quantity`) as `ecotax_tax_incl` FROM `'._DB_PREFIX_.'order_detail` WHERE `id_order` = '.(int)$this->id_order.' AND `id_order_invoice` = '.(int)$this->id.' - GROUP BY `ecotax_tax_rate`' - ); + GROUP BY `ecotax_tax_rate`'); - if ($res) - foreach ($res as &$row) + $taxes = array(); + foreach ($result as $row) + if ($row['ecotax_tax_excl'] > 0) { $row['ecotax_tax_incl'] = Tools::ps_round($row['ecotax_tax_excl'] + ($row['ecotax_tax_excl'] * $row['rate'] / 100), 2); $row['ecotax_tax_excl'] = Tools::ps_round($row['ecotax_tax_excl'], 2); + $taxes[] = $row; } - return $res; + return $taxes; } /** diff --git a/classes/shop/Shop.php b/classes/shop/Shop.php index 2f86626b5..1538bb2e2 100644 --- a/classes/shop/Shop.php +++ b/classes/shop/Shop.php @@ -308,7 +308,7 @@ class ShopCore extends ObjectModel WHERE (su.domain = \''.$host.'\' OR su.domain_ssl = \''.$host.'\') AND s.active = 1 AND s.deleted = 0 - ORDER BY LENGTH(uri) DESC'; + ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC'; $id_shop = ''; $found_uri = ''; diff --git a/controllers/admin/AdminImagesController.php b/controllers/admin/AdminImagesController.php index 0438b68ab..38ecea2e4 100644 --- a/controllers/admin/AdminImagesController.php +++ b/controllers/admin/AdminImagesController.php @@ -28,6 +28,7 @@ class AdminImagesControllerCore extends AdminController { protected $start_time = 0; protected $max_execution_time = 7200; + protected $display_move; public function __construct() { @@ -50,6 +51,9 @@ class AdminImagesControllerCore extends AdminController 'scenes' => array('title' => $this->l('Scenes'), 'width' => 50, 'align' => 'center', 'type' => 'bool', 'callback' => 'printEntityActiveIcon', 'orderby' => false), 'stores' => array('title' => $this->l('Stores'), 'width' => 50, 'align' => 'center', 'type' => 'bool', 'callback' => 'printEntityActiveIcon', 'orderby' => false) ); + + // No need to display the old image system if the install has been made later than 2013-03-26 + $this->display_move = (defined('_PS_CREATION_DATE_') && strtotime(_PS_CREATION_DATE_) > strtotime('2013-03-26')) ? false : true; $this->fields_options = array( 'images' => array( @@ -141,20 +145,22 @@ class AdminImagesControllerCore extends AdminController 'type' => 'text', 'height' => 'px', 'visibility' => Shop::CONTEXT_ALL - ), - 'PS_LEGACY_IMAGES' => array( - 'title' => $this->l('Use the legacy image filesystem'), - 'desc' => $this->l('This should be set to yes unless you successfully moved images in "Images" page under the "Preferences" menu.'), - 'validation' => 'isBool', - 'cast' => 'intval', - 'required' => false, - 'type' => 'bool', - 'visibility' => Shop::CONTEXT_ALL - ), + ) ), 'submit' => array('title' => $this->l('Save '), 'class' => 'button'), ), ); + + if ($this->display_move) + $this->fields_options['product_images']['fields']['PS_LEGACY_IMAGES'] = array( + 'title' => $this->l('Use the legacy image filesystem'), + 'desc' => $this->l('This should be set to yes unless you successfully moved images in "Images" page under the "Preferences" menu.'), + 'validation' => 'isBool', + 'cast' => 'intval', + 'required' => false, + 'type' => 'bool', + 'visibility' => Shop::CONTEXT_ALL + ); $this->fields_form = array( 'legend' => array( @@ -670,7 +676,7 @@ class AdminImagesControllerCore extends AdminController $this->context->smarty->assign(array( 'display_regenerate' => true, - 'display_move' => true + 'display_move' => $this->display_move )); } diff --git a/controllers/admin/AdminTranslationsController.php b/controllers/admin/AdminTranslationsController.php index df8898e62..3456183b3 100644 --- a/controllers/admin/AdminTranslationsController.php +++ b/controllers/admin/AdminTranslationsController.php @@ -52,9 +52,6 @@ class AdminTranslationsControllerCore extends AdminController /** @var array : List of theme by translation type : FRONT, BACK, ERRORS... */ protected $translations_informations = array(); - /** @var array : List of theme by translation type : FRONT, BACK, ERRORS... */ - protected $translations_type_for_theme = array('front', 'modules', 'pdf', 'mails'); - /** @var array : List of all languages */ protected $languages; @@ -199,7 +196,6 @@ class AdminTranslationsControllerCore extends AdminController 'token' => $this->token, 'languages' => $this->languages, 'translations_type' => $this->translations_informations, - 'translations_type_for_theme' => $this->translations_type_for_theme, 'packs_to_install' => $packs_to_install, 'packs_to_update' => $packs_to_update, 'url_submit' => self::$currentIndex.'&token='.$this->token, @@ -761,7 +757,7 @@ class AdminTranslationsControllerCore extends AdminController $this->errors[] = sprintf(Tools::displayError('Cannot delete the archive %s.'), $file); } else - $this->errors[] = Tools::displayError('The server does not have permissions for writing.'. ' '.sprintf(Tools::displayError('Please check rights for %s'), dirname($file))); + $this->errors[] = Tools::displayError('The server does not have permissions for writing.').' '.sprintf(Tools::displayError('Please check rights for %s'), dirname($file)); } else $this->errors[] = Tools::displayError('Language not found.'); @@ -788,14 +784,13 @@ class AdminTranslationsControllerCore extends AdminController static $str_write = ''; static $array_check_duplicate = array(); - // Default translations and Prestashop overriding themes are distinguish - $is_default = $theme_name === self::DEFAULT_THEME_NAME ? true : false; - // Set file_name in static var, this allow to open and wright the file just one time if (!isset($cache_file[$theme_name.'-'.$file_name])) { $str_write = ''; $cache_file[$theme_name.'-'.$file_name] = true; + if (!Tools::file_exists_cache(dirname($file_name))) + mkdir(dirname($file_name), 0777, true); if (!Tools::file_exists_cache($file_name)) file_put_contents($file_name, ''); if (!is_writable($file_name)) @@ -811,10 +806,10 @@ class AdminTranslationsControllerCore extends AdminController foreach ($files as $file) { - if (preg_match('/^(.*).(tpl|php)$/', $file) && Tools::file_exists_cache($file_path = $dir.$file) && !in_array($file, self::$ignore_folder)) + if (preg_match('/^(.*).(tpl|php)$/', $file) && Tools::file_exists_cache($dir.$file) && !in_array($file, self::$ignore_folder)) { // Get content for this file - $content = file_get_contents($file_path); + $content = file_get_contents($dir.$file); // Get file type $type_file = substr($file, -4) == '.tpl' ? 'tpl' : 'php'; @@ -827,16 +822,16 @@ class AdminTranslationsControllerCore extends AdminController foreach ($matches as $key) { - if ($is_default) - { - $post_key = md5(strtolower($module_name).'_'.self::DEFAULT_THEME_NAME.'_'.strtolower($template_name).'_'.md5($key)); - $pattern = '\'<{'.strtolower($module_name).'}prestashop>'.strtolower($template_name).'_'.md5($key).'\''; - } - else + if ($theme_name) { $post_key = md5(strtolower($module_name).'_'.strtolower($theme_name).'_'.strtolower($template_name).'_'.md5($key)); $pattern = '\'<{'.strtolower($module_name).'}'.strtolower($theme_name).'>'.strtolower($template_name).'_'.md5($key).'\''; } + else + { + $post_key = md5(strtolower($module_name).'_'.strtolower($template_name).'_'.md5($key)); + $pattern = '\'<{'.strtolower($module_name).'}prestashop>'.strtolower($template_name).'_'.md5($key).'\''; + } if (array_key_exists($post_key, $_POST) && !empty($_POST[$post_key]) && !in_array($pattern, $array_check_duplicate)) { @@ -900,9 +895,6 @@ class AdminTranslationsControllerCore extends AdminController // added for compatibility $GLOBALS[$name_var] = array_change_key_case($GLOBALS[$name_var]); - // Default translations and Prestashop overriding themes are distinguish - $is_default = $theme_name === self::DEFAULT_THEME_NAME ? true : false; - // Thank to this var similar keys are not duplicate // in AndminTranslation::modules_translations array // see below @@ -929,19 +921,22 @@ class AdminTranslationsControllerCore extends AdminController foreach ($matches as $key) { - $module_key = '<{'.Tools::strtolower($module_name).'}'. - strtolower($is_default ? 'prestashop' : $theme_name).'>'.Tools::strtolower($template_name).'_'.md5($key); + $md5_key = md5($key); + $module_key = '<{'.Tools::strtolower($module_name).'}'.strtolower($theme_name).'>'.Tools::strtolower($template_name).'_'.$md5_key; + $default_key = '<{'.Tools::strtolower($module_name).'}prestashop>'.Tools::strtolower($template_name).'_'.$md5_key; // to avoid duplicate entry if (!in_array($module_key, $array_check_duplicate)) { $array_check_duplicate[] = $module_key; if (!isset($this->modules_translations[$theme_name][$module_name][$template_name][$key]['trad'])) $this->total_expression++; - - if (array_key_exists($module_key, $GLOBALS[$name_var])) + if ($theme_name && array_key_exists($module_key, $GLOBALS[$name_var])) $this->modules_translations[$theme_name][$module_name][$template_name][$key]['trad'] = html_entity_decode($GLOBALS[$name_var][$module_key], ENT_COMPAT, 'UTF-8'); + elseif (array_key_exists($default_key, $GLOBALS[$name_var])) + $this->modules_translations[$theme_name][$module_name][$template_name][$key]['trad'] = html_entity_decode($GLOBALS[$name_var][$default_key], ENT_COMPAT, 'UTF-8'); else { + //d(array($module_key, $default_key, $key, $GLOBALS[$name_var])); $this->modules_translations[$theme_name][$module_name][$template_name][$key]['trad'] = ''; $this->missing_translations++; } @@ -1128,7 +1123,7 @@ class AdminTranslationsControllerCore extends AdminController 'front' => array( 'name' => $this->l('Front Office translations'), 'var' => '_LANG', - 'dir' => _PS_THEME_SELECTED_DIR_.'lang/', + 'dir' => defined('_PS_THEME_SELECTED_DIR_') ? _PS_THEME_SELECTED_DIR_.'lang/' : '', 'file' => $this->lang_selected->iso_code.'.php' ), 'back' => array( @@ -1153,33 +1148,28 @@ class AdminTranslationsControllerCore extends AdminController 'name' => $this->l('Installed modules translations'), 'var' => '_MODULES', 'dir' => _PS_MODULE_DIR_, - 'file' => '', - 'override' => array( - 'dir' => _PS_THEME_SELECTED_DIR_.'modules/', - 'file' => '' - ) + 'file' => '' ), 'pdf' => array( 'name' => $this->l('PDF translations'), 'var' => '_LANGPDF', 'dir' => _PS_TRANSLATIONS_DIR_.$this->lang_selected->iso_code.'/', - 'file' => 'pdf.php', - 'override' => array( - 'dir' => _PS_THEME_SELECTED_DIR_.'pdf/lang/', - 'file' => $this->lang_selected->iso_code.'.php' - ) + 'file' => 'pdf.php' ), 'mails' => array( 'name' => $this->l('Email templates translations'), 'var' => '_LANGMAIL', 'dir' => _PS_MAIL_DIR_.$this->lang_selected->iso_code.'/', - 'file' => 'lang.php', - 'override' => array( - 'dir' => _PS_THEME_SELECTED_DIR_.'mails/'.$this->lang_selected->iso_code.'/', - 'file' => 'lang.php' - ) + 'file' => 'lang.php' ) ); + + if (defined('_PS_THEME_SELECTED_DIR_')) + { + $this->translations_informations['modules']['override'] = array('dir' => _PS_THEME_SELECTED_DIR_.'modules/', 'file' => ''); + $this->translations_informations['pdf']['override'] = array('dir' => _PS_THEME_SELECTED_DIR_.'pdf/lang/', 'file' => $this->lang_selected->iso_code.'.php'); + $this->translations_informations['mails']['override'] = array('dir' => _PS_THEME_SELECTED_DIR_.'mails/'.$this->lang_selected->iso_code.'/', 'file' => 'lang.php'); + } } /** @@ -1200,20 +1190,15 @@ class AdminTranslationsControllerCore extends AdminController // Get folder name of theme if (($theme = Tools::getValue('theme')) && !is_array($theme)) { - $theme_exists = false; - foreach ($this->themes as $existing_theme) - if ($existing_theme->directory == $theme) - $theme_exists = true; - if ($theme_exists) - $this->theme_selected = Tools::safeOutput($theme); - else + $theme_exists = $this->theme_exists($theme); + if (!$theme_exists) throw new PrestaShopException(sprintf(Tools::displayError('Invalid theme "%s"'), $theme)); + $this->theme_selected = Tools::safeOutput($theme); } - else - $this->theme_selected = self::DEFAULT_THEME_NAME; // Set the path of selected theme - define('_PS_THEME_SELECTED_DIR_', _PS_ROOT_DIR_.'/themes/'.$this->theme_selected.'/'); + if ($this->theme_selected) + define('_PS_THEME_SELECTED_DIR_', _PS_ROOT_DIR_.'/themes/'.$this->theme_selected.'/'); // Get type of translation if (($type = Tools::getValue('type')) && !is_array($type)) @@ -1294,7 +1279,7 @@ class AdminTranslationsControllerCore extends AdminController { if ($this->tabAccess['edit'] === '1') // Only the PrestaShop team should write the translations into the _PS_TRANSLATIONS_DIR_ - if (($this->theme_selected == self::DEFAULT_THEME_NAME) && _PS_MODE_DEV_) + if (!$this->theme_selected) $this->writeTranslationFile(); else $this->writeTranslationFile(true); @@ -1339,7 +1324,7 @@ class AdminTranslationsControllerCore extends AdminController { // Get files of all modules $arr_files = $this->getAllModuleFiles($modules, null, $this->lang_selected->iso_code, true); - + // Find and write all translation modules files foreach ($arr_files as $value) $this->findAndWriteTranslationsIntoFile($value['file_name'], $value['files'], $value['theme'], $value['module'], $value['dir']); @@ -1409,7 +1394,7 @@ class AdminTranslationsControllerCore extends AdminController $arr_mail_content['core_mail'] = Tools::getValue('core_mail'); // Get path of directory for find a good path of translation file - if ($this->theme_selected == self::DEFAULT_THEME_NAME && _PS_MODE_DEV_) + if (!$this->theme_selected) $arr_mail_path['core_mail'] = $this->translations_informations[$this->type_selected]['dir']; else $arr_mail_path['core_mail'] = $this->translations_informations[$this->type_selected]['override']['dir']; @@ -1420,7 +1405,7 @@ class AdminTranslationsControllerCore extends AdminController $arr_mail_content['module_mail'] = Tools::getValue('module_mail'); // Get path of directory for find a good path of translation file - if ($this->theme_selected == self::DEFAULT_THEME_NAME && _PS_MODE_DEV_) + if (!$this->theme_selected) $arr_mail_path['module_mail'] = $this->translations_informations['modules']['dir'].'{module}/mails/'.$this->lang_selected->iso_code.'/'; else $arr_mail_path['module_mail'] = $this->translations_informations['modules']['override']['dir'].'{module}/mails/'.$this->lang_selected->iso_code.'/'; @@ -1601,6 +1586,12 @@ class AdminTranslationsControllerCore extends AdminController */ public function initFormFront() { + if (!$this->theme_exists(Tools::getValue('theme'))) + { + $this->errors[] = sprintf(Tools::displayError('Invalid theme "%s"'), Tools::getValue('theme')); + return; + } + $missing_translations_front = array(); $name_var = $this->translations_informations[$this->type_selected]['var']; $GLOBALS[$name_var] = $this->fileExists(); @@ -2300,7 +2291,7 @@ class AdminTranslationsControllerCore extends AdminController if (!in_array($module_dir, self::$ignore_folder)) { $dir = false; - if (($this->theme_selected != self::DEFAULT_THEME_NAME || !_PS_MODE_DEV_) && Tools::file_exists_cache($this->translations_informations['modules']['override']['dir'].$module_dir.'/mails/')) + if ($this->theme_selected && Tools::file_exists_cache($this->translations_informations['modules']['override']['dir'].$module_dir.'/mails/')) $dir = $this->translations_informations['modules']['override']['dir'].$module_dir.'/'; elseif (Tools::file_exists_cache($this->translations_informations['modules']['dir'].$module_dir.'/mails/')) $dir = $this->translations_informations['modules']['dir'].$module_dir.'/'; @@ -2359,7 +2350,7 @@ class AdminTranslationsControllerCore extends AdminController $subject_mail = $this->getSubjectMail($dir, $file, $subject_mail); // Get path of directory for find a good path of translation file - if (($this->theme_selected != self::DEFAULT_THEME_NAME || !_PS_MODE_DEV_) && @filemtime($this->translations_informations[$this->type_selected]['override']['dir'])) + if ($this->theme_selected && @filemtime($this->translations_informations[$this->type_selected]['override']['dir'])) $i18n_dir = $this->translations_informations[$this->type_selected]['override']['dir']; else $i18n_dir = $this->translations_informations[$this->type_selected]['dir']; @@ -2534,28 +2525,37 @@ class AdminTranslationsControllerCore extends AdminController $root_dir = $initial_root_dir; if ($module{0} == '.') continue; - // Get path of directory for find a good path of translation file - if ($root_dir == null) - { - $i18n_dir = $this->translations_informations[$this->type_selected]['override']['dir']; - if (is_dir($i18n_dir.$module)) - $root_dir = $i18n_dir; - } + + // First we load the default translation file if ($root_dir == null) { $i18n_dir = $this->translations_informations[$this->type_selected]['dir']; if (is_dir($i18n_dir.$module)) $root_dir = $i18n_dir; - } - if (is_dir($root_dir.$module)) - { - if (Tools::file_exists_cache($root_dir.$module.'/translations/'.$lang.'.php')) - $lang_file = $root_dir.$module.'/translations/'.$lang.'.php'; - else + $lang_file = $root_dir.$module.'/translations/'.$lang.'.php'; + if (!Tools::file_exists_cache($root_dir.$module.'/translations/'.$lang.'.php') && Tools::file_exists_cache($root_dir.$module.'/'.$lang.'.php')) $lang_file = $root_dir.$module.'/'.$lang.'.php'; @include($lang_file); + $this->getModuleTranslations(); + // If a theme is selected, then the destination translation file must be in the theme + if ($this->theme_selected) + $lang_file = $this->translations_informations[$this->type_selected]['override']['dir'].$module.'/translations/'.$lang.'.php'; + $this->recursiveGetModuleFiles($root_dir.$module.'/', $array_files, $module, $lang_file, $is_default); + } + $root_dir = $initial_root_dir; + // Then we load the overriden translation file + if ($this->theme_selected && isset($this->translations_informations[$this->type_selected]['override'])) + { + $i18n_dir = $this->translations_informations[$this->type_selected]['override']['dir']; + if (is_dir($i18n_dir.$module)) + $root_dir = $i18n_dir; + if (Tools::file_exists_cache($root_dir.$module.'/translations/'.$lang.'.php')) + $lang_file = $root_dir.$module.'/translations/'.$lang.'.php'; + elseif (Tools::file_exists_cache($root_dir.$module.'/'.$lang.'.php')) + $lang_file = $root_dir.$module.'/'.$lang.'.php'; + @include($lang_file); $this->getModuleTranslations(); $this->recursiveGetModuleFiles($root_dir.$module.'/', $array_files, $module, $lang_file, $is_default); } @@ -2641,7 +2641,7 @@ class AdminTranslationsControllerCore extends AdminController $i18n_dir = $this->translations_informations[$this->type_selected]['dir']; $default_i18n_file = $i18n_dir.$this->translations_informations[$this->type_selected]['file']; - if (($this->theme_selected == self::DEFAULT_THEME_NAME) && _PS_MODE_DEV_) + if (!$this->theme_selected) $i18n_file = $default_i18n_file; else { @@ -2736,5 +2736,16 @@ class AdminTranslationsControllerCore extends AdminController } return $list; } + + protected function theme_exists($theme) + { + if (!is_array($this->themes)) + $this->themes = Theme::getThemes(); + $theme_exists = false; + foreach ($this->themes as $existing_theme) + if ($existing_theme->directory == $theme) + return true; + return false; + } } \ No newline at end of file diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt old mode 100644 new mode 100755 index 491f6fab6..7244ffb36 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -23,6 +23,135 @@ International Registred Trademark & Property of PrestaShop SA Release Notes for PrestaShop 1.5 -------------------------------- +#################################### +# v1.5.4.1 - (2013-04-25) # +#################################### + + Fixed bugs: + + [-] Installer: installer now work even if no settings.inc.php file is created with an installer session already here + [-] Installer : do not select activity if not defined + [-] INSTALLER : add counter loop in update_order_messages + [-] Installer : Fix bug #PSCFV-8606 bad performance when updating messages + [-] INSTALLER : fix bug #PSCFV-7688 mailalert_customer_oos not existing in database + [-] Installer: fix installer in PT languahe + [-] Installer : Missing directory separator when upgrading images types + [-] Installer: Switch test of session.save_path to optional test + [-] INSTALLER : Fix bug, can not check rights on theme folders + [-] INSTALLER : Fix bug #PSCFV-8167 duplicates product_sqlstock INDEX + + [-] FO : do not use dispatcher routes for static files + [-] FO : invoice: do not display taxes table if there is not tax to display + [-] FO : Fixed product comparator CSS + [-] Fo : Remove additionnal space in phone field value + [-] FO : fix bug #PSCFV-8684, phone not required in guest checkout when not set in BO + [-] FO: send current product to some hook like displayProductTabContent on product page #PSCFV-8825 + [-] FO : Fix bug #PSCFV-8728 context country not updated after changing delivery address in OPC + [-] FO: fixed some css bug for ie7 + [-] FO: Add the protocol content to the cache id of modules #PSCFV-8810 + [-] FO : empty cache getContextualValue_ when updating cart quantity + [-] FO : Disable confirm order when already clicked + [-] FO : address alias lost + [-] FO : Undefined free_shipping in POC when updateQty + [-] Fo : Fix big pic alt with jqzoom + [-] FO : Class free order name for validateOrder + [-] FO : First part of fix #PSCFV-8636, cart rule on specifice carrier / all carriers + [-] FO : Fix bug #PSCFV-8623 : Cart rule without code is applied automatically + [-] FO : add cart rul when cart rul has several groups + [-] FO: Fix bug too much call of updateCartSummary when OPC and cart rule + [-] Fo : Fix undefined var in cart-summary when updating id_address_delivery + [-] FO : Fix login cookie issues + [-] FO: fixed bug #PSCFV-3238 - compareController typo + [-] FO: Fix #PSCFV-8722 displayed specific prices on product page was sometimes wrong + [-] FO : Fix bug #PSCFV-8589 do not loose max level depth when upgrading + [-] FO : standardize behavior of selected country in the list when create a new address + [-] FO: fixed bug DOCTYPE line - #PSCFV-8602 + [-] FO: Fix htaccess generation when disable mod_security is selected #PSCFV-8675 + [-] FO: Don't display vat_number field if not required for the country on address.tpl + [-] FO: Extension test on file attachment for contact form should not be case sensitive #PSCFV-8616 + [-] FO : Do not fade out on bigpic source change + [-] FO : Fix bug #PSCFV-7743 and #PSCFV-8286, bigpic source change + [-] FO: fixed bug Cart Summery Borders - #PSCFV-8421 + [-] FO : Fix bug #PSCFV-8286, displayImage bad selector called + [-] FO: fixed bug Solved a problem with JSON.stringify problem with IE8 - #PSCFV-8340 + [-] FO : Fix bug #PSCFV-7825 removing import of grid_prestashop.css and displaying errors in AdminPerformances + [-] FO: fixed bug missing
in product.tpl - #PSCFV-8164 + [-] FO : Add ccs and js to frontcontroller for old modules + [-] FO: change logo position + [-] FO : Fix bug #PSCFV-8183 lost order message in OPC + + [-] BO: Fix htaccess generation for subfolders installation + [-] BO : Fix bug witth shop address and no state in country + [-] BO : Fix bug for csv export + [-] BO : Can not set PS_ORDER_OUT_OF_STOCK in one shop + [-] BO : Bad gender image when no gender + [-] BO: Fix #PSCFV-8827 fixed price of specific price rules should be a float + [-] BO: Fix admin carts currency prices on view and listing + [-] BO : Remove typo in address formating fields links + [-] BO : Remove undefined name when module can not be installed + [-] BO: Don't delete the directory of modules before upgrade them + [-] BO: fixed bug css - #PSCFV-8737 - AdminScenes.php ~~ remove inline css forcing a border to #large_scene_image + [-] BO: Fix #PSCFV-8730 display of selected dates on the backoffice listings header - thank to pitt phunsanit for the patch + [-] BO : Deactivate backwardcompatibility module + [-] BO: PSCFV-7685 parent category for root categories after upgrade + [-] BO : Fix bug #PSCFV-8626 rename actual admin folder + [-] BO: fixed bug Cart rules - Javascript error - #PSCFV-5045 + [-] BO : Fix bug #PSCFV-8620 returns with customized product + [-] BO: Fix #PSCFV-8683 order_way collusion on listing between 2 tabs + [-] BO : Fix bug : #PSCFV-8631 no download-product.tpl in languages packs + [-] BO : Fix bug #PSCFV-8540 setting cookie key in cache key + [-] BO: fixed bug In back office, in product modification page, image pane, the image list appears broken in IE8 - #PSCFV-8024 + [-] BO: Fix the Htaccess rewriting generation when one shop has the rewriting enabled and the last one on the same domain not + [-] BO: fixed bug #PSCFV-8258 + [-] BO: Clear cart when customer is changed in back office orders #PSCFV-8520 + [-] BO : Remove warning on ProductDownload + [-] BO : fixed field value saving when value is equal to 0 #PSCFV-8530 + [-] BO : Fix bug #PSCFV-8481 no live edit on index when one language is active only + [-] BO : fixed bug #PSCFV-8095 now maximum weigh for carrier is float + + [-] Classes : Bug fix : OrderOpcController, check instance of blocknewsletter module + [-] Classes : Bug fix : Mobile hooks, check PayPal for payments only + + [-] Core: fix redirection loop for bugged versions of mysql using column name aliases on order by + [-] CORE : Fix bug #PSCFV-8636 again, cart rule with a reduction and free shipping + [-] CORE : Fix bug last part #PSCFV-8636, cart rule with a reduction and free shipping + [-] CORE : Fix bug #PSCFV-5624 set order reference to CHAR(10) + [-] CORE : fixed bug #PSCFV-8475 - Email templates with {shop_url} append url with index.php + [-] Core: Cache of Cart::getPackageList is now per cart + [-] Core: Local cache could never be totally cleaned + + [-] MO: homefeatured - numbers are now the same + [-] MO: Fix product cover image on blockviewed with multishop + [-] MO : Fix rand parameter in favorite module js + [-] MO : Fix bug #PSCFV-8430 bad post type ajax request, thanks to maofree + [-] MO : Fix bug #PSCFV-8399 dictinct categegories in module blockcategories + + Improved/changed features: + + [*] Installer : Set context in upgrader + [*] Installer: Add PHP CLI installer + + [*] FO : one_phone_at_least should be set + [*] FO : add steps to authentication pull request 002f468958 thanks to radovanx + [*] FO: use subdirectory per template for smarty cache + [*] FO : Check if grid_prestashop.css is available in theme before including + [*] FO : Retrocompat for default theme 1.4.10 + + [*] BO : Add block "close_td" in list_content.tpl [*] BO : Add block "close_td" in list_content.tpl {block name="td_content"} ..... {/block} {block name="close_td"} {/block} So now we can override "td" and "/td" tags. So we can create "td" "a" ... content.... "/a" "/td" when overriding the block open-td and close-td and we can use "a" tag with "href" rather than "onclick" to create view links in the list. And the user can choose to open the link in another tab or window. + [*] BO: The translation of modules are now made in the theme if modules are overrided or directly in the module folder + [*] BO: List all modules with an upgrade available on AdminModules header + + [*] TR : Removed hard-coded dot in history.tpl + [*] TR : Improved English text of installer + [*] TR : added russian installer tabs + [*] TR : Fixed wrong use of translation functions in AdminTranslationsController + [*] TR : Added tab translations for installer languages + + Added Features: + + [+] BO: show all languages in setting of employee + + #################################### # v1.5.4.0 - (2013-03-26) # #################################### diff --git a/docs/readme_de.txt b/docs/readme_de.txt index 06bfd2c09..c5038ba98 100755 --- a/docs/readme_de.txt +++ b/docs/readme_de.txt @@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information. @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) International Registered Trademark & Property of PrestaShop SA -NAME: Prestashop 1.5.4.0 -VERSION: 1.5.4.0 +NAME: Prestashop 1.5.4.1 +VERSION: 1.5.4.1 VORBEREITUNG =========== diff --git a/docs/readme_en.txt b/docs/readme_en.txt index b886bb6f3..8fd02b40c 100755 --- a/docs/readme_en.txt +++ b/docs/readme_en.txt @@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information. @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) International Registered Trademark & Property of PrestaShop SA -NAME: Prestashop 1.5.4.0 -VERSION: 1.5.4.0 +NAME: Prestashop 1.5.4.1 +VERSION: 1.5.4.1 PREPARATION =========== diff --git a/docs/readme_es.txt b/docs/readme_es.txt index e1baafc1e..dd37179d4 100755 --- a/docs/readme_es.txt +++ b/docs/readme_es.txt @@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information. @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) International Registered Trademark & Property of PrestaShop SA -NAME: Prestashop 1.5.4.0 -VERSION: 1.5.4.0 +NAME: Prestashop 1.5.4.1 +VERSION: 1.5.4.1 PREPARACI�N =========== diff --git a/docs/readme_fr.txt b/docs/readme_fr.txt index 859a5f4e7..64eae1dc2 100755 --- a/docs/readme_fr.txt +++ b/docs/readme_fr.txt @@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information. @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) International Registered Trademark & Property of PrestaShop SA -NAME: Prestashop 1.5.4.0 -VERSION: 1.5.4.0 +NAME: Prestashop 1.5.4.1 +VERSION: 1.5.4.1 PREPARATION =========== diff --git a/docs/readme_it.txt b/docs/readme_it.txt index c4c89116e..e07a67d29 100755 --- a/docs/readme_it.txt +++ b/docs/readme_it.txt @@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information. @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) International Registered Trademark & Property of PrestaShop SA -NAME: Prestashop 1.5.4.0 -VERSION: 1.5.4.0 +NAME: Prestashop 1.5.4.1 +VERSION: 1.5.4.1 PREPARAZIONE =========== diff --git a/error500.html b/error500.html new file mode 100644 index 000000000..d72dc2183 --- /dev/null +++ b/error500.html @@ -0,0 +1,18 @@ + + + + + + + + +
+

logo

+

+ Oops, something went wrong.

+ Try to refresh this page or feel free to contact us if the problem persists. +

+   +
+ + diff --git a/img/bg_500.png b/img/bg_500.png new file mode 100644 index 000000000..f95c88e1d Binary files /dev/null and b/img/bg_500.png differ diff --git a/install-dev/langs/br/data/tab.xml b/install-dev/langs/br/data/tab.xml index 818f33034..27e2d2651 100644 --- a/install-dev/langs/br/data/tab.xml +++ b/install-dev/langs/br/data/tab.xml @@ -1,105 +1,105 @@ - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install-dev/langs/br/install.php b/install-dev/langs/br/install.php index 7fcacdf9b..104f2a514 100644 --- a/install-dev/langs/br/install.php +++ b/install-dev/langs/br/install.php @@ -200,7 +200,7 @@ return array( 'Your Account' => 'Sua informação pessoal', 'This email address will be your username to access your store\'s back office.' => 'Este endereço de email será seu nome de usuário para acessar a área administrativa da sua loja.', 'PrestaShop can provide you with guidance on a regular basis by sending you tips on how to optimize the management of your store which will help you grow your business. If you do not wish to receive these tips, please uncheck this box.' => 'O PrestaShop pode oferecer orientações à você diariamente ao enviar dicas de como otimizar o gerenciamente da sua loja, o que vai lhe ajudar a crescer seu negócio. Se você não quer receber essas dicas, por favor desmarque este quadrinho.', - 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Para usar o PrestaShop, você deve criar um banco de dados para coletar todas as informações relacionadas com as atividades de sua loja.', + 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Para usar o PrestaShop, você deve criar um banco de dados para coletar todas as informações relacionadas com as atividades de sua loja.', 'Please complete the fields below in order for PrestaShop to connect to your database. ' => 'Por favor, complete os campos abaixo para que o PrestaShop possa conectar com seu database.', 'The default port is 3306. To use a different port, add the port number at the end of your server’s address i.e ":4242".' => 'O port padrão é 3306. Para usar um port diferente, adicione o número do port no final do endereço do seu servidor por exemplo “:4242”.', 'Test your database connection now!' => 'Teste a conexão do seu banco de dados agora!', @@ -232,7 +232,7 @@ return array( 'PDO MySQL extension is not loaded' => 'Extensão PDO MySQL não está carregada', 'Cannot copy flag language "%s"' => 'Não é possível copiar a bandeira do idioma "%s" ', 'Sign-up to the newsletter' => 'Inscreva-se para a newsletter', - 'If you are experiencing problems during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Se você está tendo problemas durante o processo de instalação, por favor ligue para o nosso time no %s e um de nossos especialistas lhe ajudará.', + 'If you need some assistance during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Se você está tendo problemas durante o processo de instalação, por favor ligue para o nosso time no %s e um de nossos especialistas lhe ajudará.', 'Contact us!' => 'Contate-nos!', 'E-mail:' => 'E-mail:', 'PrestaShop requires at least 32M of memory to run, please check the memory_limit directive in php.ini or contact your host provider' => 'PrestaShop requer pelo menos 32M de memória para funcionar, por favor verifique memory_limit no php.ini ou contate seu provedor de hospedagem.', diff --git a/install-dev/langs/de/data/tab.xml b/install-dev/langs/de/data/tab.xml index bf69da7b9..fdda483e3 100644 --- a/install-dev/langs/de/data/tab.xml +++ b/install-dev/langs/de/data/tab.xml @@ -1,105 +1,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + diff --git a/install-dev/langs/de/install.php b/install-dev/langs/de/install.php index 12d9451a5..fedcb2247 100644 --- a/install-dev/langs/de/install.php +++ b/install-dev/langs/de/install.php @@ -193,7 +193,7 @@ return array( 'Your Account' => 'Ihre persönlichen Informationen', 'This email address will be your username to access your store\'s back office.' => 'Bitte bedenken Sie, dass diese E-Mail-Adresse Ihre Identifizierung ist, um ins Verwaltungsinterface Ihres Shops zu gelangen.', 'PrestaShop can provide you with guidance on a regular basis by sending you tips on how to optimize the management of your store which will help you grow your business. If you do not wish to receive these tips, please uncheck this box.' => 'PrestaShop kann Sie regelmäßig anleiten und Ihnen Tipps für die Shopverwaltung und Aktivitätsentwicklung geben. Wenn Sie keine Tipps wünschen, dann entfernen Sie bitte den Haken in diesem Kästchen.', - 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Um PrestaShop zu nutzen, müssen Sie eine Datenbank erstellen, auf der alle Daten zur Aktivität Ihres Shops gespeichert werden können.', + 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Um PrestaShop zu nutzen, müssen Sie eine Datenbank erstellen, auf der alle Daten zur Aktivität Ihres Shops gespeichert werden können.', 'The default port is 3306. To use a different port, add the port number at the end of your server’s address i.e ":4242".' => 'Wenn Sie einen anderen Port als den Standardport (3306) nutzen möchten, fügen Sie zu Ihrer Serveradresse die Nummer xx Ihres Ports hinzu.', 'Test your database connection now!' => 'Testen Sie die Verbindung mit Ihrer Datenbank', 'PrestaShop Installation Assistant' => 'Installationsassistent', @@ -227,7 +227,7 @@ return array( 'Must be alphanumeric string with at least 8 characters' => 'Sie müssen eine alphanumerische Folge aus mindestens 8 Zeichen eingegeben', 'Sign-up to the newsletter' => 'Für den Newsletter anmelden', 'Please complete the fields below in order for PrestaShop to connect to your database. ' => 'Bitte füllen Sie die untenstehenden Felder aus, damit PrestaShop sich mit Ihrer Datenbank verbinden kann.', - 'If you are experiencing problems during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Wenn während des Installationsprozesses technische Schwierigkeiten auftreten, kontaktieren Sie bitte unser Team unter %s. Ein Experte ist Ihnen gerne behilflich!', + 'If you need some assistance during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Wenn während des Installationsprozesses technische Schwierigkeiten auftreten, kontaktieren Sie bitte unser Team unter %s. Ein Experte ist Ihnen gerne behilflich!', 'E-mail:' => 'E-Mail:', 'Display' => 'Anzeige', 'PrestaShop compatibility with your system environment has been verified!' => 'Die Kompatibilität von PrestaShop mit Ihrem System wurde überprüft!', diff --git a/install-dev/langs/es/data/tab.xml b/install-dev/langs/es/data/tab.xml index f5c82f32d..0d83e4f2a 100644 --- a/install-dev/langs/es/data/tab.xml +++ b/install-dev/langs/es/data/tab.xml @@ -1,105 +1,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install-dev/langs/es/install.php b/install-dev/langs/es/install.php index 128022863..e9fb6d41c 100644 --- a/install-dev/langs/es/install.php +++ b/install-dev/langs/es/install.php @@ -193,7 +193,7 @@ return array( 'Your Account' => 'Tu cuenta', 'This email address will be your username to access your store\'s back office.' => 'Esta dirección de correo electrónico corresponderá a tu usuario en el acceso al interfaz de administración de tu tienda Online.', 'PrestaShop can provide you with guidance on a regular basis by sending you tips on how to optimize the management of your store which will help you grow your business. If you do not wish to receive these tips, please uncheck this box.' => 'PrestaShop te puede proporcionar orientación con el envío de consejos sobre cómo optimizar y gestionar tu tienda, que te ayudarán a tener éxito en tu negocio. Si no deseas recibir estos consejos, por favor desmarca esta casilla.', - 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Para utilizar PrestaShop, debes crear una base de datos para poder recoger todos los datos relacionados con tu actividad.', + 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Para utilizar PrestaShop, debes crear una base de datos para poder recoger todos los datos relacionados con tu actividad.', 'Please complete the fields below in order for PrestaShop to connect to your database. ' => 'Por favor, rellena estos datos con el fin de que PrestaShop pueda conectarse a tu base de datos.', 'The default port is 3306. To use a different port, add the port number at the end of your server’s address i.e ":4242".' => 'El puerto utilizado por defecto es el 3306. Si utilizas un puerto diferente, añade este número de puerto al final de la dirección del servidor con dos puntos, por ejemplo ":4242".', 'Test your database connection now!' => '¡Comprueba la conexión de tu base de datos ahora!', @@ -227,7 +227,7 @@ return array( 'Cannot copy flag language "%s"' => 'No se pueden copiar las banderas de los idiomas "%s"', 'Must be alphanumeric string with at least 8 characters' => 'Debe ser una cadena alfanumérica de al menos 8 caracteres', 'Sign-up to the newsletter' => 'Suscríbete al boletín de noticias', - 'If you are experiencing problems during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Si experimenta problemas durante la instalación, por favor llámenos al %s y uno de nuestros expertos estará encantado de ayudarte.', + 'If you need some assistance during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Si experimenta problemas durante la instalación, por favor llámenos al %s y uno de nuestros expertos estará encantado de ayudarte.', 'E-mail:' => 'Correo electrónico:', 'Display' => 'Mostrar', 'PrestaShop compatibility with your system environment has been verified!' => '¡La compatibilidad de PrestaShop con su entorno del sistema ha sido verificada correctamente!', diff --git a/install-dev/langs/fr/data/tab.xml b/install-dev/langs/fr/data/tab.xml index 67dc7b59d..0da00ee0b 100644 --- a/install-dev/langs/fr/data/tab.xml +++ b/install-dev/langs/fr/data/tab.xml @@ -1,105 +1,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - + + + + - - - + + + + + + + + - - - - - + + - - + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - - + + - + + + + + + + + + + diff --git a/install-dev/langs/fr/install.php b/install-dev/langs/fr/install.php index 37f01522c..4d2e0980b 100644 --- a/install-dev/langs/fr/install.php +++ b/install-dev/langs/fr/install.php @@ -194,7 +194,7 @@ return array( 'Display' => 'Afficher', 'Warning: You cannot use anymore this tool to upgrade your store.

You already have PrestaShop version %1$s installed.

If you want to upgrade to the latest version please read our documentation: %2$s' => 'Attention: Vous ne pouvez plus utiliser cet outil pour mettre à jour votre boutique.

Vous avez déjà PrestaShop version %1$s d\'installé.

Si vous souhaitez utiliser la dernière version, merci de vous référer à notre documentation pour la mise à jour : %2$s', 'PrestaShop Wizard Installer' => 'Installation de PrestaShop', - 'If you are experiencing problems during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'PrestaShop peut vous accompagner si vous rencontrez un obstacle lors de l\'installation de votre boutique. Contactez notre équipe au %s et indiquez-nous l\'URL de votre boutique. Nous serons heureux de vous aider dans les dernières étapes de l\'installation !', + 'If you need some assistance during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'PrestaShop peut vous accompagner si vous avez besoin d\'aide pour finaliser l\'installation de votre boutique. Contactez notre équipe au %s et indiquez-nous l\'URL de votre boutique. Nous serons heureux de vous aider dans les dernières étapes de l\'installation !', 'The field %s is limited to %d characters' => 'Le champs %s est limité à %d caractères', 'shop name' => 'nom de la boutique', 'firstname' => 'prénom', diff --git a/install-dev/langs/it/data/tab.xml b/install-dev/langs/it/data/tab.xml index 393512476..cbf510160 100644 --- a/install-dev/langs/it/data/tab.xml +++ b/install-dev/langs/it/data/tab.xml @@ -1,105 +1,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install-dev/langs/it/install.php b/install-dev/langs/it/install.php index a6a048608..77e6eb468 100644 --- a/install-dev/langs/it/install.php +++ b/install-dev/langs/it/install.php @@ -214,11 +214,11 @@ return array( 'Cannot copy flag language "%s"' => 'Impossibile copiare la bandiera per la lingua "%s"', 'Must be alphanumeric string with at least 8 characters' => 'Deve essere una stringa alfanumerica di almeno 8 caratteri', 'Sign-up to the newsletter' => 'Mi abbono alla newsletter', - 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Per usare PrestaShop, devi creare un database per riunire tutti i dati inerenti alle attività del tuo negozio.', + 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Per usare PrestaShop, devi creare un database per riunire tutti i dati inerenti alle attività del tuo negozio.', 'Please complete the fields below in order for PrestaShop to connect to your database. ' => 'Compila i campi sottostanti per far sì che PrestaShop possa connettersi al tuo database.', 'The default port is 3306. To use a different port, add the port number at the end of your server’s address i.e ":4242".' => 'La porta di default è 3306. Per usare un\'altra porta, digita il numero della porta alla fine del tuo indirizzo di server. Per esempio: "4242".', 'Test your database connection now!' => 'Verifica subito la connessione al tuo database!', - 'If you are experiencing problems during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Se si verificano problemi durante il processo di installazione, chiamaci allo %s. Uno dei nostri esperti sarà felice di aiutarti.', + 'If you need some assistance during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Se si verificano problemi durante il processo di installazione, chiamaci allo %s. Uno dei nostri esperti sarà felice di aiutarti.', 'PrestaShop Installation Assistant' => 'Assistente di Installazione PrestaShop', 'Contact us!' => 'Contattaci!', 'Installation Assistant' => 'Assistente di Installazione', diff --git a/install-dev/langs/pl/data/tab.xml b/install-dev/langs/pl/data/tab.xml index 7a511f653..beb217285 100644 --- a/install-dev/langs/pl/data/tab.xml +++ b/install-dev/langs/pl/data/tab.xml @@ -1,105 +1,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install-dev/langs/pl/install.php b/install-dev/langs/pl/install.php index ac0afe668..d32708c8d 100644 --- a/install-dev/langs/pl/install.php +++ b/install-dev/langs/pl/install.php @@ -157,9 +157,9 @@ return array( 'By default, the PHP mail() function is used' => 'Domyślnie - PHP mail () funkcja jest używana.', 'SMTP server address:' => 'Adres serwera SMTP:', 'PrestaShop can provide you with guidance on a regular basis by sending you tips on how to optimize the management of your store which will help you grow your business. If you do not wish to receive these tips, please uncheck this box.' => 'PrestaShop wysyła regularnie wskazówki dotyczące optymalizacji zarządzania sklepem. Jeśli nie chcesz ich otrzymywać, odznacz pole.', - 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Aby korzystać z PrestaShop, musisz stworzyć baze danych, w celu zebrania wszystkich danych dotyczących funkcjonowania Twojego sklepu.', + 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Aby korzystać z PrestaShop, musisz stworzyć baze danych, w celu zebrania wszystkich danych dotyczących funkcjonowania Twojego sklepu.', 'The default port is 3306. To use a different port, add the port number at the end of your server’s address i.e ":4242".' => 'Jeśli chcesz użyć innego portu niż port domyślny (3306), dodaj ":XX" do adresu Twojego serwera - gdzie XX oznacza numer portu.', - 'If you are experiencing problems during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Jeśli spotkałeś się z problemami podczas instalacji, skontaktuj się z naszym zespołem %s.', + 'If you need some assistance during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Jeśli spotkałeś się z problemami podczas instalacji, skontaktuj się z naszym zespołem %s.', 'PrestaShop Installation Assistant' => 'Asystent instalacji PrestaShop', 'I agree to participate in improving the solution by sending anonymous information about my configuration.' => 'Wyrażam chęć na udział w ulepszaniu oprogramowania PrestaShop - wysyłając anonimowe informacje dotyczące mojej konfiguracji.', 'To enjoy the many features that are offered by PrestaShop, please read the license terms below. PrestaShop core is licensed under OSL 3.0, while the modules and themes are licensed under AFL 3.0.' => 'Przed rozpoczęciem korzystania z funkcji oferowanych przez PrestaShop,zapoznaj się z warunkami licencji znajdującymi się poniżej. PrestaShop działa na licencji OSL 3.0, natomiast moduły i szablony są publikowane na licencji AFL 3.0.', diff --git a/install-dev/langs/ru/data/tab.xml b/install-dev/langs/ru/data/tab.xml index e6d9c8f35..3c835cde1 100644 --- a/install-dev/langs/ru/data/tab.xml +++ b/install-dev/langs/ru/data/tab.xml @@ -1,105 +1,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install-dev/langs/ru/install.php b/install-dev/langs/ru/install.php index 01ab96d28..eefaef775 100644 --- a/install-dev/langs/ru/install.php +++ b/install-dev/langs/ru/install.php @@ -142,7 +142,7 @@ return array( 'Send me a test email!' => 'Отправить тестовое сообщение', 'Next' => 'Далее', 'Back' => 'Назад', - 'If you are experiencing problems during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Если во время установки у Вас возникли проблемы, позвоните нашей команде %s и наши эксперты помогут Вам.', + 'If you need some assistance during the installation process, please call our team at %s and one of our experts will be happy to help.' => 'Если во время установки у Вас возникли проблемы, позвоните нашей команде %s и наши эксперты помогут Вам.', 'Official forum' => 'Официальный форум', 'Support' => 'Поддержка', 'Documentation' => 'Документация', @@ -209,7 +209,7 @@ return array( 'Installation Assistant' => 'Помощник установки', 'License Agreements' => 'Лицензионное соглшение', 'Print my login information' => 'Распечатать информацию о моем аккаунте', - 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Для использования PrestaShop, Вам следует создать базу данных , чтобы сгруппровать информацию Вашего магазина.', + 'To use PrestaShop, you must create a database to collect all of your store’s data-related activities.' => 'Для использования PrestaShop, Вам следует создать базу данных , чтобы сгруппровать информацию Вашего магазина.', 'Please complete the fields below in order for PrestaShop to connect to your database. ' => 'Заполните поля ниже, чтобы PrestaShop смог уствновить соединение с Вашей с базой данных ', 'The default port is 3306. To use a different port, add the port number at the end of your server’s address i.e ":4242".' => 'Порт по умолчанию: 3306. Если Вы используете другой порт, то введите номер порта в конце адреса Вашего сервера. пример: ":4242".', 'Continue the installation in:' => 'Продолжить установку:', diff --git a/install-dev/theme/views/configure.phtml b/install-dev/theme/views/configure.phtml index c67b110e7..ab9b6377c 100644 --- a/install-dev/theme/views/configure.phtml +++ b/install-dev/theme/views/configure.phtml @@ -158,7 +158,7 @@ var default_iso = 'session->shop_country ?>';
- session->send_informations): ?>checked="checked" /> + session->send_informations === null || $this->session->send_informations): ?>checked="checked" />
diff --git a/install-dev/theme/views/database.phtml b/install-dev/theme/views/database.phtml index fdfbc664c..8dae7d7a9 100644 --- a/install-dev/theme/views/database.phtml +++ b/install-dev/theme/views/database.phtml @@ -4,7 +4,7 @@

l('Configure your database by filling out the following fields:') ?>

- l('To use PrestaShop, you must create a database to collect all of your store’s data-related activities.') ?> + l('To use PrestaShop, you must create a database to collect all of your store’s data-related activities.') ?>
l('Please complete the fields below in order for PrestaShop to connect to your database. ') ?>

diff --git a/install-dev/theme/views/footer.phtml b/install-dev/theme/views/footer.phtml index f07434609..8e765ad3a 100644 --- a/install-dev/theme/views/footer.phtml +++ b/install-dev/theme/views/footer.phtml @@ -16,7 +16,7 @@
- l('If you are experiencing problems during the installation process, please call our team at %s and one of our experts will be happy to help.', $this->getPhone()) ?> + l('If you need some assistance during the installation process, please call our team at %s and one of our experts will be happy to help.', $this->getPhone()) ?>
diff --git a/install-dev/theme/views/process.phtml b/install-dev/theme/views/process.phtml index 2406cdbc7..f0eecb7fa 100644 --- a/install-dev/theme/views/process.phtml +++ b/install-dev/theme/views/process.phtml @@ -75,9 +75,9 @@ var process_steps = process_steps) ?>;
- -displayTemplate('footer') ?> \ No newline at end of file +displayTemplate('footer') ?> diff --git a/pdf/invoice.tax-tab.tpl b/pdf/invoice.tax-tab.tpl index bcc6d4b67..685bbbd5f 100755 --- a/pdf/invoice.tax-tab.tpl +++ b/pdf/invoice.tax-tab.tpl @@ -22,6 +22,8 @@ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} + +{if $tax_exempt || ((isset($product_tax_breakdown) && $product_tax_breakdown|@count > 0) || (isset($ecotax_tax_breakdown) && $ecotax_tax_breakdown|@count > 0))} @@ -41,56 +43,56 @@ {if isset($product_tax_breakdown)} - {foreach $product_tax_breakdown as $rate => $product_tax_infos} - - + + + {if !$use_one_after_another_method} + + {/if} + + + {/foreach} {/if} - - - {if !$use_one_after_another_method} - - {/if} - - - {/foreach} - {/if} - {if isset($shipping_tax_breakdown)} - {foreach $shipping_tax_breakdown as $shipping_tax_infos} - - + + + {if !$use_one_after_another_method} + {/if} - - - {if !$use_one_after_another_method} - - {/if} - - - {/foreach} + + + {/foreach} {/if} {if isset($ecotax_tax_breakdown)} - {foreach $ecotax_tax_breakdown as $ecotax_tax_infos} - {if $ecotax_tax_infos.ecotax_tax_excl > 0} - - - - {if !$use_one_after_another_method} - + {foreach $ecotax_tax_breakdown as $ecotax_tax_infos} + {if $ecotax_tax_infos.ecotax_tax_excl > 0} + + + + {if !$use_one_after_another_method} + + {/if} + + {/if} - - - {/if} - {/foreach} + {/foreach} {/if}
- {if !isset($pdf_product_tax_written)} - {l s='Products' pdf='true'} - {assign var=pdf_product_tax_written value=1} + {foreach $product_tax_breakdown as $rate => $product_tax_infos} +
+ {if !isset($pdf_product_tax_written)} + {l s='Products' pdf='true'} + {assign var=pdf_product_tax_written value=1} + {/if} + {$rate} % + {if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$product_tax_infos.total_price_tax_excl} + {if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$product_tax_infos.total_amount}
{$rate} % - {if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$product_tax_infos.total_price_tax_excl} - {if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$product_tax_infos.total_amount}
- {if !isset($pdf_shipping_tax_written)} - {l s='Shipping' pdf='true'} - {assign var=pdf_shipping_tax_written value=1} + {if isset($shipping_tax_breakdown)} + {foreach $shipping_tax_breakdown as $shipping_tax_infos} +
+ {if !isset($pdf_shipping_tax_written)} + {l s='Shipping' pdf='true'} + {assign var=pdf_shipping_tax_written value=1} + {/if} + {$shipping_tax_infos.rate} %{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$shipping_tax_infos.total_tax_excl}{$shipping_tax_infos.rate} %{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$shipping_tax_infos.total_tax_excl}{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$shipping_tax_infos.total_amount}
{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$shipping_tax_infos.total_amount}
{l s='Ecotax' pdf='true'}{$ecotax_tax_infos.rate } %{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$ecotax_tax_infos.ecotax_tax_excl}
{l s='Ecotax' pdf='true'}{$ecotax_tax_infos.rate } %{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$ecotax_tax_infos.ecotax_tax_excl}{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=($ecotax_tax_infos.ecotax_tax_incl - $ecotax_tax_infos.ecotax_tax_excl)}
{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=($ecotax_tax_infos.ecotax_tax_incl - $ecotax_tax_infos.ecotax_tax_excl)}
{/if} @@ -98,4 +100,4 @@ - +{/if} \ No newline at end of file diff --git a/themes/default/css/comparator.css b/themes/default/css/comparator.css index 5d537272a..44af9522a 100644 --- a/themes/default/css/comparator.css +++ b/themes/default/css/comparator.css @@ -40,7 +40,7 @@ table#product_comparison { margin-bottom:10px; padding-left:10px; color:#0088cc; - background:url(../../img/arrow_right_1.png) no-repeat 0 4px transparent; + background:url(../img/arrow_right_1.png) no-repeat 0 4px transparent; } .prices_container {height:50px} @@ -68,7 +68,7 @@ table#product_comparison { padding-right:16px; font-weight:bold; text-align:right; - background:url(../../img/icon/delete.gif) no-repeat 100% 1px transparent; + background:url(../img/icon/delete.gif) no-repeat 100% 1px transparent; } .ajax_add_to_cart_button { @@ -82,7 +82,7 @@ table#product_comparison { height: 26px; left: -12px; width: 26px; - background: url(../../img/icon/pict_add_cart.png) no-repeat 0 0 transparent + background: url(../img/icon/pict_add_cart.png) no-repeat 0 0 transparent } diff --git a/themes/default/history.tpl b/themes/default/history.tpl index 71f6261ce..335e6a6e8 100644 --- a/themes/default/history.tpl +++ b/themes/default/history.tpl @@ -28,7 +28,7 @@ {include file="$tpl_dir./errors.tpl"}

{l s='Order history'}

-

{l s='Here are the orders you\'ve placed since your account was created.'}.

+

{l s='Here are the orders you\'ve placed since your account was created.'}

{if $slowValidation}

{l s='If you have just placed an order, it may take a few minutes for it to be validated. Please refresh this page if your order is missing.'}

{/if} diff --git a/themes/default/product.tpl b/themes/default/product.tpl index db284f6ae..53c76983c 100644 --- a/themes/default/product.tpl +++ b/themes/default/product.tpl @@ -541,7 +541,7 @@ var fieldRequired = '{l s='Please fill in all the required fields before saving
{/if} -{/if} \ No newline at end of file +{/if} diff --git a/translations/br.gzip b/translations/br.gzip index 3b2a8f6a6..dcb511add 100644 Binary files a/translations/br.gzip and b/translations/br.gzip differ diff --git a/translations/de.gzip b/translations/de.gzip index 35db3980d..2d53f7837 100644 Binary files a/translations/de.gzip and b/translations/de.gzip differ diff --git a/translations/en.gzip b/translations/en.gzip new file mode 100644 index 000000000..fba173918 Binary files /dev/null and b/translations/en.gzip differ diff --git a/translations/es.gzip b/translations/es.gzip index c551a7aec..fd1c8c88d 100644 Binary files a/translations/es.gzip and b/translations/es.gzip differ diff --git a/translations/fr.gzip b/translations/fr.gzip index f3ca648a6..e92f607db 100644 Binary files a/translations/fr.gzip and b/translations/fr.gzip differ diff --git a/translations/it.gzip b/translations/it.gzip index fb602139d..a2d334b13 100644 Binary files a/translations/it.gzip and b/translations/it.gzip differ diff --git a/translations/pl.gzip b/translations/pl.gzip index ef7e5efd5..bef8219ce 100644 Binary files a/translations/pl.gzip and b/translations/pl.gzip differ diff --git a/translations/ru.gzip b/translations/ru.gzip index b2d8e5c51..0a6469ad9 100644 Binary files a/translations/ru.gzip and b/translations/ru.gzip differ