Merge branch 'MDL-84898-prohibitjoin-51' of https://github.com/leonstr/moodle into MOODLE_501_STABLE

This commit is contained in:
Huong Nguyen
2025-12-02 10:38:13 +07:00
+7 -8
View File
@@ -3796,14 +3796,13 @@ function get_with_capability_join(context $context, $capability, $useridcolumn)
AND roleid IN (" . implode(',', array_keys($prohibited[$cap])) . "))";
} else {
$unions[] = "SELECT userid
FROM {role_assignments}
WHERE contextid IN ($ctxids) AND roleid IN (" . implode(',', array_keys($needed[$cap])) . ")
AND userid NOT IN (
SELECT userid
FROM {role_assignments}
WHERE contextid IN ($ctxids)
AND roleid IN (" . implode(',', array_keys($prohibited[$cap])) . "))";
$unions[] = "SELECT ra.userid
FROM {role_assignments} ra
LEFT JOIN {role_assignments} rap ON (rap.userid = ra.userid
AND rap.contextid IN ($ctxids)
AND rap.roleid IN (" . implode(',', array_keys($prohibited[$cap])) . "))
WHERE ra.contextid IN ($ctxids) AND ra.roleid IN (" . implode(',', array_keys($needed[$cap])) . ")
AND rap.id IS NULL";
}
}
}