mirror of
https://github.com/moodle/moodle.git
synced 2025-08-07 01:46:45 +02:00
MDL-64782 tool_monitor: Performance improvement
This commit is contained in:
parent
6d817db08e
commit
acb25c6534
1 changed files with 4 additions and 17 deletions
|
@ -114,29 +114,16 @@ class provider implements
|
||||||
public static function get_users_in_context(userlist $userlist) {
|
public static function get_users_in_context(userlist $userlist) {
|
||||||
$context = $userlist->get_context();
|
$context = $userlist->get_context();
|
||||||
|
|
||||||
if (!is_a($context, \context_user::class)) {
|
if (!$context instanceof \context_user) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$params = [
|
$params = ['userid' => $context->instanceid];
|
||||||
'contextid' => $context->id,
|
|
||||||
'contextuser' => CONTEXT_USER,
|
|
||||||
];
|
|
||||||
|
|
||||||
$sql = "SELECT mr.userid
|
|
||||||
FROM {context} ctx
|
|
||||||
JOIN {tool_monitor_rules} mr ON ctx.instanceid = mr.userid
|
|
||||||
AND ctx.contextlevel = :contextuser
|
|
||||||
WHERE ctx.id = :contextid";
|
|
||||||
|
|
||||||
|
$sql = "SELECT userid FROM {tool_monitor_rules} WHERE userid = :userid";
|
||||||
$userlist->add_from_sql('userid', $sql, $params);
|
$userlist->add_from_sql('userid', $sql, $params);
|
||||||
|
|
||||||
$sql = "SELECT ms.userid
|
$sql = "SELECT userid FROM {tool_monitor_subscriptions} WHERE userid = :userid";
|
||||||
FROM {context} ctx
|
|
||||||
LEFT JOIN {tool_monitor_subscriptions} ms ON ctx.instanceid = ms.userid
|
|
||||||
AND ctx.contextlevel = :contextuser
|
|
||||||
WHERE ctx.id = :contextid";
|
|
||||||
|
|
||||||
$userlist->add_from_sql('userid', $sql, $params);
|
$userlist->add_from_sql('userid', $sql, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue