if ($usercontexts) {
$listofcontexts = '('.implode(',', $usercontexts).')';
$searchcontexts1 = "c1.id IN $listofcontexts AND";
- $searchcontexts2 = "c2.id IN $listofcontexts AND";
} else {
- $listofcontexts = $searchcontexts1 = $searchcontexts2 = '';
+ $searchcontexts1 = '';
}
-
+
if ($capability) {
$capsearch = " AND rc.capability = '$capability' ";
} else {
$siteinstance = get_context_instance(CONTEXT_SYSTEM, SITEID);
- $SQL = " SELECT rc.capability, c1.id, (c1.contextlevel * 100) AS aggrlevel,
+ $SQL = " SELECT rc.capability, c1.id, (c1.contextlevel * 100) AS aggrlevel,
SUM(rc.permission) AS sum
FROM
{$CFG->prefix}role_assignments ra,
SUM(rc.permission) != 0
UNION
- SELECT rc.capability, c1.id, (c1.contextlevel * 100 + c2.contextlevel) AS aggrlevel,
+ SELECT rc.capability, c2.id, (c1.contextlevel * 100 + c2.contextlevel) AS aggrlevel,
SUM(rc.permission) AS sum
FROM
{$CFG->prefix}role_assignments ra,
ra.userid=$userid AND
rc.contextid=c2.id AND
$searchcontexts1
- $searchcontexts2
rc.contextid != $siteinstance->id
$capsearch
$timesql
GROUP BY
- rc.capability, (c1.contextlevel * 100 + c2.contextlevel), c1.id
+ rc.capability, (c1.contextlevel * 100 + c2.contextlevel), c2.id, c1.id
HAVING
SUM(rc.permission) != 0
ORDER BY