Merge branch 'MDL-55956-master-5' of git://github.com/junpataleta/moodle

This commit is contained in:
Andrew Nicols 2017-03-08 16:32:33 +08:00 committed by Dan Poltawski
commit 5286837617

View File

@ -855,11 +855,25 @@ function calendar_get_events($tstart, $tend, $users, $groups, $courses, $withdur
$subqueryparams = array_merge($subqueryparams, $inusergroupparams);
}
// Set filter condition for the user's courses.
// Get courses to be used for the subquery.
$subquerycourses = [];
if (is_array($courses)) {
$subquerycourses = $courses;
} else if (is_numeric($courses)) {
$subquerycourses[] = $courses;
}
// Merge with user courses, if necessary.
if (!empty($usercourses)) {
list($inusercourses, $inusercoursesparams) = $DB->get_in_or_equal($usercourses, SQL_PARAMS_NAMED);
$subqueryconditions[] = "(ev.groupid = 0 AND ev.courseid $inusercourses)";
$subqueryparams = array_merge($subqueryparams, $inusercoursesparams);
$subquerycourses = array_merge($subquerycourses, $usercourses);
// Make sure we remove duplicate values.
$subquerycourses = array_unique($subquerycourses);
}
// Set subquery filter condition for the courses.
if (!empty($subquerycourses)) {
list($incourses, $incoursesparams) = $DB->get_in_or_equal($subquerycourses, SQL_PARAMS_NAMED);
$subqueryconditions[] = "(ev.groupid = 0 AND ev.courseid $incourses)";
$subqueryparams = array_merge($subqueryparams, $incoursesparams);
}
// Build the WHERE condition for the sub-query.