From c2ed166e6d9c8080074f2ec0efeebd4cca68a6de Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Sun, 11 Apr 2010 20:30:58 +0000 Subject: [PATCH] MDL-22061 workaround for special handling of parentlanguage string --- admin/langimport.php | 5 +---- lib/moodlelib.php | 8 +++++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/admin/langimport.php b/admin/langimport.php index 61fe9155173..d72a714ed61 100755 --- a/admin/langimport.php +++ b/admin/langimport.php @@ -253,12 +253,9 @@ die('Work in progress, to be replaced by the new language update interface...'); foreach($installedlangs as $l=>$unused) { $SESSION->lang = $l; $parent = get_string('parentlanguage', 'langconfig'); - if ($parent == 'en') { + if ($parent === 'en') { continue; } - if (strpos($parent, '[[') !== false) { - continue; // no parent - } if (!isset($installedlangs[$parent])) { $missingparents[$l] = $parent; } diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 5c4c067cdd4..f4069075f7e 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -5647,7 +5647,7 @@ function get_parent_language($lang=null) { } $parentlang = get_string('parentlanguage', 'langconfig'); - if ($parentlang === 'en' or $parentlang === '[[parentlanguage]]' or strpos($parentlang, '<') !== false) { + if ($parentlang === 'en') { $parentlang = ''; } @@ -5910,9 +5910,11 @@ class amos_string_manager implements string_manager { // not all of them are supposed to be defined return ''; } - if ($identifier !== 'parentlanguage') { - debugging("Invalid get_string() identifier: '$identifier' or component '$component'", DEBUG_DEVELOPER); + if ($identifier === 'parentlanguage' and ($component === 'langconfig' or $component === 'core_langconfig')) { + // parentlanguage is a special string, undefined means use english if not defined + return 'en'; } + debugging("Invalid get_string() identifier: '$identifier' or component '$component'", DEBUG_DEVELOPER); return "[[$identifier]]"; }