[-] BO : #PI-57 : Fix bug when we import pack of language in emails files
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@14307 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -285,8 +285,12 @@ class AdminTranslationsControllerCore extends AdminController
|
||||
|
||||
public function checkAndAddMailsFiles($iso_code, $files_list)
|
||||
{
|
||||
// 1 - Scan mails files
|
||||
$mails = scandir(_PS_MAIL_DIR_.'en/');
|
||||
|
||||
$mails_new_lang = array();
|
||||
|
||||
// Get all email files
|
||||
foreach ($files_list as $file)
|
||||
{
|
||||
if (preg_match('#^mails\/([a-z0-9]+)\/#Ui', $file['filename'], $matches))
|
||||
@@ -295,11 +299,57 @@ class AdminTranslationsControllerCore extends AdminController
|
||||
$mails_new_lang[] = substr($file['filename'], -(strlen($file['filename']) - $slash_pos - 1));
|
||||
}
|
||||
}
|
||||
|
||||
// Get the difference
|
||||
$arr_mails_needed = array_diff($mails, $mails_new_lang);
|
||||
|
||||
// Add mails files
|
||||
foreach ($arr_mails_needed as $mail_to_add)
|
||||
{
|
||||
if ($mail_to_add !== '.' && $mail_to_add !== '..' && $mail_to_add !== '.svn')
|
||||
@copy(_PS_MAIL_DIR_.'en/'.$mail_to_add, _PS_MAIL_DIR_.$iso_code.'/'.$mail_to_add);
|
||||
|
||||
|
||||
// 2 - Scan modules files
|
||||
$modules = scandir(_PS_MODULE_DIR_);
|
||||
|
||||
$module_mail_en = array();
|
||||
$module_mail_iso_code = array();
|
||||
|
||||
foreach ($modules as $module)
|
||||
{
|
||||
if (!in_array($module, array('.', '..', '.svn', '.htaccess')) && file_exists(_PS_MODULE_DIR_.$module.'/mails/en/'))
|
||||
{
|
||||
$arr_files = scandir(_PS_MODULE_DIR_.$module.'/mails/en/');
|
||||
|
||||
foreach ($arr_files as $file)
|
||||
{
|
||||
if (!in_array($file, array('.', '..', '.svn', '.htaccess')))
|
||||
{
|
||||
if (file_exists(_PS_MODULE_DIR_.$module.'/mails/en/'.$file))
|
||||
$module_mail_en[] = _PS_MODULE_DIR_.$module.'/mails/ISO_CODE/'.$file;
|
||||
|
||||
if (file_exists(_PS_MODULE_DIR_.$module.'/mails/'.$iso_code.'/'.$file))
|
||||
$module_mail_iso_code[] = _PS_MODULE_DIR_.$module.'/mails/ISO_CODE/'.$file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Get the difference in this modules
|
||||
$arr_modules_mails_needed = array_diff($module_mail_en, $module_mail_iso_code);
|
||||
|
||||
// Add mails files for this modules
|
||||
foreach ($arr_modules_mails_needed as $file)
|
||||
{
|
||||
$file_en = str_replace('ISO_CODE', 'en', $file);
|
||||
$file_iso_code = str_replace('ISO_CODE', $iso_code, $file);
|
||||
$dir_iso_code = substr($file_iso_code, 0, -(strlen($file_iso_code) - strrpos($file_iso_code, '/') - 1));
|
||||
|
||||
if (!file_exists($dir_iso_code))
|
||||
mkdir($dir_iso_code);
|
||||
|
||||
if (file_exists($file_en))
|
||||
copy($file_en, $file_iso_code);
|
||||
}
|
||||
}
|
||||
public function submitImportLang()
|
||||
|
||||
Reference in New Issue
Block a user