Commit 9d18cfd0 authored by Marina Glancy's avatar Marina Glancy
Browse files

MDL-60167 upgrade: Fix duplicate site registrations

parent 22e99d61
......@@ -2245,7 +2245,12 @@ function xmldb_main_upgrade($oldversion) {
['hub', '%' . $DB->sql_like_escape('_' . $cleanoldhuburl)]);
foreach ($entries as $entry) {
$newname = substr($entry->name, 0, -strlen($cleanoldhuburl)) . $cleannewhuburl;
$DB->update_record('config_plugins', ['id' => $entry->id, 'name' => $newname]);
try {
$DB->update_record('config_plugins', ['id' => $entry->id, 'name' => $newname]);
} catch (dml_exception $e) {
// Entry with new name already exists, remove the one with an old name.
$DB->delete_records('config_plugins', ['id' => $entry->id]);
}
}
// Update published courses.
......@@ -2494,5 +2499,19 @@ function xmldb_main_upgrade($oldversion) {
upgrade_main_savepoint(true, 2017091201.00);
}
if ($oldversion < 2017092201.00) {
// Remove duplicate registrations.
$newhuburl = "https://moodle.net";
$registrations = $DB->get_records('registration_hubs', ['huburl' => $newhuburl], 'confirmed DESC, id ASC');
if (count($registrations) > 1) {
$reg = array_shift($registrations);
$DB->delete_records_select('registration_hubs', 'huburl = ? AND id <> ?', [$newhuburl, $reg->id]);
}
// Main savepoint reached.
upgrade_main_savepoint(true, 2017092201.00);
}
return true;
}
......@@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die();
$version = 2017092200.00; // YYYYMMDD = weekly release date of this DEV branch.
$version = 2017092201.00; // YYYYMMDD = weekly release date of this DEV branch.
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment