From: skodak Date: Sun, 1 Feb 2009 12:52:30 +0000 (+0000) Subject: MDL-10275 moving all installation time environment tests into /admin/index.php -... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=9050958240b09cba95b6537973c70e162f60e55a;p=moodle.git MDL-10275 moving all installation time environment tests into /admin/index.php - this will simplify install.php a LOT and will make installation/upgrade more consistent + fixed a bug in enviroment if docroot not set --- diff --git a/admin/index.php b/admin/index.php index ea84ae9262..6400fb399c 100644 --- a/admin/index.php +++ b/admin/index.php @@ -102,6 +102,9 @@ $CFG->debug = DEBUG_MINIMAL; error_reporting($CFG->debug); + /// fake some settings + $CFG->docroot = 'http://docs.moodle.org'; + /// remove current session content completely session_get_instance()->terminate_current(); @@ -116,15 +119,25 @@ notice_yesno(get_string('doyouagree'), "index.php?agreelicense=1&lang=$CFG->lang", "http://docs.moodle.org/en/License"); print_footer('none'); - exit; + die; } if (empty($confirmrelease)) { $strcurrentrelease = get_string("currentrelease"); $navigation = build_navigation(array(array('name'=>$strcurrentrelease, 'link'=>null, 'type'=>'misc'))); print_header($strcurrentrelease, $strcurrentrelease, $navigation, "", "", false, " ", " "); print_heading("Moodle $release"); - print_box(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes'), 'generalbox boxaligncenter boxwidthwide'); - print_continue("index.php?agreelicense=1&confirmrelease=1&lang=$CFG->lang"); + $releasenoteslink = get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes'); + $releasenoteslink = str_replace('target="_blank"', 'onclick="this.target=\'_blank\'"', $releasenoteslink); // extremely ugly validation hack + print_box($releasenoteslink, 'generalbox boxaligncenter boxwidthwide'); + + require_once($CFG->libdir.'/environmentlib.php'); + if (!check_moodle_environment($release, $environment_results, true)) { + print_upgrade_reload("index.php?agreelicense=1&lang=$CFG->lang"); + } else { + notify(get_string('environmentok', 'admin'), 'notifysuccess'); + print_continue("index.php?agreelicense=1confirmrelease=1&lang=$CFG->lang"); + } + print_footer('none'); die; } @@ -209,22 +222,18 @@ $navigation = build_navigation(array(array('name'=>$strcurrentrelease, 'link'=>null, 'type'=>'misc'))); print_header($strcurrentrelease, $strcurrentrelease, $navigation, "", "", false, " ", " "); print_heading("Moodle $release"); - print_box(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes')); + $releasenoteslink = get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes'); + $releasenoteslink = str_replace('target="_blank"', 'onclick="this.target=\'_blank\'"', $releasenoteslink); // extremely ugly validation hack + print_box($releasenoteslink); require_once($CFG->libdir.'/environmentlib.php'); print_heading(get_string('environment', 'admin')); if (!check_moodle_environment($release, $environment_results, true)) { - if (empty($CFG->skiplangupgrade)) { - print_box_start('generalbox', 'notice'); // MDL-8330 - print_string('langpackwillbeupdated', 'admin'); - print_box_end(); - } - notice_yesno(get_string('environmenterrorupgrade', 'admin'), - 'index.php?confirmupgrade=1&confirmrelease=1', 'index.php'); + print_upgrade_reload('index.php?confirmupgrade=1'); } else { notify(get_string('environmentok', 'admin'), 'notifysuccess'); if (empty($CFG->skiplangupgrade)) { - print_box_start('generalbox', 'notice'); // MDL-8330 + print_box_start('generalbox', 'notice'); print_string('langpackwillbeupdated', 'admin'); print_box_end(); } @@ -239,14 +248,11 @@ $navigation = build_navigation(array(array('name'=>$strplugincheck, 'link'=>null, 'type'=>'misc'))); print_header($strplugincheck, $strplugincheck, $navigation, "", "", false, " ", " "); print_heading($strplugincheck); - print_box_start('generalbox', 'notice'); // MDL-8330 + print_box_start('generalbox', 'notice'); print_string('pluginchecknotice'); print_box_end(); print_plugin_tables(); - echo "
"; - echo '
'; - echo ' '.get_string('reload').''; - echo '

'; + print_upgrade_reload('index.php?confirmupgrade=1&confirmrelease=1'); print_continue('index.php?confirmupgrade=1&confirmrelease=1&confirmplugincheck=1'); print_footer('none'); die(); @@ -297,8 +303,8 @@ } /// upgrade all plugins types - $plugintypes = get_plugin_types(); try { + $plugintypes = get_plugin_types(); foreach ($plugintypes as $type=>$location) { upgrade_plugins($type, $location, 'print_upgrade_part_start', 'print_upgrade_part_end'); } @@ -309,6 +315,7 @@ /// Check for changes to RPC functions if ($CFG->mnet_dispatcher_mode != 'off') { try { + // this needs a full rewrite, sorry to mention that :-( require_once("$CFG->dirroot/$CFG->admin/mnet/adminlib.php"); upgrade_RPC_functions(); // Return here afterwards } catch (Exception $ex) { diff --git a/lib/environmentlib.php b/lib/environmentlib.php index 2e68642dca..8998b7b648 100644 --- a/lib/environmentlib.php +++ b/lib/environmentlib.php @@ -122,6 +122,8 @@ function check_moodle_environment($version, &$environment_results, $print_table= * @param array environment_results array of results gathered */ function print_moodle_environment($result, $environment_results) { + global $CFG; + /// Get some strings $strname = get_string('name'); $strinfo = get_string('info'); @@ -159,6 +161,7 @@ function print_moodle_environment($result, $environment_results) { foreach ($environment_results as $environment_result) { $errorline = false; $warningline = false; + $stringtouse = ''; if ($continue) { $type = $environment_result->getPart(); $info = $environment_result->getInfo(); @@ -227,7 +230,11 @@ function print_moodle_environment($result, $environment_results) { if (!empty($info)){ $linkparts[] = $info; } - $report = doc_link(join($linkparts, '/'), get_string($stringtouse, 'admin', $rec)); + if (empty($CFG->docroot)) { + $report = get_string($stringtouse, 'admin', $rec); + } else { + $report = doc_link(join($linkparts, '/'), get_string($stringtouse, 'admin', $rec)); + } /// Format error or warning line @@ -430,7 +437,6 @@ function get_environment_for_version($version) { * @return array array of results encapsulated in one environment_result object */ function environment_check($version) { - global $CFG; /// Normalize the version requested @@ -439,7 +445,7 @@ function environment_check($version) { $results = array(); //To store all the results /// Only run the moodle versions checker on upgrade, not on install - if (empty($CFG->running_installer)) { + if (!empty($CFG->version)) { $results[] = environment_check_moodle($version); } $results[] = environment_check_unicode($version); diff --git a/lib/upgradelib.php b/lib/upgradelib.php index 03c9c471f1..efeb6d5c2e 100644 --- a/lib/upgradelib.php +++ b/lib/upgradelib.php @@ -817,6 +817,15 @@ function upgrade_setup_debug($starting) { } } +function print_upgrade_reload($url) { + global $CFG; + + echo "
"; + echo '
'; + echo ' '.get_string('reload').''; + echo '

'; +} + function print_upgrade_separator() { if (!CLI_SCRIPT) { echo '
';