return false;
}
- if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID)) {
+ if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM)) {
return false;
}
function load_notloggedin_role() {
global $CFG, $USER;
- if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID)) {
+ if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM)) {
return false;
}
function load_defaultuser_role() {
global $CFG, $USER;
- if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID)) {
+ if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM)) {
return false;
}
/// Check the site context for doanything (most common) first
if (empty($switchroleactive)) { // Ignore site setting if switchrole is active
- $sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $sitecontext = get_context_instance(CONTEXT_SYSTEM);
if (isset($capabilities[$sitecontext->id]['moodle/site:doanything'])) {
return (0 < $capabilities[$sitecontext->id]['moodle/site:doanything']);
}
break;
case CONTEXT_PERSONAL:
- $parentcontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $parentcontext = get_context_instance(CONTEXT_SYSTEM);
$permission = capability_search($capability, $parentcontext, $capabilities);
break;
case CONTEXT_USER:
- $parentcontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $parentcontext = get_context_instance(CONTEXT_SYSTEM);
$permission = capability_search($capability, $parentcontext, $capabilities);
break;
if (!empty($coursecat->parent)) { // return parent value if it exists
$parentcontext = get_context_instance(CONTEXT_COURSECAT, $coursecat->parent);
} else { // else return site value
- $parentcontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $parentcontext = get_context_instance(CONTEXT_SYSTEM);
}
$permission = capability_search($capability, $parentcontext, $capabilities);
break;
* i.e. site/metacourse/course_category/course/moduleinstance
* Note we should only load capabilities if they are explicitly assigned already,
* we should not load all module's capability!
- * @param $userid - the id of the user whose capabilities we want to load
- * @return array
- * possible just s simple 2D array with [contextid][capabilityname]
+ *
* [Capabilities] => [26][forum_post] = 1
* [26][forum_start] = -8990
* [26][forum_edit] = -1
* [273][blah blah] = 1
* [273][blah blah blah] = 2
+ *
+ * @param $capability string - Only get a specific capability (string)
+ * @param $context object - Only get capabilities for a specific context object
+ * @param $userid integer - the id of the user whose capabilities we want to load
+ * @return array of permissions (or nothing if they get assigned to $USER)
*/
-function load_user_capability($capability='', $context ='', $userid='') {
+function load_user_capability($capability='', $context = NULL, $userid='') {
global $USER, $CFG;
/// The first part gets the capabilities of orginal role.
/// The second part gets the capabilities of overriden roles.
- $siteinstance = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $siteinstance = get_context_instance(CONTEXT_SYSTEM);
$capabilities = array(); // Reinitialize.
// SQL for normal capabilities
$timesql
GROUP BY
- rc.capability, (c1.contextlevel * 100 + c2.contextlevel), c1.id, c2.id
- HAVING
- rc.permission != 0
+ rc.capability, (c1.contextlevel * 100 + c2.contextlevel), c1.id, c2.id, rc.permission
ORDER BY
aggrlevel ASC
";
global $CFG, $db;
/// Create a system wide context for assignemnt.
- $systemcontext = $context = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $systemcontext = $context = get_context_instance(CONTEXT_SYSTEM);
/// Create default/legacy roles and capabilities.
foreach ($legacyperms as $type => $perm) {
- $systemcontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $systemcontext = get_context_instance(CONTEXT_SYSTEM);
// The legacy capabilities are:
// 'moodle/legacy:guest'
$role->sortorder += 1;
}
- $context = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ if (!$context = get_context_instance(CONTEXT_SYSTEM)) {
+ return false;
+ }
if ($id = insert_record('role', $role)) {
if ($legacy) {
if ($contexts = get_parent_contexts($context)) {
$listofcontexts = '('.implode(',', $contexts).')';
} else {
- $sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $sitecontext = get_context_instance(CONTEXT_SYSTEM);
$listofcontexts = '('.$sitecontext->id.')'; // must be site
}
$contextstr = "AND (rc.contextid = '$context->id' OR rc.contextid IN $listofcontexts)";
break;
case CONTEXT_PERSONAL:
- if (!$parent = get_context_instance(CONTEXT_SYSTEM, SITEID)) {
+ if (!$parent = get_context_instance(CONTEXT_SYSTEM)) {
return array();
} else {
return array($parent->id);
break;
case CONTEXT_USER:
- if (!$parent = get_context_instance(CONTEXT_SYSTEM, SITEID)) {
+ if (!$parent = get_context_instance(CONTEXT_SYSTEM)) {
return array();
} else {
return array($parent->id);
$parent = get_context_instance(CONTEXT_COURSECAT, $coursecat->parent);
return array_merge(array($parent->id), get_parent_contexts($parent));
} else { // else return site value
- $parent = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $parent = get_context_instance(CONTEXT_SYSTEM);
return array($parent->id);
}
break;
/// Sorting out roles with this capability set
if ($possibleroles = get_roles_with_capability($capability, CAP_ALLOW, $context)) {
if (!$doanything) {
- if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID)) {
+ if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM)) {
return false; // Something is seriously wrong
}
$doanythingroles = get_roles_with_capability('moodle/site:doanything', CAP_ALLOW, $sitecontext);
return false;
}
- if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID)) {
+ if (!$sitecontext = get_context_instance(CONTEXT_SYSTEM)) {
return false;
}