MDL-69240 tool_moodlenet: Clean MoodleNet profile field
[moodle.git] / admin / tool / moodlenet / db / upgrade.php
index 06dba45..f1ecf43 100644 (file)
@@ -77,7 +77,7 @@ function xmldb_tool_moodlenet_upgrade(int $oldversion) {
         upgrade_plugin_savepoint(true, 2020060500, 'tool', 'moodlenet');
     }
 
-    if ($oldversion < 2020060500.01) {
+    if ($oldversion < 2020061501) {
         // Change the domain.
         $defaultmoodlenet = get_config('tool_moodlenet', 'defaultmoodlenet');
 
@@ -92,7 +92,35 @@ function xmldb_tool_moodlenet_upgrade(int $oldversion) {
             set_config('defaultmoodlenetname', 'MoodleNet Central', 'tool_moodlenet');
         }
 
-        upgrade_plugin_savepoint(true, 2020060500.01, 'tool', 'moodlenet');
+        upgrade_plugin_savepoint(true, 2020061501, 'tool', 'moodlenet');
+    }
+
+    if ($oldversion < 2020061502) {
+        // Disable the MoodleNet integration by default till further notice.
+        set_config('enablemoodlenet', 0, 'tool_moodlenet');
+
+        upgrade_plugin_savepoint(true, 2020061502, 'tool', 'moodlenet');
+    }
+
+    // Automatically generated Moodle v3.9.0 release upgrade line.
+    // Put any upgrade step following this.
+
+    if ($oldversion < 2020061503) {
+
+        // Find out if there are users with MoodleNet profiles set.
+        $sql = "SELECT u.*
+                  FROM {user} u
+                 WHERE u.moodlenetprofile IS NOT NULL";
+
+        $records = $DB->get_records_sql($sql);
+
+        foreach ($records as $record) {
+            // Force clean user value just incase there is something malicious.
+            $record->moodlenetprofile = clean_text($record->moodlenetprofile, PARAM_NOTAGS);
+            $DB->update_record('user', $record);
+        }
+
+        upgrade_plugin_savepoint(true, 2020061503, 'tool', 'moodlenet');
     }
 
     return true;