mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 16:32:18 +02:00
MDL-60669 forum: Added duplicate check for restoring forum subscriptions
Before MDL-59854 it was possible to have duplicate forum subscriptions. Trying to import backups created from back then, caused a DB exception due to unqiue key constraints. Now only one of multiple identical forum subscritions is restored.
This commit is contained in:
parent
5bde2c2b62
commit
9bd6807635
@ -168,8 +168,14 @@ class restore_forum_activity_structure_step extends restore_activity_structure_s
|
||||
$data->forum = $this->get_new_parentid('forum');
|
||||
$data->userid = $this->get_mappingid('user', $data->userid);
|
||||
|
||||
$newitemid = $DB->insert_record('forum_subscriptions', $data);
|
||||
$this->set_mapping('forum_subscription', $oldid, $newitemid, true);
|
||||
// Create only a new subscription if it does not already exist (see MDL-59854).
|
||||
if ($subscription = $DB->get_record('forum_subscriptions',
|
||||
array('forum' => $data->forum, 'userid' => $data->userid))) {
|
||||
$this->set_mapping('forum_subscription', $oldid, $subscription->id, true);
|
||||
} else {
|
||||
$newitemid = $DB->insert_record('forum_subscriptions', $data);
|
||||
$this->set_mapping('forum_subscription', $oldid, $newitemid, true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user