From: skodak Date: Sun, 8 Feb 2009 23:14:13 +0000 (+0000) Subject: MDL-17458 standardised lang upgrade code + updating also parent language X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=551fe0e5359ac33fca3c758c149f19992a4e008c;p=moodle.git MDL-17458 standardised lang upgrade code + updating also parent language --- diff --git a/admin/index.php b/admin/index.php index 57f8adf46b..b7eec1d41a 100644 --- a/admin/index.php +++ b/admin/index.php @@ -250,13 +250,15 @@ 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); diff --git a/lib/upgradelib.php b/lib/upgradelib.php index 4761b11d53..04b3413e53 100644 --- a/lib/upgradelib.php +++ b/lib/upgradelib.php @@ -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(); }