MDL-65573 mod_forum: Set userid properly after split
* Set the discussion's userid properly when splitting a discussion. * Update step to correct existing incorrect records.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user