MDL-22061 workaround for special handling of parentlanguage string
authorPetr Skoda <skodak@moodle.org>
Sun, 11 Apr 2010 20:30:58 +0000 (20:30 +0000)
committerPetr Skoda <skodak@moodle.org>
Sun, 11 Apr 2010 20:30:58 +0000 (20:30 +0000)
admin/langimport.php
lib/moodlelib.php

index 61fe915..d72a714 100755 (executable)
@@ -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');
     foreach($installedlangs as $l=>$unused) {
         $SESSION->lang = $l;
         $parent = get_string('parentlanguage', 'langconfig');
-        if ($parent == 'en') {
+        if ($parent === 'en') {
             continue;
         }
             continue;
         }
-        if (strpos($parent, '[[') !== false) {
-            continue; // no parent
-        }
         if (!isset($installedlangs[$parent])) {
             $missingparents[$l] = $parent;
         }
         if (!isset($installedlangs[$parent])) {
             $missingparents[$l] = $parent;
         }
index 5c4c067..f406907 100644 (file)
@@ -5647,7 +5647,7 @@ function get_parent_language($lang=null) {
     }
 
     $parentlang = get_string('parentlanguage', 'langconfig');
     }
 
     $parentlang = get_string('parentlanguage', 'langconfig');
-    if ($parentlang === 'en' or $parentlang === '[[parentlanguage]]' or strpos($parentlang, '<') !== false) {
+    if ($parentlang === 'en') {
         $parentlang = '';
     }
 
         $parentlang = '';
     }
 
@@ -5910,9 +5910,11 @@ class amos_string_manager implements string_manager {
                 // not all of them are supposed to be defined
                 return '';
             }
                 // 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]]";
         }
 
             return "[[$identifier]]";
         }