Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts: admin-dev/themes/default/template/controllers/carrier_wizard/helpers/form/form_ranges.tpl admin-dev/themes/default/template/controllers/groups/helpers/view/view.tpl admin-dev/themes/default/template/controllers/import/helpers/form/form.tpl admin-dev/themes/default/template/controllers/modules/filters.tpl admin-dev/themes/default/template/controllers/modules/list.tpl admin-dev/themes/default/template/controllers/orders/form.tpl admin-dev/themes/default/template/helpers/form/form.tpl classes/Category.php classes/controller/AdminController.php controllers/admin/AdminAttributesGroupsController.php controllers/admin/AdminFeaturesController.php controllers/admin/AdminImportController.php controllers/admin/AdminLogsController.php install-dev/install_version.php install-dev/langs/ru/data/tab.xml js/admin_carrier_wizard.js modules/loyalty/loyalty.php
This commit is contained in:
@@ -597,24 +597,28 @@ class AdminTranslationsControllerCore extends AdminController
|
||||
if (preg_match('#^translations\/'.$iso_code.'\/tabs.php#Ui', $file['filename'], $matches) && Validate::isLanguageIsoCode($iso_code))
|
||||
{
|
||||
// Include array width new translations tabs
|
||||
$tabs = array();
|
||||
if (Tools::file_exists_cache(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.$file['filename']))
|
||||
$tabs = include_once(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.$file['filename']);
|
||||
|
||||
foreach ($tabs as $class_name => $translations)
|
||||
$_TABS = array();
|
||||
clearstatcache();
|
||||
if (file_exists(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.$file['filename']))
|
||||
include_once(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.$file['filename']);
|
||||
|
||||
if (count($_TABS))
|
||||
{
|
||||
// Get instance of this tab by class name
|
||||
$tab = Tab::getInstanceFromClassName($class_name);
|
||||
//Check if class name exists
|
||||
if (isset($tab->class_name) && !empty($tab->class_name))
|
||||
foreach ($_TABS as $class_name => $translations)
|
||||
{
|
||||
$id_lang = Language::getIdByIso($iso_code);
|
||||
$tab->name[(int)$id_lang] = $translations;
|
||||
// Get instance of this tab by class name
|
||||
$tab = Tab::getInstanceFromClassName($class_name);
|
||||
//Check if class name exists
|
||||
if (isset($tab->class_name) && !empty($tab->class_name))
|
||||
{
|
||||
$id_lang = Language::getIdByIso($iso_code);
|
||||
$tab->name[(int)$id_lang] = $translations;
|
||||
|
||||
if (!Validate::isGenericName($tab->name[(int)$id_lang]))
|
||||
$errors[] = sprintf(Tools::displayError('Tab "%s" is not valid'), $tab->name[(int)$id_lang]);
|
||||
else
|
||||
$tab->update();
|
||||
if (!Validate::isGenericName($tab->name[(int)$id_lang]))
|
||||
$errors[] = sprintf(Tools::displayError('Tab "%s" is not valid'), $tab->name[(int)$id_lang]);
|
||||
else
|
||||
$tab->update();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1085,7 +1089,7 @@ class AdminTranslationsControllerCore extends AdminController
|
||||
{
|
||||
case 'front':
|
||||
// Parsing file in Front office
|
||||
$regex = '/\{l\s*s=(?|\'('._PS_TRANS_PATTERN_.')\'|"('._PS_TRANS_PATTERN_.')")(\s*sprintf=.*)?(\s*js=1)?\s*\}/U';
|
||||
$regex = '/\{l\s*s=[\'\"]'._PS_TRANS_PATTERN_.'[\'\"](\s*sprintf=.*)?(\s*js=1)?\s*\}/U';
|
||||
break;
|
||||
|
||||
case 'back':
|
||||
@@ -1095,7 +1099,7 @@ class AdminTranslationsControllerCore extends AdminController
|
||||
else if ($type_file == 'specific')
|
||||
$regex = '/Translate::getAdminTranslation\(\''._PS_TRANS_PATTERN_.'\'\)/U';
|
||||
else
|
||||
$regex = '/\{l\s*s\s*=(?|\''._PS_TRANS_PATTERN_.'\'|"'._PS_TRANS_PATTERN_.'")(\s*sprintf=.*)?(\s*js=1)?(\s*slashes=1)?\s*\}/U';
|
||||
$regex = '/\{l\s*s\s*=[\'\"]'._PS_TRANS_PATTERN_.'[\'\"](\s*sprintf=.*)?(\s*js=1)?(\s*slashes=1)?\s*\}/U';
|
||||
break;
|
||||
|
||||
case 'errors':
|
||||
@@ -1109,7 +1113,10 @@ class AdminTranslationsControllerCore extends AdminController
|
||||
$regex = '/->l\(\''._PS_TRANS_PATTERN_.'\'(, ?\'(.+)\')?(, ?(.+))?\)/U';
|
||||
else
|
||||
// In tpl file look for something that should contain mod='module_name' according to the documentation
|
||||
$regex = '/\{l\s*s=(?|\''._PS_TRANS_PATTERN_.'\'|"'._PS_TRANS_PATTERN_.'").*\s+mod=\''.$module_name.'\'.*\}/U';
|
||||
$regex = array(
|
||||
'/\{l\s*s=\''._PS_TRANS_PATTERN_.'\'.*\s+mod=\''.$module_name.'\'.*\}/U',
|
||||
'/\{l\s*s=\"'._PS_TRANS_PATTERN_.'\".*\s+mod=\''.$module_name.'\'.*\}/U'
|
||||
);
|
||||
break;
|
||||
|
||||
case 'pdf':
|
||||
@@ -1117,11 +1124,21 @@ class AdminTranslationsControllerCore extends AdminController
|
||||
if ($type_file == 'php')
|
||||
$regex = '/HTMLTemplate.*::l\(\''._PS_TRANS_PATTERN_.'\'[\)|\,]/U';
|
||||
else
|
||||
$regex = '/\{l\s*s=(?|\''._PS_TRANS_PATTERN_.'\'|"'._PS_TRANS_PATTERN_.'")(\s*sprintf=.*)?(\s*js=1)?(\s*pdf=\'true\')?\s*\}/U';
|
||||
$regex = '/\{l\s*s=[\'\"]'._PS_TRANS_PATTERN_.'[\'\"](\s*sprintf=.*)?(\s*js=1)?(\s*pdf=\'true\')?\s*\}/U';
|
||||
break;
|
||||
}
|
||||
|
||||
preg_match_all($regex, $content, $matches);
|
||||
if (is_array($regex))
|
||||
{
|
||||
$matches = array(1 => array());
|
||||
foreach ($regex as $regex_row)
|
||||
{
|
||||
preg_match_all($regex_row, $content, $matches2);
|
||||
$matches[1] = array_merge($matches[1], $matches2[1]);
|
||||
}
|
||||
}
|
||||
else
|
||||
preg_match_all($regex, $content, $matches);
|
||||
|
||||
return $matches[1];
|
||||
}
|
||||
@@ -1499,7 +1516,7 @@ class AdminTranslationsControllerCore extends AdminController
|
||||
if ($module_name)
|
||||
$path = str_replace('{module}', $module_name, $path);
|
||||
if (!file_exists($path) && !mkdir($path, 0777, true))
|
||||
throw new PrestaShopException(sprintf(Tools::displayError('Directory "%s" cannot be created'), dirname($file_path)));
|
||||
throw new PrestaShopException(sprintf(Tools::displayError('Directory "%s" cannot be created'), dirname($path)));
|
||||
file_put_contents($path.$mail_name.'.'.$type_content, $content);
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user