MDL-48089 mod_forum: Improve DB query in observer

This commit is contained in:
liorgi 2016-04-10 10:35:56 +03:00 committed by Dan Poltawski
parent b611ade3ab
commit db3a6216cc

View File

@ -41,8 +41,11 @@ class mod_forum_observer {
// Get user enrolment info from event.
$cp = (object)$event->other['userenrolment'];
if ($cp->lastenrol) {
$params = array('userid' => $cp->userid, 'courseid' => $cp->courseid);
$forumselect = "IN (SELECT f.id FROM {forum} f WHERE f.course = :courseid)";
if (!$forums = $DB->get_records('forum', array('course' => $cp->courseid), '', 'id')) {
return;
}
list($forumselect, $params) = $DB->get_in_or_equal(array_keys($forums), SQL_PARAMS_NAMED);
$params['userid'] = $cp->userid;
$DB->delete_records_select('forum_digests', 'userid = :userid AND forum '.$forumselect, $params);
$DB->delete_records_select('forum_subscriptions', 'userid = :userid AND forum '.$forumselect, $params);