Skip to content

Commit

Permalink
MDL-63785 block_html : performance improvement
Browse files Browse the repository at this point in the history
  • Loading branch information
rezaies committed Dec 10, 2018
1 parent e68a25f commit d426992
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions blocks/html/classes/privacy/provider.php
Original file line number Diff line number Diff line change
Expand Up @@ -98,23 +98,26 @@ public static function get_contexts_for_userid(int $userid) : \core_privacy\loca
* @param userlist $userlist The userlist containing the list of users who have data in this context/plugin combination.
*/
public static function get_users_in_context(userlist $userlist) {
// This block doesn't know who information is stored against unless it
// is at the user context.
$context = $userlist->get_context();

if (!is_a($context, \context_block::class)) {
if (!$context instanceof \context_block) {
return;
}

$sql = "SELECT bpc.instanceid AS userid
FROM {block_instances} bi
JOIN {context} bpc ON bpc.id = bi.parentcontextid
WHERE bi.blockname = 'html'
AND bpc.contextlevel = :contextuser
AND bi.id = :blockinstanceid";

$params = [
'contextid' => $context->id,
'contextuser' => CONTEXT_USER,
'blockinstanceid' => $context->instanceid
];

$sql = "SELECT bpc.instanceid AS userid
FROM {context} c
JOIN {block_instances} bi ON bi.id = c.instanceid AND bi.blockname = 'html'
JOIN {context} bpc ON bpc.id = bi.parentcontextid AND bpc.contextlevel = :contextuser
WHERE c.id = :contextid";

$userlist->add_from_sql('userid', $sql, $params);
}

Expand Down

0 comments on commit d426992

Please sign in to comment.