mirror of
https://github.com/moodle/moodle.git
synced 2025-08-06 01:16:44 +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) {
|
||||
$context = $userlist->get_context();
|
||||
|
||||
if (!is_a($context, \context_user::class)) {
|
||||
if (!$context instanceof \context_user) {
|
||||
return;
|
||||
}
|
||||
|
||||
$params = [
|
||||
'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";
|
||||
$params = ['userid' => $context->instanceid];
|
||||
|
||||
$sql = "SELECT userid FROM {tool_monitor_rules} WHERE userid = :userid";
|
||||
$userlist->add_from_sql('userid', $sql, $params);
|
||||
|
||||
$sql = "SELECT ms.userid
|
||||
FROM {context} ctx
|
||||
LEFT JOIN {tool_monitor_subscriptions} ms ON ctx.instanceid = ms.userid
|
||||
AND ctx.contextlevel = :contextuser
|
||||
WHERE ctx.id = :contextid";
|
||||
|
||||
$sql = "SELECT userid FROM {tool_monitor_subscriptions} WHERE userid = :userid";
|
||||
$userlist->add_from_sql('userid', $sql, $params);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue