/** * Patch for bug57431 * Compares current moduleList to base moduleList to detect if some modules have been renamed * Run changeModuleModStrings to create new labels based on customizations. */ function updateRenamedModulesLabels() { require_once 'modules/Studio/wizards/RenameModules.php'; require_once 'include/utils.php'; $klass = new RenameModules(); $languages = get_languages(); foreach ($languages as $langKey => $langName) { //get list strings for this language $strings = return_app_list_strings_language($langKey); //get base list strings for this language if (file_exists("include/language/{$langKey}.lang.php")) { include "include/language/{$langKey}.lang.php"; //Keep only renamed modules $renamedModules = array_diff($strings['moduleList'], $app_list_strings['moduleList']); foreach ($renamedModules as $moduleId => $moduleName) { if (isset($app_list_strings['moduleListSingular'][$moduleId])) { $klass->selectedLanguage = $langKey; $replacementLabels = array('singular' => $strings['moduleListSingular'][$moduleId], 'plural' => $strings['moduleList'][$moduleId], 'prev_singular' => $app_list_strings['moduleListSingular'][$moduleId], 'prev_plural' => $app_list_strings['moduleList'][$moduleId], 'key_plural' => $moduleId, 'key_singular' => $klass->getModuleSingularKey($moduleId)); $klass->changeModuleModStrings($moduleId, $replacementLabels); } } } } }