Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

MDL-27767 install: Shows notifications rather than throwing exception…

…s when installation encounters unexpected id for guest or admin
  • Loading branch information...
commit 6f2d62d022bec52dbf3bbb9d084d4fbc575a7db3 1 parent 01f7f6f
@samhemelryk samhemelryk authored
Showing with 9 additions and 4 deletions.
  1. +9 −4 lib/db/install.php
View
13 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);
Please sign in to comment.
Something went wrong with that request. Please try again.