From 3912cdd1de1666c95fb41d22f0c85b7e3dd685bb Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Thu, 29 Sep 2011 17:07:16 +1300 Subject: [PATCH] MDL-27767 install: Shows notifications rather than throwing exceptions when installation encounters unexpected id for guest or admin --- lib/db/install.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/db/install.php b/lib/db/install.php index de4c45b8547..8ad8f1a007b 100644 --- a/lib/db/install.php +++ b/lib/db/install.php @@ -27,7 +27,7 @@ defined('MOODLE_INTERNAL') || die(); function xmldb_main_install() { - global $CFG, $DB, $SITE; + global $CFG, $DB, $SITE, $OUTPUT; /// Make sure system context exists $syscontext = context_system::instance(0, MUST_EXIST, false); @@ -178,7 +178,7 @@ function xmldb_main_install() { $guest->timemodified= time(); $guest->id = $DB->insert_record('user', $guest); if ($guest->id != 1) { - throw new moodle_exception('generalexceptionmessage', 'error', '', 'Unexpected new guest user id!'); + echo $OUTPUT->notification('Unexpected id generated for the Guest account. Your database configuration or clustering setup may not be fully supported', 'notifyproblem'); } // Store guest id set_config('siteguest', $guest->id); @@ -201,10 +201,15 @@ function xmldb_main_install() { $admin->timemodified = time(); $admin->lastip = CLI_SCRIPT ? '0.0.0.0' : getremoteaddr(); // installation hijacking prevention $admin->id = $DB->insert_record('user', $admin); + if ($admin->id != 2) { - throw new moodle_exception('generalexceptionmessage', 'error', '', 'Unexpected new admin user id!'); + echo $OUTPUT->notification('Unexpected id generated for the Admin account. Your database configuration or clustering setup may not be fully supported', 'notifyproblem'); + } + if ($admin->id != ($guest->id + 1)) { + echo $OUTPUT->notification('Nonconsecutive id generated for the Admin account. Your database configuration or clustering setup may not be fully supported.', 'notifyproblem'); } - // Store list of admins + + /// Store list of admins set_config('siteadmins', $admin->id); // Make sure user context exists context_user::instance($admin->id); -- 2.43.0