Merge branch 'wip-MDL-53492-master' of git://github.com/marinaglancy/moodle
[moodle.git] / lib / db / upgrade.php
index 3120399..575f04e 100644 (file)
@@ -2214,6 +2214,7 @@ function xmldb_main_upgrade($oldversion) {
         upgrade_main_savepoint(true, 2017072000.02);
     }
 
         upgrade_main_savepoint(true, 2017072000.02);
     }
 
+<<<<<<< HEAD
     if ($oldversion < 2017072700.01) {
         // Changing nullability of field email on table oauth2_system_account to null.
         $table = new xmldb_table('oauth2_system_account');
     if ($oldversion < 2017072700.01) {
         // Changing nullability of field email on table oauth2_system_account to null.
         $table = new xmldb_table('oauth2_system_account');
@@ -2226,5 +2227,34 @@ function xmldb_main_upgrade($oldversion) {
         upgrade_main_savepoint(true, 2017072700.01);
     }
 
         upgrade_main_savepoint(true, 2017072700.01);
     }
 
+    if ($oldversion < 2017072700.02) {
+
+        // If the site was previously registered with http://hub.moodle.org change the registration to
+        // point to https://moodle.net - this is the correct hub address using https protocol.
+        $oldhuburl = "http://hub.moodle.org";
+        $newhuburl = "https://moodle.net";
+        $cleanoldhuburl = preg_replace('/[^A-Za-z0-9_-]/i', '', $oldhuburl);
+        $cleannewhuburl = preg_replace('/[^A-Za-z0-9_-]/i', '', $newhuburl);
+
+        // Update existing registration.
+        $DB->execute("UPDATE {registration_hubs} SET hubname = ?, huburl = ? WHERE huburl = ?",
+            ['Moodle.net', $newhuburl, $oldhuburl]);
+
+        // Update settings of existing registration.
+        $sqlnamelike = $DB->sql_like('name', '?');
+        $entries = $DB->get_records_sql("SELECT * FROM {config_plugins} where plugin=? and " . $sqlnamelike,
+            ['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]);
+        }
+
+        // Update published courses.
+        $DB->execute('UPDATE {course_published} SET huburl = ? WHERE huburl = ?', [$newhuburl, $oldhuburl]);
+
+        // Main savepoint reached.
+        upgrade_main_savepoint(true, 2017072700.02);
+    }
+
     return true;
 }
     return true;
 }