]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-17458 standardised lang upgrade code + updating also parent language
authorskodak <skodak>
Sun, 8 Feb 2009 23:14:13 +0000 (23:14 +0000)
committerskodak <skodak>
Sun, 8 Feb 2009 23:14:13 +0000 (23:14 +0000)
admin/index.php
lib/upgradelib.php

index 57f8adf46b968c0e87d5144a20d0e893362dbdd3..b7eec1d41a1cc40a26d3e3a4df3add8702243beb 100644 (file)
             die();
 
         } else {
-        /// Upgrade current language pack if we can
-            if (empty($CFG->skiplangupgrade)) {
-                upgrade_language_pack();
-            }
 
         /// Launch main upgrade
             try {
+
+                // Upgrade current language pack if we can
+                if (empty($CFG->skiplangupgrade)) {
+                    upgrade_language_pack(false);
+                }
+
                 print_upgrade_part_start('moodle', false);
 
                 $result = xmldb_main_upgrade($CFG->version);
index 4761b11d53b3edf2ea3dd02116b9f87c0507a24d..04b3413e5398a2469d3749e293c67550a06b29aa 100644 (file)
@@ -892,7 +892,6 @@ function upgrade_get_javascript() {
 
 /**
  * Try to upgrade the given language pack (or current language)
- * If it doesn't work, fail silently and return false
  */
 function upgrade_language_pack($lang='') {
     global $CFG;
@@ -905,7 +904,8 @@ function upgrade_language_pack($lang='') {
         return true;  // Nothing to do
     }
 
-    notify(get_string('langimport', 'admin').': '.$lang.' ... ', 'notifysuccess');
+    upgrade_started(false);
+    print_heading(get_string('langimport', 'admin').': '.$lang);
 
     @mkdir ($CFG->dataroot.'/temp/');    //make it in case it's a fresh install, it might not be there
     @mkdir ($CFG->dataroot.'/lang/');
@@ -916,11 +916,15 @@ function upgrade_language_pack($lang='') {
         $status = $cd->install(); //returns COMPONENT_(ERROR | UPTODATE | INSTALLED)
 
         if ($status == COMPONENT_INSTALLED) {
-            debugging('Downloading successful: '.$lang);
             @unlink($CFG->dataroot.'/cache/languages');
-            return true;
+            if ($parentlang = get_parent_language($lang)) {
+                if ($cd = new component_installer('http://download.moodle.org', 'lang16', $parentlang.'.zip', 'languages.md5', 'lang')) {
+                    $cd->install();
+                }
+            }
+            notify(get_string('success'), 'notifysuccess');
         }
     }
 
-    return false;
+    print_upgrade_separator();
 }