From ab76484507fd39645f11924efdf5bf258a606ab1 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 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/db/install.php b/lib/db/install.php index 03797855fe0..ee10a7de2ae 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 = get_system_context(false); @@ -152,7 +152,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); @@ -173,9 +173,14 @@ 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 set_config('siteadmins', $admin->id);