/// If the current user is not logged in, then make sure they are
if (empty($userid) and empty($USER->id)) {
- if ($context && ($context->aggregatelevel == CONTEXT_COURSE)) {
+ if ($context && ($context->contextlevel == CONTEXT_COURSE)) {
require_login($context->instanceid);
} else {
require_login();
}
}
- switch ($context->aggregatelevel) {
+ switch ($context->contextlevel) {
case CONTEXT_COURSECAT:
// Check parent cats.
global $USER, $CFG;
if (isset($capabilities[$context->id][$capability])) {
- debugging("Found $capability in context $context->id at level $context->aggregatelevel: ".$capabilities[$context->id][$capability], E_ALL);
+ debugging("Found $capability in context $context->id at level $context->contextlevel: ".$capabilities[$context->id][$capability], E_ALL);
return ($capabilities[$context->id][$capability]);
}
/* Then, we check the cache recursively */
$permission = 0;
- switch ($context->aggregatelevel) {
+ switch ($context->contextlevel) {
case CONTEXT_SYSTEM: // by now it's a definite an inherit
$permission = 0;
error ('This is an unknown context!');
return false;
}
- debugging("Found $capability recursively from context $context->id at level $context->aggregatelevel: $permission", E_ALL);
+ debugging("Found $capability recursively from context $context->id at level $context->contextlevel: $permission", E_ALL);
return $permission;
}
$siteinstance = get_context_instance(CONTEXT_SYSTEM, SITEID);
- $SQL = " SELECT rc.capability, c1.id, (c1.aggregatelevel * 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,
$capsearch
$timesql
GROUP BY
- rc.capability, (c1.aggregatelevel * 100), c1.id
+ rc.capability, (c1.contextlevel * 100), c1.id
HAVING
SUM(rc.permission) != 0
UNION
- SELECT rc.capability, c1.id, (c1.aggregatelevel * 100 + c2.aggregatelevel) AS aggrlevel,
+ SELECT rc.capability, c1.id, (c1.contextlevel * 100 + c2.contextlevel) AS aggrlevel,
SUM(rc.permission) AS sum
FROM
{$CFG->prefix}role_assignments ra,
$timesql
GROUP BY
- rc.capability, (c1.aggregatelevel * 100 + c2.aggregatelevel), c1.id
+ rc.capability, (c1.contextlevel * 100 + c2.contextlevel), c1.id
HAVING
SUM(rc.permission) != 0
ORDER BY
foreach ($array as $key=>$val) {
if ($key == 'aggrlevel') {
- $temprecord->aggregatelevel = $val;
+ $temprecord->contextlevel = $val;
} else {
$temprecord->{$key} = $val;
}
}
/* so up to this point we should have somethign like this
- * $capabilities[1] ->aggregatelevel = 1000
+ * $capabilities[1] ->contextlevel = 1000
->module = SITEID
->capability = do_anything
->id = 1 (id is the context id)
->sum = 0
- * $capabilities[2] ->aggregatelevel = 1000
+ * $capabilities[2] ->contextlevel = 1000
->module = SITEID
->capability = post_messages
->id = 1
->sum = -9000
- * $capabilittes[3] ->aggregatelevel = 3000
+ * $capabilittes[3] ->contextlevel = 3000
->module = course
->capability = view_course_activities
->id = 25
->sum = 1
- * $capabilittes[4] ->aggregatelevel = 3000
+ * $capabilittes[4] ->contextlevel = 3000
->module = course
->capability = view_course_activities
->id = 26
->sum = 0 (this is another course)
- * $capabilities[5] ->aggregatelevel = 3050
+ * $capabilities[5] ->contextlevel = 3050
->module = course
->capability = view_course_activities
->id = 25 (override in course 25)
return true;
}
}
- switch ($context->aggregatelevel) {
+ switch ($context->contextlevel) {
case CONTEXT_SYSTEM:
// By now it's a definite an inherit.
* @param $level
* @param $instanceid
*/
-function create_context($aggregatelevel, $instanceid) {
- if (!get_record('context','aggregatelevel',$aggregatelevel,'instanceid',$instanceid)) {
+function create_context($contextlevel, $instanceid) {
+ if (!get_record('context','contextlevel',$contextlevel,'instanceid',$instanceid)) {
$context = new object;
- $context->aggregatelevel = $aggregatelevel;
+ $context->contextlevel = $contextlevel;
$context->instanceid = $instanceid;
return insert_record('context',$context);
}
* @param $level
* @param $instance
*/
-function get_context_instance($aggregatelevel=NULL, $instance=SITEID) {
+function get_context_instance($contextlevel=NULL, $instance=SITEID) {
global $context_cache, $context_cache_id, $CONTEXT;
/// If no level is supplied then return the current global context if there is one
- if (empty($aggregatelevel)) {
+ if (empty($contextlevel)) {
if (empty($CONTEXT)) {
debugging("Error: get_context_instance() called without a context");
} else {
}
/// Check the cache
- if (isset($context_cache[$aggregatelevel][$instance])) { // Already cached
- return $context_cache[$aggregatelevel][$instance];
+ if (isset($context_cache[$contextlevel][$instance])) { // Already cached
+ return $context_cache[$contextlevel][$instance];
}
/// Get it from the database, or create it
- if (!$context = get_record('context', 'aggregatelevel', $aggregatelevel, 'instanceid', $instance)) {
- create_context($aggregatelevel, $instance);
- $context = get_record('context', 'aggregatelevel', $aggregatelevel, 'instanceid', $instance);
+ if (!$context = get_record('context', 'contextlevel', $contextlevel, 'instanceid', $instance)) {
+ create_context($contextlevel, $instance);
+ $context = get_record('context', 'contextlevel', $contextlevel, 'instanceid', $instance);
}
/// Only add to cache if context isn't empty.
if (!empty($context)) {
- $context_cache[$aggregatelevel][$instance] = $context; // Cache it for later
+ $context_cache[$contextlevel][$instance] = $context; // Cache it for later
$context_cache_id[$context->id] = $context; // Cache it for later
}
}
if ($context = get_record('context', 'id', $id)) { // Update the cache and return
- $context_cache[$context->aggregatelevel][$context->instanceid] = $context;
+ $context_cache[$context->contextlevel][$context->instanceid] = $context;
$context_cache_id[$context->id] = $context;
return $context;
}
}
/// now handle metacourse role assignments if in course context
- if ($success and $context->aggregatelevel == CONTEXT_COURSE) {
+ if ($success and $context->contextlevel == CONTEXT_COURSE) {
if ($parents = get_records('course_meta', 'child_course', $context->instanceid)) {
foreach ($parents as $parent) {
sync_metacourse($parent->parent_course);
}
/// now handle metacourse role unassigment and removing from goups if in course context
- if (!empty($context) and $context->aggregatelevel == CONTEXT_COURSE) {
+ if (!empty($context) and $context->contextlevel == CONTEXT_COURSE) {
//remove from groups when user has no role
$roles = get_user_roles($context, $ra->userid, true);
if (empty($roles)) {
global $USER, $CFG;
- if (empty($context->aggregatelevel)) {
+ if (empty($context->contextlevel)) {
return false;
}
$lastaccess->userid = $userid;
$lastaccess->timeaccess = 0;
- switch ($context->aggregatelevel) {
+ switch ($context->contextlevel) {
case CONTEXT_SYSTEM: // For the whole site
if ($courses = get_record('course')) {
function print_context_name($context) {
$name = '';
- switch ($context->aggregatelevel) {
+ switch ($context->contextlevel) {
case CONTEXT_SYSTEM: // by now it's a definite an inherit
$name = get_string('site');
$sort = 'ORDER BY contextlevel,component,id'; // To group them sensibly for display
- switch ($context->aggregatelevel) {
+ switch ($context->contextlevel) {
case CONTEXT_SYSTEM: // all
$SQL = "select * from {$CFG->prefix}capabilities";
$records = array_merge($records, $contextindependentcaps);
// special sorting of core system capabiltites and enrollments
- if ($context->aggregatelevel == CONTEXT_SYSTEM) {
+ if ($context->contextlevel == CONTEXT_SYSTEM) {
$first = array();
foreach ($records as $key=>$record) {
if (preg_match('|^moodle/|', $record->name) and $record->contextlevel == CONTEXT_SYSTEM) {
WHERE rc.contextid in $contexts
AND rc.roleid = $roleid
AND rc.contextid = c.id $search
- ORDER BY c.aggregatelevel DESC,
+ ORDER BY c.contextlevel DESC,
rc.capability DESC";
$capabilities = array();
*/
function get_parent_contexts($context) {
- switch ($context->aggregatelevel) {
+ switch ($context->contextlevel) {
case CONTEXT_SYSTEM: // no parent
return array();
' AND ra.roleid = r.id
AND ra.contextid = c.id
AND '.$contexts.
- ' ORDER BY c.aggregatelevel DESC');
+ ' ORDER BY c.contextlevel DESC');
}
/**
$sortby = $sort ? " ORDER BY $sort " : '';
/// If context is a course, then construct sql for ul
- if ($context->aggregatelevel == CONTEXT_COURSE) {
+ if ($context->contextlevel == CONTEXT_COURSE) {
$courseid = $context->instanceid;
$coursesql = "AND (ul.courseid = $courseid OR ul.courseid IS NULL)";
} else {
FROM '.$CFG->prefix.'role_assignments ra
INNER JOIN '.$CFG->prefix.'role r_outmost ON (ra.roleid=r_outmost.id)
INNER JOIN '.$CFG->prefix.'context c ON ra.contextid = c.id
- WHERE roleid='.$role->id.' AND c.instanceid='.$course->id.' AND c.aggregatelevel = '.CONTEXT_COURSE.'
+ WHERE roleid='.$role->id.' AND c.instanceid='.$course->id.' AND c.contextlevel = '.CONTEXT_COURSE.'
AND NOT EXISTS
(SELECT 1
FROM '.$CFG->prefix.'role_assignments
INNER JOIN '.$CFG->prefix.'role ON ('.$CFG->prefix.'role.id=roleid)
INNER JOIN '.$CFG->prefix.'context ON contextid = c.id
- WHERE instanceid='.$course->id.' AND userid=ra.userid AND c.aggregatelevel = '.CONTEXT_COURSE.'
+ WHERE instanceid='.$course->id.' AND userid=ra.userid AND c.contextlevel = '.CONTEXT_COURSE.'
AND '.$CFG->prefix.'role.sortorder < r_outmost.sortorder
)';
INNER JOIN '.$CFG->prefix.'role r_outmost ON (ra.roleid=r_outmost.id)
INNER JOIN '.$CFG->prefix.'context c ON ra.contextid = c.id
INNER JOIN '.$CFG->prefix.'log l ON (ra.userid=l.userid AND course=instanceid)
- WHERE roleid='.$role->id.' AND instanceid='.$course->id.' AND '.$timesql.' AND c.aggregatelevel = '.CONTEXT_COURSE.'
+ WHERE roleid='.$role->id.' AND instanceid='.$course->id.' AND '.$timesql.' AND c.contextlevel = '.CONTEXT_COURSE.'
AND NOT EXISTS
(SELECT 1
FROM '.$CFG->prefix.'role_assignments
INNER JOIN '.$CFG->prefix.'role ON (mdl_role.id=roleid)
INNER JOIN '.$CFG->prefix.'context c ON contextid = c.id
- WHERE instanceid='.$course->id.' AND userid=ra.userid AND c.aggregatelevel = '.CONTEXT_COURSE.'
+ WHERE instanceid='.$course->id.' AND userid=ra.userid AND c.contextlevel = '.CONTEXT_COURSE.'
AND '.$CFG->prefix.'role.sortorder < r_outmost.sortorder
)';
INNER JOIN '.$CFG->prefix.'role r_outmost ON (ra.roleid=r_outmost.id)
INNER JOIN '.$CFG->prefix.'context c ON ra.contextid = c.id
INNER JOIN '.$CFG->prefix.'log l ON (ra.userid=l.userid AND course=instanceid)
- WHERE roleid='.$role->id.' AND instanceid='.$course->id.' AND c.aggregatelevel = '.CONTEXT_COURSE.'
+ WHERE roleid='.$role->id.' AND instanceid='.$course->id.' AND c.contextlevel = '.CONTEXT_COURSE.'
AND '.$timesql.' '.stats_get_action_sql_in('view').'
AND NOT EXISTS
(SELECT 1
FROM '.$CFG->prefix.'role_assignments
INNER JOIN '.$CFG->prefix.'role ON (mdl_role.id=roleid)
INNER JOIN '.$CFG->prefix.'context c ON contextid = c.id
- WHERE instanceid='.$course->id.' AND userid=ra.userid AND c.aggregatelevel = '.CONTEXT_COURSE.'
+ WHERE instanceid='.$course->id.' AND userid=ra.userid AND c.contextlevel = '.CONTEXT_COURSE.'
AND '.$CFG->prefix.'role.sortorder < r_outmost.sortorder
)';
INNER JOIN '.$CFG->prefix.'role r_outmost ON (ra.roleid=r_outmost.id)
INNER JOIN '.$CFG->prefix.'context c ON ra.contextid = c.id
INNER JOIN '.$CFG->prefix.'log l ON (ra.userid=l.userid AND course=instanceid)
- WHERE roleid='.$role->id.' AND instanceid='.$course->id.' AND c.aggregatelevel = '.CONTEXT_COURSE.'
+ WHERE roleid='.$role->id.' AND instanceid='.$course->id.' AND c.contextlevel = '.CONTEXT_COURSE.'
AND '.$timesql.' '.stats_get_action_sql_in('post').'
AND NOT EXISTS
(SELECT 1
FROM '.$CFG->prefix.'role_assignments
INNER JOIN '.$CFG->prefix.'role ON (mdl_role.id=roleid)
INNER JOIN '.$CFG->prefix.'context c ON contextid = c.id
- WHERE instanceid='.$course->id.' AND userid=ra.userid AND c.aggregatelevel = '.CONTEXT_COURSE.'
+ WHERE instanceid='.$course->id.' AND userid=ra.userid AND c.contextlevel = '.CONTEXT_COURSE.'
AND '.$CFG->prefix.'role.sortorder < r_outmost.sortorder
)';
$stat->stat2 = count_records_sql($sql);
$sql = 'SELECT active_course_users.userid,
(SELECT roleid FROM '.$CFG->prefix.'role_assignments INNER JOIN '.$CFG->prefix.'role a_u_r ON roleid=a_u_r.id
INNER JOIN '.$CFG->prefix.'context c ON contextid = c.id
- WHERE instanceid='.$course->id.' AND c.aggregatelevel = '.CONTEXT_COURSE.' AND userid=active_course_users.userid
+ WHERE instanceid='.$course->id.' AND c.contextlevel = '.CONTEXT_COURSE.' AND userid=active_course_users.userid
AND NOT EXISTS (SELECT 1 FROM '.$CFG->prefix.'role_assignments o_r_a
INNER JOIN '.$CFG->prefix.'role o_r ON o_r_a.roleid = o_r.id
INNER JOIN '.$CFG->prefix.'context c on contextid = c.id
WHERE o_r.sortorder < a_u_r.sortorder AND c.instanceid = '.$course->id.'
- AND c.aggregatelevel = '.CONTEXT_COURSE.' AND o_r_a.userid = active_course_users.userid
+ AND c.contextlevel = '.CONTEXT_COURSE.' AND o_r_a.userid = active_course_users.userid
)
) AS primaryrole
FROM (SELECT DISTINCT userid FROM '.$CFG->prefix.'log l WHERE course='.$course->id.' AND '.$timesql.') active_course_users';