]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-17573 added automatic downloading of parent languages
authorskodak <skodak>
Sun, 8 Feb 2009 22:33:54 +0000 (22:33 +0000)
committerskodak <skodak>
Sun, 8 Feb 2009 22:33:54 +0000 (22:33 +0000)
admin/langimport.php
lib/moodlelib.php

index 319b9fe0bcb88ba1d6499be4a934e3a7051b05e6..0c10185a49aa6f9b9f64401c7e3c87531d9a31a3 100755 (executable)
 
                             case COMPONENT_INSTALLED:
                                 $notice_ok[] = get_string('langpackinstalled','admin',$pack);
+                                if ($parentlang = get_parent_language($pack)) {
+                                    // install also parent pack if specified
+                                    if ($cd = new component_installer('http://download.moodle.org', 'lang16', $parentlang.'.zip', 'languages.md5', 'lang')) {
+                                        $cd->install();
+                                    }
+                                }
                             break;
 
                             case COMPONENT_UPTODATE:
index fd64f76e5a6b7913fa39f1fa745af5e1d769a36f..0c51cdc1e83c593041e9affd3dddd13c468dab85 100644 (file)
@@ -5144,13 +5144,31 @@ function current_language() {
 
 /**
  * Returns parent language of current active language if defined
+ * @param string $lang null means current language
  * @return string
  */
-function get_parent_language() {
+function get_parent_language($lang=null) {
+    global $COURSE, $SESSION;
+
+    //let's hack around the current language
+    if (!empty($lang)) {
+        $old_course_lang  = empty($COURSE->lang) ? '' : $COURSE->lang;
+        $old_session_lang = empty($SESSION->lang) ? '' : $SESSION->lang;
+        $COURSE->lang  = '';
+        $SESSION->lang = $lang;
+    }
+
     $parentlang = get_string('parentlanguage');
     if ($parentlang === '[[parentlanguage]]' or strpos($parentlang, '<') !== false) {
-        return '';
+        $parentlang = '';
     }
+
+    //let's hack around the current language
+    if (!empty($lang)) {
+        $COURSE->lang  = $old_course_lang;
+        $SESSION->lang = $old_session_lang;
+    }
+
     return $parentlang;
 }