From 07f6711889bcb3ecd91ad545e86e60691d49a5e5 Mon Sep 17 00:00:00 2001 From: skodak Date: Sun, 8 Feb 2009 22:33:54 +0000 Subject: [PATCH] MDL-17573 added automatic downloading of parent languages --- admin/langimport.php | 6 ++++++ lib/moodlelib.php | 22 ++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/admin/langimport.php b/admin/langimport.php index 319b9fe0bc..0c10185a49 100755 --- a/admin/langimport.php +++ b/admin/langimport.php @@ -78,6 +78,12 @@ 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: diff --git a/lib/moodlelib.php b/lib/moodlelib.php index fd64f76e5a..0c51cdc1e8 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -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; } -- 2.39.5