diff --git a/mod/forum/db/upgrade.php b/mod/forum/db/upgrade.php index 6cdf26fcf0c..1446801da60 100644 --- a/mod/forum/db/upgrade.php +++ b/mod/forum/db/upgrade.php @@ -220,8 +220,28 @@ function xmldb_forum_upgrade($oldversion) { upgrade_mod_savepoint(true, 2019100109, 'forum'); } + // Automatically generated Moodle v3.8.0 release upgrade line. // Put any upgrade step following this. + if ($oldversion < 2019111801) { + $sql = "SELECT d.id AS discussionid, p.userid AS correctuser + FROM {forum_discussions} d + INNER JOIN {forum_posts} p ON p.id = d.firstpost + WHERE d.userid <> p.userid"; + $recordset = $DB->get_recordset_sql($sql); + foreach ($recordset as $record) { + $object = new stdClass(); + $object->id = $record->discussionid; + $object->userid = $record->correctuser; + $DB->update_record('forum_discussions', $object); + } + + $recordset->close(); + + // Forum savepoint reached. + upgrade_mod_savepoint(true, 2019111801, 'forum'); + } + return true; } diff --git a/mod/forum/post.php b/mod/forum/post.php index d265d9af80b..7d9e3abc288 100644 --- a/mod/forum/post.php +++ b/mod/forum/post.php @@ -562,7 +562,7 @@ if (!empty($forum)) { $newdiscussion->forum = $discussion->forum; $newdiscussion->name = $name; $newdiscussion->firstpost = $post->id; - $newdiscussion->userid = $discussion->userid; + $newdiscussion->userid = $post->userid; $newdiscussion->groupid = $discussion->groupid; $newdiscussion->assessed = $discussion->assessed; $newdiscussion->usermodified = $post->userid; diff --git a/mod/forum/version.php b/mod/forum/version.php index 4f530f2811a..7d1f874ef9e 100644 --- a/mod/forum/version.php +++ b/mod/forum/version.php @@ -24,6 +24,6 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2019111800; // The current module version (Date: YYYYMMDDXX) +$plugin->version = 2019111801; // The current module version (Date: YYYYMMDDXX) $plugin->requires = 2019111200; // Requires this Moodle version $plugin->component = 'mod_forum'; // Full name of the plugin (used for diagnostics)