Moodle PHP Documentation 4.1
Moodle 4.1dev (Build: 20220512) (5e5e12e0)
|
Namespaces | |
namespace | core\event |
| |
Classes | |
class | context |
class | context_course |
class | context_coursecat |
class | context_helper |
class | context_module |
class | context_system |
class | context_user |
class | core\event\context_locked |
Event triggered after a context has been frozen. More... | |
class | core\event\context_unlocked |
Event triggered after a context has been unfrozen. More... | |
class | require_login_exception |
Course/activity access exception. More... | |
class | require_login_session_timeout_exception |
Session timeout exception. More... | |
class | required_capability_exception |
Exceptions indicating user does not have permissions to do something and the execution can not continue. More... | |
Functions | |
context_helper::__construct () | |
Instance does not make sense here, only static use. | |
context::__construct (stdClass $record) | |
Constructor is protected so that devs are forced to use context_xxx::instance() or context::instance_by_id(). More... | |
context_system::__construct (stdClass $record) | |
Please use context_system::instance() if you need the instance of context. More... | |
context_user::__construct (stdClass $record) | |
Please use context_user::instance($userid) if you need the instance of context. More... | |
context_coursecat::__construct (stdClass $record) | |
Please use context_coursecat::instance($coursecatid) if you need the instance of context. More... | |
context_course::__construct (stdClass $record) | |
Please use context_course::instance($courseid) if you need the instance of context. More... | |
context_module::__construct (stdClass $record) | |
Please use context_module::instance($cmid) if you need the instance of context. More... | |
context::__get ($name) | |
Magic method getter, redirects to read only values. More... | |
context::__isset ($name) | |
Full support for isset on our magic read only properties. More... | |
context::__set ($name, $value) | |
Magic setter method, we do not want anybody to modify properties from the outside. More... | |
context::__unset ($name) | |
All properties are read only, sorry. More... | |
assign_capability ($capability, $permission, $roleid, $contextid, $overwrite=false) | |
Function to write context specific overrides, or default capabilities. More... | |
assign_legacy_capabilities ($capability, $legacyperms) | |
Assign the defaults found in this capability definition to roles that have the corresponding legacy capabilities assigned to them. More... | |
static | context_helper::build_all_paths ($force=false) |
Rebuild paths and depths in all context levels. More... | |
static | context::build_paths ($force) |
Rebuild context paths and depths at context level. More... | |
static | context_system::build_paths ($force) |
Rebuild context paths and depths at system context level. More... | |
static | context_user::build_paths ($force) |
Rebuild context paths and depths at user context level. More... | |
static | context_coursecat::build_paths ($force) |
Rebuild context paths and depths at course category context level. More... | |
static | context_course::build_paths ($force) |
Rebuild context paths and depths at course context level. More... | |
static | context_module::build_paths ($force) |
Rebuild context paths and depths at module context level. More... | |
static | context::cache_add (context $context) |
Adds a context to the cache. More... | |
static | context::cache_get ($contextlevel, $instance) |
Gets a context from the cache. More... | |
static | context::cache_get_by_id ($id) |
Gets a context from the cache based on its id. More... | |
static | context::cache_remove (context $context) |
Removes a context from the cache. More... | |
can_access_course (stdClass $course, $user=null, $withcapability='', $onlyactive=false) | |
Returns true if the user is able to access the course. More... | |
static | context_helper::cleanup_instances () |
Remove stale contexts that belonged to deleted instances. More... | |
component_level_changed ($cap, $comp, $contextlevel) | |
Aids in detecting if a new line is required when reading a new capability. More... | |
core_role_set_assign_allowed ($fromroleid, $targetroleid) | |
Creates a record in the role_allow_assign table. More... | |
core_role_set_override_allowed ($fromroleid, $targetroleid) | |
Creates a record in the role_allow_override table. More... | |
core_role_set_switch_allowed ($fromroleid, $targetroleid) | |
Creates a record in the role_allow_switch table. More... | |
core_role_set_view_allowed ($fromroleid, $targetroleid) | |
Creates a record in the role_allow_view table. More... | |
count_role_users ($roleid, context $context, $parent=false) | |
Counts all the users assigned this role in this context or higher. More... | |
static | context::create_instance_from_record (stdClass $record) |
This function is also used to work around 'protected' keyword problems in context_helper. More... | |
static | context_helper::create_instances ($contextlevel=null, $buildpaths=true) |
Create all context instances at the given level and above. More... | |
static | context::create_level_instances () |
Create missing context instances at given level. More... | |
static | context_system::create_level_instances () |
Create missing context instances at system context. More... | |
static | context_user::create_level_instances () |
Create missing context instances at user context level. More... | |
static | context_coursecat::create_level_instances () |
Create missing context instances at course category context level. More... | |
static | context_course::create_level_instances () |
Create missing context instances at course context level. More... | |
static | context_module::create_level_instances () |
Create missing context instances at module context level. More... | |
create_role ($name, $shortname, $description, $archetype='') | |
Function that creates a role. More... | |
context::delete () | |
Delete the context content and the context record itself. | |
context::delete_capabilities () | |
Unassign all capabilities from a context. | |
context::delete_content () | |
Delete all data linked to content, do not delete the context record itself. | |
static | context_helper::delete_instance ($contextlevel, $instanceid) |
Delete context instance. More... | |
delete_role ($roleid) | |
Function that deletes a role and cleanups up after it. More... | |
fix_role_sortorder ($allroles) | |
Fix the roles.sortorder field in the database, so it contains sequential integers, and return an array of roleids in order. More... | |
get_all_capabilities () | |
Returns all capabilitiy records, preferably from MUC and not database. More... | |
static | context_helper::get_all_levels () |
Returns a list of all context levels. More... | |
get_all_risks () | |
Returns an array of all the known types of risk The array keys can be used, for example as CSS class names, or in calls to print_risk_icon. More... | |
get_all_roles (context $context=null) | |
Returns all site roles in correct sort order. More... | |
get_archetype_roles ($archetype) | |
Returns roles of a specified archetype. More... | |
get_assignable_roles (context $context, $rolenamedisplay=ROLENAME_ALIAS, $withusercounts=false, $user=null) | |
Gets a list of roles that this user can assign in this context. More... | |
context::get_capabilities (string $sort=self::DEFAULT_CAPABILITY_SORT) | |
Returns array of relevant context capability records. More... | |
context_helper::get_capabilities (string $sort=self::DEFAULT_CAPABILITY_SORT) | |
not used More... | |
context_system::get_capabilities (string $sort=self::DEFAULT_CAPABILITY_SORT) | |
Returns array of relevant context capability records. More... | |
context_user::get_capabilities (string $sort=self::DEFAULT_CAPABILITY_SORT) | |
Returns array of relevant context capability records. More... | |
context_coursecat::get_capabilities (string $sort=self::DEFAULT_CAPABILITY_SORT) | |
Returns array of relevant context capability records. More... | |
context_course::get_capabilities (string $sort=self::DEFAULT_CAPABILITY_SORT) | |
Returns array of relevant context capability records. More... | |
context_module::get_capabilities (string $sort=self::DEFAULT_CAPABILITY_SORT) | |
Returns array of relevant context capability records. More... | |
get_capabilities_from_role_on_context ($role, context $context) | |
Get all capabilities for this role on this context (overrides) More... | |
get_capability_docs_link ($capability) | |
Return a link to moodle docs for a given capability name. More... | |
get_capability_info ($capabilityname) | |
Returns capability information (cached) More... | |
get_capability_string ($capabilityname) | |
Returns the human-readable, translated version of the capability. More... | |
context::get_child_contexts () | |
Recursive function which, given a context, find all its children context ids. More... | |
context_system::get_child_contexts () | |
Returns all site contexts except the system context, DO NOT call on production servers!! More... | |
context_coursecat::get_child_contexts () | |
Returns immediate child contexts of category and all subcategories, children of subcategories and courses are not returned. More... | |
static | context_helper::get_class_for_level ($contextlevel) |
Returns a class name of the context level class. More... | |
static | context::get_cleanup_sql () |
Returns sql necessary for purging of stale context instances. More... | |
static | context_system::get_cleanup_sql () |
Returns sql necessary for purging of stale context instances. More... | |
static | context_user::get_cleanup_sql () |
Returns sql necessary for purging of stale context instances. More... | |
static | context_coursecat::get_cleanup_sql () |
Returns sql necessary for purging of stale context instances. More... | |
static | context_course::get_cleanup_sql () |
Returns sql necessary for purging of stale context instances. More... | |
static | context_module::get_cleanup_sql () |
Returns sql necessary for purging of stale context instances. More... | |
get_component_string ($component, $contextlevel) | |
This gets the mod/block/course/core etc strings. More... | |
get_context_info_array ($contextid) | |
Returns context instance plus related course and cm instances. More... | |
context::get_context_name ($withprefix=true, $short=false, $escape=true) | |
Returns human readable context identifier. More... | |
context_system::get_context_name ($withprefix=true, $short=false, $escape=true) | |
Returns human readable context identifier. More... | |
context_user::get_context_name ($withprefix=true, $short=false, $escape=true) | |
Returns human readable context identifier. More... | |
context_coursecat::get_context_name ($withprefix=true, $short=false, $escape=true) | |
Returns human readable context identifier. More... | |
context_course::get_context_name ($withprefix=true, $short=false, $escape=true) | |
Returns human readable context identifier. More... | |
context_module::get_context_name ($withprefix=true, $short=false, $escape=true) | |
Returns human readable context identifier. More... | |
context::get_course_context ($strict=true) | |
Is this context part of any course? If yes return course context. More... | |
context_course::get_course_context ($strict=true) | |
Is this context part of any course? If yes return course context. More... | |
context_module::get_course_context ($strict=true) | |
Is this context part of any course? If yes return course context. More... | |
get_default_capabilities ($archetype) | |
Returns default capabilities for given role archetype. More... | |
get_default_contextlevels ($rolearchetype) | |
Returns default context levels where roles can be assigned. More... | |
get_default_role_archetype_allows ($type, $archetype) | |
Return default roles that can be assigned, overridden or switched by give role archetype. More... | |
get_guest_role () | |
Get the default guest role, this is used for guest account, search engine spiders, etc. More... | |
static | context_helper::get_level_name ($contextlevel) |
Returns the name of specified context level. More... | |
static | context_system::get_level_name () |
Returns human readable context level name. More... | |
static | context_user::get_level_name () |
Returns human readable context level name. More... | |
static | context_coursecat::get_level_name () |
Returns human readable context level name. More... | |
static | context_course::get_level_name () |
Returns human readable context level name. More... | |
static | context_module::get_level_name () |
Returns human readable context level name. More... | |
get_local_override ($roleid, $contextid, $capability) | |
Get the local override (if any) for a given capability in a role in a context. More... | |
static | context_helper::get_navigation_filter_context (?context $context) |
Gets the current context to be used for navigation tree filtering. More... | |
get_overridable_roles (context $context, $rolenamedisplay=ROLENAME_ALIAS, $withcounts=false) | |
Gets a list of roles that this user can override in this context. More... | |
context::get_parent_context () | |
Returns parent context. More... | |
context::get_parent_context_ids ($includeself=false) | |
Returns parent context ids of this context in reversed order, i.e. More... | |
context::get_parent_context_paths ($includeself=false) | |
Returns parent context paths of this context. More... | |
context::get_parent_contexts ($includeself=false) | |
Returns parent contexts of this context in reversed order, i.e. More... | |
static | context_helper::get_preload_record_columns ($tablealias) |
Returns all fields necessary for context preloading from user $rec. More... | |
static | context_helper::get_preload_record_columns_sql ($tablealias) |
Returns all fields necessary for context preloading from user $rec. More... | |
get_profile_roles (context $context) | |
Gets the list of roles assigned to this context and up (parents) from the aggregation of: a) the list of roles that are visible on user profile page and participants page (profileroles setting) and; b) if applicable, those roles that are assigned in the context. More... | |
get_role_archetypes () | |
Returns array of all role archetypes. More... | |
get_role_contextlevels ($roleid) | |
Return context levels where this role is assignable. More... | |
get_role_definitions (array $roleids) | |
Fetch raw "site wide" role definitions. More... | |
get_role_definitions_uncached (array $roleids) | |
Query raw "site wide" role definitions. More... | |
get_role_names_with_caps_in_context ($context, $capabilities) | |
Returns an array of role names that have ALL of the the supplied capabilities Uses get_roles_with_caps_in_context(). More... | |
get_role_users ($roleid, context $context, $parent=false, $fields='', $sort=null, $all=true, $group='', $limitfrom='', $limitnum='', $extrawheretest='', $whereorsortparams=array()) | |
Gets all the users assigned this role in this context or higher. More... | |
get_roles_for_contextlevels ($contextlevel) | |
Return roles suitable for assignment at the specified context level. More... | |
get_roles_used_in_context (context $context, $includeparents=true) | |
Gets the list of roles assigned to this context and up (parents) More... | |
get_roles_with_cap_in_context ($context, $capability) | |
Returns two lists, this can be used to find out if user has capability. More... | |
get_roles_with_capability ($capability, $permission=null, $context=null) | |
Get the roles that have a given capability assigned to it. More... | |
get_roles_with_caps_in_context ($context, $capabilities) | |
Returns an array of role IDs that have ALL of the the supplied capabilities Uses get_roles_with_cap_in_context(). More... | |
get_roles_with_override_on_context (context $context) | |
Get any role that has an override on exact context. More... | |
get_switchable_roles (context $context, $rolenamedisplay=ROLENAME_ALIAS) | |
Gets a list of roles that this user can switch to in a context. More... | |
context::get_url () | |
Returns the most relevant URL for this context. More... | |
context_helper::get_url () | |
not used More... | |
context_system::get_url () | |
Returns the most relevant URL for this context. More... | |
context_user::get_url () | |
Returns the most relevant URL for this context. More... | |
context_coursecat::get_url () | |
Returns the most relevant URL for this context. More... | |
context_course::get_url () | |
Returns the most relevant URL for this context. More... | |
context_module::get_url () | |
Returns the most relevant URL for this context. More... | |
get_user_capability_contexts (string $capability, bool $getcategories, $userid=null, $doanything=true, $coursefieldsexceptid='', $categoryfieldsexceptid='', $courseorderby='', $categoryorderby='', $limit=0) | |
This function gets the list of course and course category contexts that this user has a particular capability in. More... | |
get_user_capability_course ($capability, $userid=null, $doanything=true, $fieldsexceptid='', $orderby='', $limit=0) | |
This function gets the list of courses that this user has a particular capability in. More... | |
get_user_roles (context $context, $userid=0, $checkparentcontexts=true, $order='c.contextlevel DESC, r.sortorder ASC') | |
Gets all the user roles assigned in this context, or higher contexts this is mainly used when checking if a user can assign a role, or overriding a role i.e. More... | |
get_user_roles_in_course ($userid, $courseid) | |
This function is used to print roles column in user profile page. More... | |
get_user_roles_with_special (context $context, $userid=0) | |
Like get_user_roles, but adds in the authenticated user role, and the front page roles, if applicable. More... | |
get_users_by_capability (context $context, $capability, $fields='', $sort='', $limitfrom='', $limitnum='', $groups='', $exceptions='', $notuseddoanything=null, $notusedview=null, $useviewallgroups=false) | |
Who has this capability in this context? More... | |
get_users_from_role_on_context ($role, context $context) | |
Find all user assignment of users for this role, on this context. More... | |
get_users_roles (context $context, $userids=[], $checkparentcontexts=true, $order='c.contextlevel DESC, r.sortorder ASC') | |
Gets all the user roles assigned in this context, or higher contexts for a list of users. More... | |
get_viewable_roles (context $context, $userid=null, $rolenamedisplay=ROLENAME_ALIAS) | |
Gets a list of roles that this user can view in a context. More... | |
get_with_capability_join (context $context, $capability, $useridcolumn) | |
Gets sql joins for finding users with capability in the given context. More... | |
context::getIterator () | |
Create an iterator because magic vars can't be seen by 'foreach'. More... | |
guess_if_creator_will_have_course_capability ($capability, context $context, $user=null) | |
has_all_capabilities (array $capabilities, context $context, $user=null, $doanything=true) | |
has_any_capability (array $capabilities, context $context, $user=null, $doanything=true) | |
has_capability ($capability, context $context, $user=null, $doanything=true) | |
has_coursecontact_role ($userid) | |
Returns true if user has at least one role assign of 'coursecontact' role (is potentially listed in some course descriptions). More... | |
static | context::insert_context_record ($contextlevel, $instanceid, $parentpath) |
Utility method for context creation. More... | |
static | context_coursecat::instance ($categoryid, $strictness=MUST_EXIST) |
Returns course category context instance. More... | |
static | context_module::instance ($cmid, $strictness=MUST_EXIST) |
Returns module context instance. More... | |
static | context_course::instance ($courseid, $strictness=MUST_EXIST) |
Returns course context instance. More... | |
static | context_system::instance ($instanceid=0, $strictness=MUST_EXIST, $cache=true) |
Returns system context instance. More... | |
static | context_user::instance ($userid, $strictness=MUST_EXIST) |
Returns user context instance. More... | |
static | context::instance_by_id ($id, $strictness=MUST_EXIST) |
Get a context instance as an object, from a given context id. More... | |
context::is_child_of (context $possibleparent, bool $includeself) | |
Determine if the current context is a child of the possible parent. More... | |
is_guest (context $context, $user=null) | |
is_inside_frontpage (context $context) | |
Check if context is the front page context or a context inside it. More... | |
context::is_locked () | |
Whether the current context is locked. More... | |
context::is_parent_of (context $possiblechild, bool $includeself) | |
Determine if the current context is a parent of the possible child. More... | |
is_role_switched ($courseid) | |
Checks if the user has switched roles within the given course. More... | |
is_safe_capability ($capability) | |
Verify capability risks. More... | |
is_siteadmin ($user_or_id=null) | |
is_viewing (context $context, $user=null, $withcapability='') | |
isguestuser ($user=null) | |
isloggedin () | |
load_temp_course_role (context_course $coursecontext, $roleid) | |
Adds a temp role to current USER->access array. More... | |
context::mark_dirty () | |
Mark a context as dirty (with timestamp) so as to force reloading of the context. | |
mark_user_dirty ($userid) | |
Mark a user as dirty (with timestamp) so as to force reloading of the user session. More... | |
static | context::merge_context_temp_table () |
Copy prepared new contexts from temp table to context table, we do this in db specific way for perf reasons only. | |
static | context_helper::preload_contexts_by_id (array $contextids) |
Preload a set of contexts using their contextid. More... | |
static | context_helper::preload_course ($courseid) |
Preload all contexts instances from course. More... | |
static | context::preload_from_record (stdClass $rec) |
Preloads context information from db record and strips the cached info. More... | |
static | context_helper::preload_from_record (stdClass $rec) |
Preloads context information from db record and strips the cached info. More... | |
prohibit_is_removable ($roleid, context $context, $capability) | |
This function verifies the prohibit comes from this context and there are no more prohibits in parent contexts. More... | |
context::reload_if_dirty () | |
Reset all cached permissions and definitions if the necessary. More... | |
remove_temp_course_roles (context_course $coursecontext) | |
Removes any extra guest roles from current USER->access array. More... | |
require_all_capabilities (array $capabilities, context $context, $userid=null, $doanything=true, $errormessage='nopermissions', $stringfile='') | |
require_capability ($capability, context $context, $userid=null, $doanything=true, $errormessage='nopermissions', $stringfile='') | |
A convenience function that tests has_capability, and displays an error if the user does not have that capability. More... | |
static | context::reset_caches () |
Resets the cache to remove all data. More... | |
static | context_helper::reset_caches () |
Resets the cache to remove all data. More... | |
static | context_helper::reset_levels () |
Reset internal context levels array. | |
context::reset_paths ($rebuild=true) | |
Remove all context path info and optionally rebuild it. More... | |
reset_role_capabilities ($roleid) | |
Reset role capabilities to default according to selected role archetype. More... | |
role_assign ($roleid, $userid, $contextid, $component='', $itemid=0, $timemodified='') | |
This function makes a role-assignment (a role for a user in a particular context) More... | |
role_cap_duplicate ($sourcerole, $targetrole) | |
Duplicates all the base definitions of a role. More... | |
role_change_permission ($roleid, $context, $capname, $permission) | |
More user friendly role permission changing, it should produce as few overrides as possible. More... | |
role_context_capabilities ($roleid, context $context, $cap='') | |
This function pulls out all the resolved capabilities (overrides and defaults) of a role used in capability overrides in contexts at a given context. More... | |
role_fix_names ($roleoptions, context $context=null, $rolenamedisplay=ROLENAME_ALIAS, $returnmenu=null) | |
Prepare list of roles for display, apply aliases and localise default role names. More... | |
role_get_description (stdClass $role) | |
Returns localised role description if available. More... | |
role_get_name (stdClass $role, $context=null, $rolenamedisplay=ROLENAME_ALIAS) | |
Get localised role name or alias if exists and format the text. More... | |
role_get_names (context $context=null, $rolenamedisplay=ROLENAME_ALIAS, $returnmenu=null) | |
Get all the localised role names for a context. More... | |
role_switch ($roleid, context $context) | |
Switches the current user to another role for the current session and only in the given context. More... | |
role_unassign ($roleid, $userid, $contextid, $component='', $itemid=0) | |
Removes one role assignment. More... | |
role_unassign_all (array $params, $subcontexts=false, $includemanual=false) | |
Removes multiple role assignments, parameters may contain: 'roleid', 'userid', 'contextid', 'component', 'enrolid'. More... | |
context::set_locked (bool $locked) | |
Set whether this context has been locked or not. More... | |
context_system::set_locked (bool $locked) | |
Set whether this context has been locked or not. More... | |
set_role_contextlevels ($roleid, array $contextlevels) | |
Set the context levels at which a particular role can be assigned. More... | |
sort_by_roleassignment_authority ($users, context $context, $roles=array(), $sortpolicy='locality') | |
Re-sort a users array based on a sorting policy. More... | |
switch_roles ($first, $second) | |
Switch the sort order of two roles (used in admin/roles/manage.php). More... | |
unassign_capability ($capability, $roleid, $contextid=null) | |
Unassign a capability from a role. More... | |
context::update_moved (context $newparent) | |
Update context info after moving context in the tree structure. More... | |
user_can_assign (context $context, $targetroleid) | |
Checks if a user can assign users to a particular role in this context. More... | |
user_has_role_assignment ($userid, $roleid, $contextid=0) | |
Simple function returning a boolean true if user has roles in context or parent contexts, otherwise false. More... | |
Variables | |
int | context::$_contextlevel |
The context level Can be accessed publicly through $context->contextlevel One of CONTEXT_* e.g. More... | |
int | context::$_depth |
The depth of the context in relation to parent contexts Can be accessed publicly through $context->depth. | |
int | context::$_id |
The context id Can be accessed publicly through $context->id. | |
int | context::$_instanceid |
Id of the item this context is related to e.g. More... | |
int | context::$_locked |
Whether this context is locked or not. More... | |
string | context::$_path |
The path to the context always starting from the system context Can be accessed publicly through $context->path. | |
static int | context::$cache_count = 0 |
Context count Why do we do count contexts? Because count($array) is horribly slow for large arrays. | |
static array | context::$cache_preloaded = array() |
Context caching info. | |
$capabilities | |
static context_system | context::$systemcontext = null |
The system context once initialised. | |
$ACCESSLIB_PRIVATE | accessdatabyuser = array() |
$ACCESSLIB_PRIVATE | cacheroledefs = array() |
const | CAP_ALLOW 1 |
Allow permission, overrides CAP_PREVENT defined in parent contexts. | |
const | CAP_INHERIT 0 |
No capability change. | |
const | CAP_PREVENT -1 |
Prevent permission, overrides CAP_ALLOW defined in parent contexts. | |
const | CAP_PROHIBIT -1000 |
Prohibit permission, overrides everything in current and child contexts. | |
const | CONTEXT_BLOCK 80 |
Block context level - one instance for each block, sticky blocks are tricky because ppl think they should be able to override them at lower contexts. More... | |
const | CONTEXT_COURSE 50 |
Course context level - one instances for each course. | |
const | CONTEXT_COURSECAT 40 |
Course category context level - one instance for each category. | |
const | CONTEXT_MODULE 70 |
Course module context level - one instance for each course module. | |
const | CONTEXT_SYSTEM 10 |
System context level - only one instance in every system. | |
const | CONTEXT_USER 30 |
User context level - one instance for each user describing what others can do to user. | |
string const | context::DEFAULT_CAPABILITY_SORT = 'contextlevel, component, name' |
Default sorting of capabilities in {. More... | |
$ACCESSLIB_PRIVATE | dirtycontexts = null |
$ACCESSLIB_PRIVATE | dirtyusers = null |
const | RISK_CONFIG 0x0002 |
Capability allows changes in system configuration - see | |
const | RISK_DATALOSS 0x0020 |
capability allows mass delete of data belonging to other users - see | |
const | RISK_MANAGETRUST 0x0001 |
Capability allow management of trusts - NOT IMPLEMENTED YET - see | |
const | RISK_PERSONAL 0x0008 |
Capability allows access to personal user information - see | |
const | RISK_SPAM 0x0010 |
Capability allows users to add content others may see - see | |
const | RISK_XSS 0x0004 |
Capability allows user to add scripted content - see | |
const | ROLENAME_ALIAS 1 |
rolename displays - the name as defined by a role alias at the course level, falls back to ROLENAME_ORIGINAL if alias not present | |
const | ROLENAME_ALIAS_RAW 4 |
rolename displays - the name as defined by a role alias, in raw form suitable for editing | |
const | ROLENAME_BOTH 2 |
rolename displays - Both, like this: Role alias (Original) | |
const | ROLENAME_ORIGINAL 0 |
rolename displays - the name as defined in the role definition, localised if name empty | |
const | ROLENAME_ORIGINALANDSHORT 3 |
rolename displays - the name as defined in the role definition and the shortname in brackets | |
const | ROLENAME_SHORT 5 |
rolename displays - the name is simply short role name | |
|
protected |
Constructor is protected so that devs are forced to use context_xxx::instance() or context::instance_by_id().
stdClass | $record |
Reimplemented in context_system, context_user, context_coursecat, context_course, and context_module.
|
protected |
Please use context_system::instance() if you need the instance of context.
stdClass | $record |
Reimplemented from context.
|
protected |
Please use context_user::instance($userid) if you need the instance of context.
Alternatively if you know only the context id use context::instance_by_id($contextid)
stdClass | $record |
Reimplemented from context.
|
protected |
Please use context_coursecat::instance($coursecatid) if you need the instance of context.
Alternatively if you know only the context id use context::instance_by_id($contextid)
stdClass | $record |
Reimplemented from context.
|
protected |
Please use context_course::instance($courseid) if you need the instance of context.
Alternatively if you know only the context id use context::instance_by_id($contextid)
stdClass | $record |
Reimplemented from context.
|
protected |
Please use context_module::instance($cmid) if you need the instance of context.
Alternatively if you know only the context id use context::instance_by_id($contextid)
stdClass | $record |
Reimplemented from context.
context::__get | ( | $name | ) |
Magic method getter, redirects to read only values.
string | $name |
mixed |
context::__isset | ( | $name | ) |
Full support for isset on our magic read only properties.
string | $name |
bool |
context::__set | ( | $name, | |
$value | |||
) |
Magic setter method, we do not want anybody to modify properties from the outside.
string | $name | |
mixed | $value |
context::__unset | ( | $name | ) |
All properties are read only, sorry.
string | $name |
assign_capability | ( | $capability, | |
$permission, | |||
$roleid, | |||
$contextid, | |||
$overwrite = false |
|||
) |
Function to write context specific overrides, or default capabilities.
string | $capability | string name |
int | $permission | CAP_ constants |
int | $roleid | role id |
int | context | $contextid | context id |
bool | $overwrite |
bool | always true or exception |
assign_legacy_capabilities | ( | $capability, | |
$legacyperms | |||
) |
Assign the defaults found in this capability definition to roles that have the corresponding legacy capabilities assigned to them.
string | $capability | |
array | $legacyperms | an array in the format (example): 'guest' => CAP_PREVENT, 'student' => CAP_ALLOW, 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'coursecreator' => CAP_ALLOW, 'manager' => CAP_ALLOW |
boolean | success or failure. |
|
static |
Rebuild paths and depths in all context levels.
bool | $force | false means add missing only |
void |
|
staticprotected |
Rebuild context paths and depths at context level.
bool | $force |
void |
Reimplemented in context_system, context_user, context_coursecat, context_course, and context_module.
|
staticprotected |
Rebuild context paths and depths at system context level.
bool | $force |
Reimplemented from context.
|
staticprotected |
Rebuild context paths and depths at user context level.
bool | $force |
Reimplemented from context.
|
staticprotected |
Rebuild context paths and depths at course category context level.
bool | $force |
Reimplemented from context.
|
staticprotected |
Rebuild context paths and depths at course context level.
bool | $force |
Reimplemented from context.
|
staticprotected |
Rebuild context paths and depths at module context level.
bool | $force |
Reimplemented from context.
|
staticprotected |
Adds a context to the cache.
If the cache is full, discards a batch of older entries.
context | $context | New context to add |
void |
|
staticprotected |
Gets a context from the cache.
int | $contextlevel | Context level |
int | $instance | Instance ID |
context|bool | Context or false if not in cache |
|
staticprotected |
Gets a context from the cache based on its id.
int | $id | Context ID |
context|bool | Context or false if not in cache |
|
staticprotected |
Removes a context from the cache.
context | $context | Context object to remove |
void |
can_access_course | ( | stdClass | $course, |
$user = null , |
|||
$withcapability = '' , |
|||
$onlyactive = false |
|||
) |
Returns true if the user is able to access the course.
This function is in no way, shape, or form a substitute for require_login. It should only be used in circumstances where it is not possible to call require_login such as the navigation.
This function checks many of the methods of access to a course such as the view capability, enrollments, and guest access. It also makes use of the cache generated by require_login for guest access.
The flags within the $USER object that are used here should NEVER be used outside of this function can_access_course and require_login. Doing so WILL break future versions.
stdClass | $course | record |
stdClass | int | null | $user | user record or id, current user if null |
string | $withcapability | Check for this capability as well. |
bool | $onlyactive | consider only active enrolments in enabled plugins and time restrictions |
boolean | Returns true if the user is able to access the course |
|
static |
Remove stale contexts that belonged to deleted instances.
Ideally all code should cleanup contexts properly, unfortunately accidents happen...
void |
component_level_changed | ( | $cap, | |
$comp, | |||
$contextlevel | |||
) |
Aids in detecting if a new line is required when reading a new capability.
This function helps admin/roles/manage.php etc to detect if a new line should be printed when we read in a new capability. Most of the time, if the 2 components are different we should print a new line, (e.g. course system->rss client) but when we are in grade, all reports/import/export capabilities should be together
string | $cap | component string a |
string | $comp | component string b |
int | $contextlevel |
bool | whether 2 component are in different "sections" |
core_role_set_assign_allowed | ( | $fromroleid, | |
$targetroleid | |||
) |
Creates a record in the role_allow_assign table.
int | $fromroleid | source roleid |
int | $targetroleid | target roleid |
void |
core_role_set_override_allowed | ( | $fromroleid, | |
$targetroleid | |||
) |
Creates a record in the role_allow_override table.
int | $fromroleid | source roleid |
int | $targetroleid | target roleid |
void |
core_role_set_switch_allowed | ( | $fromroleid, | |
$targetroleid | |||
) |
Creates a record in the role_allow_switch table.
int | $fromroleid | source roleid |
int | $targetroleid | target roleid |
void |
core_role_set_view_allowed | ( | $fromroleid, | |
$targetroleid | |||
) |
Creates a record in the role_allow_view table.
int | $fromroleid | source roleid |
int | $targetroleid | target roleid |
void |
count_role_users | ( | $roleid, | |
context | $context, | ||
$parent = false |
|||
) |
Counts all the users assigned this role in this context or higher.
int | array | $roleid | either int or an array of ints |
context | $context | |
bool | $parent | if true, get list of users assigned in higher context too |
int | Returns the result count |
|
staticprotected |
This function is also used to work around 'protected' keyword problems in context_helper.
stdClass | $record |
context | instance |
|
static |
Create all context instances at the given level and above.
int | $contextlevel | null means all levels |
bool | $buildpaths |
void |
|
staticprotected |
Create missing context instances at given level.
void |
Reimplemented in context_system, context_user, context_coursecat, context_course, and context_module.
|
staticprotected |
Create missing context instances at system context.
Reimplemented from context.
|
staticprotected |
Create missing context instances at user context level.
Reimplemented from context.
|
staticprotected |
Create missing context instances at course category context level.
Reimplemented from context.
|
staticprotected |
Create missing context instances at course context level.
Reimplemented from context.
|
staticprotected |
Create missing context instances at module context level.
Reimplemented from context.
create_role | ( | $name, | |
$shortname, | |||
$description, | |||
$archetype = '' |
|||
) |
Function that creates a role.
string | $name | role name |
string | $shortname | role short name |
string | $description | role description |
string | $archetype |
int | id or dml_exception |
|
static |
Delete context instance.
int | $contextlevel | |
int | $instanceid |
void |
delete_role | ( | $roleid | ) |
Function that deletes a role and cleanups up after it.
int | $roleid | id of role to delete |
bool | always true |
fix_role_sortorder | ( | $allroles | ) |
Fix the roles.sortorder field in the database, so it contains sequential integers, and return an array of roleids in order.
array | $allroles | array of roles, as returned by get_all_roles(); |
array::$role-,>sortorder | =-> $role->id with the keys in ascending order. |
get_all_capabilities | ( | ) |
Returns all capabilitiy records, preferably from MUC and not database.
array | All capability records indexed by capability name |
|
static |
Returns a list of all context levels.
array | int=>string (level=>level class name) |
get_all_risks | ( | ) |
Returns an array of all the known types of risk The array keys can be used, for example as CSS class names, or in calls to print_risk_icon.
The values are the corresponding RISK_ constants.
array | all the known types of risk. |
get_all_roles | ( | context | $context = null | ) |
Returns all site roles in correct sort order.
Note: this method does not localise role names or descriptions, use role_get_names() if you need role names.
context | $context | optional context for course role name aliases |
array | of role records with optional coursealias property |
get_archetype_roles | ( | $archetype | ) |
Returns roles of a specified archetype.
string | $archetype |
array | of full role records |
get_assignable_roles | ( | context | $context, |
$rolenamedisplay = ROLENAME_ALIAS , |
|||
$withusercounts = false , |
|||
$user = null |
|||
) |
Gets a list of roles that this user can assign in this context.
context | $context | the context. |
int | $rolenamedisplay | the type of role name to display. One of the ROLENAME_X constants. Default ROLENAME_ALIAS. |
bool | $withusercounts | if true, count the number of users with each role. |
integer | object | $user | A user id or object. By default (null) checks the permissions of the current user. |
array | if $withusercounts is false, then an array $roleid => $rolename. if $withusercounts is true, returns a list of three arrays, $rolenames, $rolecounts, and $nameswithcounts. |
|
abstract |
Returns array of relevant context capability records.
string | $sort | SQL order by snippet for sorting returned capabilities sensibly for display |
array |
Reimplemented in context_helper, context_system, context_user, context_coursecat, context_course, and context_module.
context_helper::get_capabilities | ( | string | $sort = self::DEFAULT_CAPABILITY_SORT | ) |
context_system::get_capabilities | ( | string | $sort = self::DEFAULT_CAPABILITY_SORT | ) |
Returns array of relevant context capability records.
string | $sort |
array |
Reimplemented from context.
context_user::get_capabilities | ( | string | $sort = self::DEFAULT_CAPABILITY_SORT | ) |
Returns array of relevant context capability records.
string | $sort |
array |
Reimplemented from context.
context_coursecat::get_capabilities | ( | string | $sort = self::DEFAULT_CAPABILITY_SORT | ) |
Returns array of relevant context capability records.
string | $sort |
array |
Reimplemented from context.
context_course::get_capabilities | ( | string | $sort = self::DEFAULT_CAPABILITY_SORT | ) |
Returns array of relevant context capability records.
string | $sort |
array |
Reimplemented from context.
context_module::get_capabilities | ( | string | $sort = self::DEFAULT_CAPABILITY_SORT | ) |
Returns array of relevant context capability records.
string | $sort |
array |
Reimplemented from context.
get_capabilities_from_role_on_context | ( | $role, | |
context | $context | ||
) |
Get all capabilities for this role on this context (overrides)
stdClass | $role | |
context | $context |
array |
get_capability_docs_link | ( | $capability | ) |
Return a link to moodle docs for a given capability name.
stdClass | $capability | a capability - a row from the mdl_capabilities table. |
string | the human-readable capability name as a link to Moodle Docs. |
get_capability_info | ( | $capabilityname | ) |
Returns capability information (cached)
string | $capabilityname |
stdClass | or null if capability not found |
get_capability_string | ( | $capabilityname | ) |
Returns the human-readable, translated version of the capability.
Basically a big switch statement.
string | $capabilityname | e.g. mod/choice:readresponses |
string |
context::get_child_contexts | ( | ) |
Recursive function which, given a context, find all its children context ids.
For course category contexts it will return immediate children and all subcategory contexts. It will NOT recurse into courses or subcategories categories. If you want to do that, call it on the returned courses/categories.
When called for a course context, it will return the modules and blocks displayed in the course page and blocks displayed on the module pages.
If called on a user/course/module context it will populate the cache with the appropriate contexts ;-)
array | Array of child records |
Reimplemented in context_system, and context_coursecat.
context_system::get_child_contexts | ( | ) |
Returns all site contexts except the system context, DO NOT call on production servers!!
Contexts are not cached.
array |
Reimplemented from context.
context_coursecat::get_child_contexts | ( | ) |
Returns immediate child contexts of category and all subcategories, children of subcategories and courses are not returned.
array |
Reimplemented from context.
|
static |
Returns a class name of the context level class.
int | $contextlevel | (CONTEXT_SYSTEM, etc.) |
string | class name of the context class |
|
staticprotected |
Returns sql necessary for purging of stale context instances.
string | cleanup SQL |
Reimplemented in context_system, context_user, context_coursecat, context_course, and context_module.
|
staticprotected |
Returns sql necessary for purging of stale context instances.
string | cleanup SQL |
Reimplemented from context.
|
staticprotected |
Returns sql necessary for purging of stale context instances.
string | cleanup SQL |
Reimplemented from context.
|
staticprotected |
Returns sql necessary for purging of stale context instances.
string | cleanup SQL |
Reimplemented from context.
|
staticprotected |
Returns sql necessary for purging of stale context instances.
string | cleanup SQL |
Reimplemented from context.
|
staticprotected |
Returns sql necessary for purging of stale context instances.
string | cleanup SQL |
Reimplemented from context.
get_component_string | ( | $component, | |
$contextlevel | |||
) |
This gets the mod/block/course/core etc strings.
string | $component | |
int | $contextlevel |
string|bool | String is success, false if failed |
get_context_info_array | ( | $contextid | ) |
Returns context instance plus related course and cm instances.
int | $contextid |
array | of ($context, $course, $cm) |
context::get_context_name | ( | $withprefix = true , |
|
$short = false , |
|||
$escape = true |
|||
) |
Returns human readable context identifier.
boolean | $withprefix | whether to prefix the name of the context with the type of context, e.g. User, Course, Forum, etc. |
boolean | $short | whether to use the short name of the thing. Only applies to course contexts |
boolean | $escape | Whether the returned name of the thing is to be HTML escaped or not. |
string | the human readable context name. |
Reimplemented in context_system, context_user, context_coursecat, context_course, and context_module.
context_system::get_context_name | ( | $withprefix = true , |
|
$short = false , |
|||
$escape = true |
|||
) |
Returns human readable context identifier.
boolean | $withprefix | does not apply to system context |
boolean | $short | does not apply to system context |
boolean | $escape | does not apply to system context |
string | the human readable context name. |
Reimplemented from context.
context_user::get_context_name | ( | $withprefix = true , |
|
$short = false , |
|||
$escape = true |
|||
) |
Returns human readable context identifier.
boolean | $withprefix | whether to prefix the name of the context with User |
boolean | $short | does not apply to user context |
boolean | $escape | does not apply to user context |
string | the human readable context name. |
Reimplemented from context.
context_coursecat::get_context_name | ( | $withprefix = true , |
|
$short = false , |
|||
$escape = true |
|||
) |
Returns human readable context identifier.
boolean | $withprefix | whether to prefix the name of the context with Category |
boolean | $short | does not apply to course categories |
boolean | $escape | Whether the returned name of the context is to be HTML escaped or not. |
string | the human readable context name. |
Reimplemented from context.
context_course::get_context_name | ( | $withprefix = true , |
|
$short = false , |
|||
$escape = true |
|||
) |
Returns human readable context identifier.
boolean | $withprefix | whether to prefix the name of the context with Course |
boolean | $short | whether to use the short name of the thing. |
bool | $escape | Whether the returned category name is to be HTML escaped or not. |
string | the human readable context name. |
Reimplemented from context.
context_module::get_context_name | ( | $withprefix = true , |
|
$short = false , |
|||
$escape = true |
|||
) |
Returns human readable context identifier.
boolean | $withprefix | whether to prefix the name of the context with the module name, e.g. Forum, Glossary, etc. |
boolean | $short | does not apply to module context |
boolean | $escape | Whether the returned name of the context is to be HTML escaped or not. |
string | the human readable context name. |
Reimplemented from context.
context::get_course_context | ( | $strict = true | ) |
Is this context part of any course? If yes return course context.
bool | $strict | true means throw exception if not found, false means return false if not found |
context_course | context of the enclosing course, null if not found or exception |
Reimplemented in context_course, and context_module.
context_course::get_course_context | ( | $strict = true | ) |
Is this context part of any course? If yes return course context.
bool | $strict | true means throw exception if not found, false means return false if not found |
context_course | context of the enclosing course, null if not found or exception |
Reimplemented from context.
context_module::get_course_context | ( | $strict = true | ) |
Is this context part of any course? If yes return course context.
bool | $strict | true means throw exception if not found, false means return false if not found |
context_course | context of the enclosing course, null if not found or exception |
Reimplemented from context.
get_default_capabilities | ( | $archetype | ) |
Returns default capabilities for given role archetype.
string | $archetype | role archetype |
array |
get_default_contextlevels | ( | $rolearchetype | ) |
Returns default context levels where roles can be assigned.
string | $rolearchetype | one of the role archetypes - that is, one of the keys from the array returned by get_role_archetypes(); |
array | list of the context levels at which this type of role may be assigned by default. |
get_default_role_archetype_allows | ( | $type, | |
$archetype | |||
) |
Return default roles that can be assigned, overridden or switched by give role archetype.
string | $type | assign|override|switch|view |
string | $archetype |
array | of role ids |
get_guest_role | ( | ) |
Get the default guest role, this is used for guest account, search engine spiders, etc.
stdClass | role record |
|
static |
Returns the name of specified context level.
int | $contextlevel |
string | name of the context level |
|
static |
Returns human readable context level name.
string | the human readable context level name. |
|
static |
Returns human readable context level name.
string | the human readable context level name. |
|
static |
Returns human readable context level name.
string | the human readable context level name. |
|
static |
Returns human readable context level name.
string | the human readable context level name. |
|
static |
Returns human readable context level name.
string | the human readable context level name. |
get_local_override | ( | $roleid, | |
$contextid, | |||
$capability | |||
) |
Get the local override (if any) for a given capability in a role in a context.
int | $roleid | |
int | $contextid | |
string | $capability |
stdClass | local capability override |
|
static |
Gets the current context to be used for navigation tree filtering.
context | null | $context | The current context to be checked against. |
context|null | the context that navigation tree filtering should use. |
get_overridable_roles | ( | context | $context, |
$rolenamedisplay = ROLENAME_ALIAS , |
|||
$withcounts = false |
|||
) |
Gets a list of roles that this user can override in this context.
context | $context | the context. |
int | $rolenamedisplay | the type of role name to display. One of the ROLENAME_X constants. Default ROLENAME_ALIAS. |
bool | $withcounts | if true, count the number of overrides that are set for each role. |
array | if $withcounts is false, then an array $roleid => $rolename. if $withusercounts is true, returns a list of three arrays, $rolenames, $rolecounts, and $nameswithcounts. |
context::get_parent_context | ( | ) |
Returns parent context.
context |
context::get_parent_context_ids | ( | $includeself = false | ) |
Returns parent context ids of this context in reversed order, i.e.
parent first, then grand parent, etc.
bool | $includeself | true means include self too |
array | of context ids |
context::get_parent_context_paths | ( | $includeself = false | ) |
Returns parent context paths of this context.
bool | $includeself | true means include self too |
array | of context paths |
context::get_parent_contexts | ( | $includeself = false | ) |
Returns parent contexts of this context in reversed order, i.e.
parent first, then grand parent, etc.
bool | $includeself | true means include self too |
array | of context instances |
|
static |
Returns all fields necessary for context preloading from user $rec.
This helps with performance when dealing with hundreds of contexts.
string | $tablealias | context table alias in the query |
array | (table.column=>alias, ...) |
|
static |
Returns all fields necessary for context preloading from user $rec.
This helps with performance when dealing with hundreds of contexts.
string | $tablealias | context table alias in the query |
string |
get_profile_roles | ( | context | $context | ) |
Gets the list of roles assigned to this context and up (parents) from the aggregation of: a) the list of roles that are visible on user profile page and participants page (profileroles setting) and; b) if applicable, those roles that are assigned in the context.
context | $context |
array |
get_role_archetypes | ( | ) |
Returns array of all role archetypes.
array |
get_role_contextlevels | ( | $roleid | ) |
Return context levels where this role is assignable.
integer | $roleid | the id of a role. |
array | list of the context levels at which this role may be assigned. |
get_role_definitions | ( | array | $roleids | ) |
Fetch raw "site wide" role definitions.
Even MUC static acceleration cache appears a bit slow for this. Important as can be hit hundreds of times per page.
array | $roleids | List of role ids to fetch definitions for. |
array | Complete definition for each requested role. |
get_role_definitions_uncached | ( | array | $roleids | ) |
Query raw "site wide" role definitions.
array | $roleids | List of role ids to fetch definitions for. |
array | Complete definition for each requested role. |
get_role_names_with_caps_in_context | ( | $context, | |
$capabilities | |||
) |
Returns an array of role names that have ALL of the the supplied capabilities Uses get_roles_with_caps_in_context().
Returns $allowed minus $forbidden
stdClass | $context | |
array | $capabilities | An array of capabilities |
array | of roles with all of the required capabilities |
get_role_users | ( | $roleid, | |
context | $context, | ||
$parent = false , |
|||
$fields = '' , |
|||
$sort = null , |
|||
$all = true , |
|||
$group = '' , |
|||
$limitfrom = '' , |
|||
$limitnum = '' , |
|||
$extrawheretest = '' , |
|||
$whereorsortparams = array() |
|||
) |
Gets all the users assigned this role in this context or higher.
Note that moodle is based on capabilities and it is usually better to check permissions than to check role ids as the capabilities system is more flexible. If you really need, you can to use this function but consider has_capability() as a possible substitute.
All $sort fields are added into $fields if not present there yet.
If $roleid is an array or is empty (all roles) you need to set $fields (and $sort by extension) params according to it, as the first field returned by the database should be unique (ra.id is the best candidate).
int | $roleid | (can also be an array of ints!) |
context | $context | |
bool | $parent | if true, get list of users assigned in higher context too |
string | $fields | fields from user (u.) , role assignment (ra) or role (r.) |
string | $sort | sort from user (u.) , role assignment (ra.) or role (r.). null => use default sort from users_order_by_sql. |
bool | $all | true means all, false means limit to enrolled users |
string | $group | defaults to '' |
mixed | $limitfrom | defaults to '' |
mixed | $limitnum | defaults to '' |
string | $extrawheretest | defaults to '' |
array | $whereorsortparams | any paramter values used by $sort or $extrawheretest. |
array |
get_roles_for_contextlevels | ( | $contextlevel | ) |
Return roles suitable for assignment at the specified context level.
NOTE: this function name looks like a typo, should be probably get_roles_for_contextlevel()
integer | $contextlevel | a contextlevel. |
array | list of role ids that are assignable at this context level. |
get_roles_used_in_context | ( | context | $context, |
$includeparents = true |
|||
) |
Gets the list of roles assigned to this context and up (parents)
context | $context | |
boolean | $includeparents,false | means without parents. |
array |
get_roles_with_cap_in_context | ( | $context, | |
$capability | |||
) |
Returns two lists, this can be used to find out if user has capability.
Having any needed role and no forbidden role in this context means user has this capability in this context. Use get_role_names_with_cap_in_context() if you need role names to display in the UI
stdClass | $context | |
string | $capability |
array($neededroles,$forbiddenroles) |
get_roles_with_capability | ( | $capability, | |
$permission = null , |
|||
$context = null |
|||
) |
Get the roles that have a given capability assigned to it.
This function does not resolve the actual permission of the capability. It just checks for permissions and overrides. Use get_roles_with_cap_in_context() if resolution is required.
string | $capability | capability name (string) |
string | $permission | optional, the permission defined for this capability either CAP_ALLOW, CAP_PREVENT or CAP_PROHIBIT. Defaults to null which means any. |
stdClass | $context | null means any |
array | of role records |
get_roles_with_caps_in_context | ( | $context, | |
$capabilities | |||
) |
Returns an array of role IDs that have ALL of the the supplied capabilities Uses get_roles_with_cap_in_context().
Returns $allowed minus $forbidden
stdClass | $context | |
array | $capabilities | An array of capabilities |
array | of roles with all of the required capabilities |
get_roles_with_override_on_context | ( | context | $context | ) |
Get any role that has an override on exact context.
context | $context | The context to check |
array | An array of roles |
get_switchable_roles | ( | context | $context, |
$rolenamedisplay = ROLENAME_ALIAS |
|||
) |
Gets a list of roles that this user can switch to in a context.
Gets a list of roles that this user can switch to in a context, for the switchrole menu. This function just process the contents of the role_allow_switch table. You also need to test the moodle/role:switchroles to see if the user is allowed to switch in the first place.
context | $context | a context. |
int | $rolenamedisplay | the type of role name to display. One of the ROLENAME_X constants. Default ROLENAME_ALIAS. |
array | an array $roleid => $rolename. |
|
abstract |
Returns the most relevant URL for this context.
moodle_url |
Reimplemented in context_helper, context_system, context_user, context_coursecat, context_course, and context_module.
context_helper::get_url | ( | ) |
not used
Reimplemented from context.
context_system::get_url | ( | ) |
Returns the most relevant URL for this context.
moodle_url |
Reimplemented from context.
context_user::get_url | ( | ) |
Returns the most relevant URL for this context.
moodle_url |
Reimplemented from context.
context_coursecat::get_url | ( | ) |
Returns the most relevant URL for this context.
moodle_url |
Reimplemented from context.
context_course::get_url | ( | ) |
Returns the most relevant URL for this context.
moodle_url |
Reimplemented from context.
context_module::get_url | ( | ) |
Returns the most relevant URL for this context.
moodle_url |
Reimplemented from context.
get_user_capability_contexts | ( | string | $capability, |
bool | $getcategories, | ||
$userid = null , |
|||
$doanything = true , |
|||
$coursefieldsexceptid = '' , |
|||
$categoryfieldsexceptid = '' , |
|||
$courseorderby = '' , |
|||
$categoryorderby = '' , |
|||
$limit = 0 |
|||
) |
This function gets the list of course and course category contexts that this user has a particular capability in.
It is now reasonably efficient, but bear in mind that if there are users who have the capability everywhere, it may return an array of all contexts.
string | $capability | Capability in question |
int | $userid | User ID or null for current user |
bool | $getcategories | Wether to return also course_categories |
bool | $doanything | True if 'doanything' is permitted (default) |
string | $coursefieldsexceptid | Leave blank if you only need 'id' in the course records; otherwise use a comma-separated list of the fields you require, not including id. Add ctxid, ctxpath, ctxdepth etc to return course context information for preloading. |
string | $categoryfieldsexceptid | Leave blank if you only need 'id' in the course records; otherwise use a comma-separated list of the fields you require, not including id. Add ctxid, ctxpath, ctxdepth etc to return course context information for preloading. |
string | $courseorderby | If set, use a comma-separated list of fields from course table with sql modifiers (DESC) if needed |
string | $categoryorderby | If set, use a comma-separated list of fields from course_category table with sql modifiers (DESC) if needed |
int | $limit | Limit the number of courses to return on success. Zero equals all entries. |
array | Array of categories and courses. |
get_user_capability_course | ( | $capability, | |
$userid = null , |
|||
$doanything = true , |
|||
$fieldsexceptid = '' , |
|||
$orderby = '' , |
|||
$limit = 0 |
|||
) |
This function gets the list of courses that this user has a particular capability in.
It is now reasonably efficient, but bear in mind that if there are users who have the capability everywhere, it may return an array of all courses.
string | $capability | Capability in question |
int | $userid | User ID or null for current user |
bool | $doanything | True if 'doanything' is permitted (default) |
string | $fieldsexceptid | Leave blank if you only need 'id' in the course records; otherwise use a comma-separated list of the fields you require, not including id. Add ctxid, ctxpath, ctxdepth etc to return course context information for preloading. |
string | $orderby | If set, use a comma-separated list of fields from course table with sql modifiers (DESC) if needed |
int | $limit | Limit the number of courses to return on success. Zero equals all entries. |
array|bool | Array of courses, if none found false is returned. |
get_user_roles | ( | context | $context, |
$userid = 0 , |
|||
$checkparentcontexts = true , |
|||
$order = 'c.contextlevel DESC , |
|||
r.sortorder ASC' | |||
) |
Gets all the user roles assigned in this context, or higher contexts this is mainly used when checking if a user can assign a role, or overriding a role i.e.
we need to know what this user holds, in order to verify against allow_assign and allow_override tables
context | $context | |
int | $userid | |
bool | $checkparentcontexts | defaults to true |
string | $order | defaults to 'c.contextlevel DESC, r.sortorder ASC' |
array |
get_user_roles_in_course | ( | $userid, | |
$courseid | |||
) |
This function is used to print roles column in user profile page.
It is using the CFG->profileroles to limit the list to only interesting roles. (The permission tab has full details of user role assignments.)
int | $userid | |
int | $courseid |
string |
get_user_roles_with_special | ( | context | $context, |
$userid = 0 |
|||
) |
Like get_user_roles, but adds in the authenticated user role, and the front page roles, if applicable.
context | $context | the context. |
int | $userid | optional. Defaults to $USER->id |
array | of objects with fields ->userid, ->contextid and ->roleid. |
get_users_by_capability | ( | context | $context, |
$capability, | |||
$fields = '' , |
|||
$sort = '' , |
|||
$limitfrom = '' , |
|||
$limitnum = '' , |
|||
$groups = '' , |
|||
$exceptions = '' , |
|||
$notuseddoanything = null , |
|||
$notusedview = null , |
|||
$useviewallgroups = false |
|||
) |
Who has this capability in this context?
This can be a very expensive call - use sparingly and keep the results if you are going to need them again soon.
Note if $fields is empty this function attempts to get u.* which can get rather large - and has a serious perf impact on some DBs.
context | $context | |
string | array | $capability | - capability name(s) |
string | $fields | - fields to be pulled. The user table is aliased to 'u'. u.id MUST be included. |
string | $sort | - the sort order. Default is lastaccess time. |
mixed | $limitfrom | - number of records to skip (offset) |
mixed | $limitnum | - number of records to fetch |
string | array | $groups | - single group or array of groups - only return users who are in one of these group(s). |
string | array | $exceptions | - list of users to exclude, comma separated or array |
bool | $notuseddoanything | not used any more, admin accounts are never returned |
bool | $notusedview | - use get_enrolled_sql() instead |
bool | $useviewallgroups | if $groups is set the return users who have capability both $capability and moodle/site:accessallgroups in this context, as well as users who have $capability and who are in $groups. |
array | of user records |
get_users_from_role_on_context | ( | $role, | |
context | $context | ||
) |
Find all user assignment of users for this role, on this context.
stdClass | $role | |
context | $context |
array |
get_users_roles | ( | context | $context, |
$userids = [] , |
|||
$checkparentcontexts = true , |
|||
$order = 'c.contextlevel DESC , |
|||
r.sortorder ASC' | |||
) |
Gets all the user roles assigned in this context, or higher contexts for a list of users.
If you try using the combination $userids = [], $checkparentcontexts = true then this is likely to cause an out-of-memory error on large Moodle sites, so this combination is deprecated and outputs a warning, even though it is the default.
context | $context | |
array | $userids,. | An empty list means fetch all role assignments for the context. |
bool | $checkparentcontexts | defaults to true |
string | $order | defaults to 'c.contextlevel DESC, r.sortorder ASC' |
array |
get_viewable_roles | ( | context | $context, |
$userid = null , |
|||
$rolenamedisplay = ROLENAME_ALIAS |
|||
) |
Gets a list of roles that this user can view in a context.
context | $context | a context. |
int | $userid | id of user. |
int | $rolenamedisplay | the type of role name to display. One of the ROLENAME_X constants. Default ROLENAME_ALIAS. |
array | an array $roleid => $rolename. |
get_with_capability_join | ( | context | $context, |
$capability, | |||
$useridcolumn | |||
) |
Gets sql joins for finding users with capability in the given context.
context | $context | Context for the join. |
string | array | $capability | Capability name or array of names. If an array is provided then this is the equivalent of a logical 'OR', i.e. the user needs to have one of these capabilities. |
string | $useridcolumn | e.g. 'u.id'. |
core::dml::sql_join | Contains joins, wheres, params. This function will set ->cannotmatchanyrows if applicable. This may let you skip doing a DB query. |
context::getIterator | ( | ) |
Create an iterator because magic vars can't be seen by 'foreach'.
Now we can convert context object to array using convert_to_array(), and feed it properly to json_encode().
has_coursecontact_role | ( | $userid | ) |
Returns true if user has at least one role assign of 'coursecontact' role (is potentially listed in some course descriptions).
int | $userid |
bool |
|
staticprotected |
Utility method for context creation.
int | $contextlevel | |
int | $instanceid | |
string | $parentpath |
stdClass | context record |
|
static |
Returns course category context instance.
int | $categoryid | id from {course_categories} table |
int | $strictness |
context_coursecat | context instance |
|
static |
Returns module context instance.
int | $cmid | id of the record from {course_modules} table; pass cmid there, NOT id in the instance column |
int | $strictness |
context_module | context instance |
|
static |
Returns course context instance.
int | $courseid | id from {course} table |
int | $strictness |
context_course | context instance |
|
static |
Returns system context instance.
int | $instanceid | should be 0 |
int | $strictness | |
bool | $cache |
context_system | context instance |
|
static |
Returns user context instance.
int | $userid | id from {user} table |
int | $strictness |
context_user | context instance |
|
static |
Get a context instance as an object, from a given context id.
int | $id | context id |
int | $strictness | IGNORE_MISSING means compatible mode, false returned if record not found, debug message if more found; MUST_EXIST means throw exception if no record found |
context|bool | the context object or false if not found |
context::is_child_of | ( | context | $possibleparent, |
bool | $includeself | ||
) |
Determine if the current context is a child of the possible parent.
context | $possibleparent | |
bool | $includeself | Whether to check the current context |
bool |
is_inside_frontpage | ( | context | $context | ) |
Check if context is the front page context or a context inside it.
Returns true if this context is the front page context, or a context inside it, otherwise false.
context | $context | a context object. |
bool |
context::is_locked | ( | ) |
Whether the current context is locked.
bool |
context::is_parent_of | ( | context | $possiblechild, |
bool | $includeself | ||
) |
Determine if the current context is a parent of the possible child.
context | $possiblechild | |
bool | $includeself | Whether to check the current context |
bool |
is_role_switched | ( | $courseid | ) |
Checks if the user has switched roles within the given course.
Note: You can only switch roles within the course, hence it takes a course id rather than a context. On that note Petr volunteered to implement this across all other contexts, all requests for this should be forwarded to him ;)
int | $courseid | The id of the course to check |
bool | True if the user has switched roles within the course. |
is_safe_capability | ( | $capability | ) |
Verify capability risks.
stdClass | $capability | a capability - a row from the capabilities table. |
boolean | whether this capability is safe - that is, whether people with the safeoverrides capability should be allowed to change it. |
load_temp_course_role | ( | context_course | $coursecontext, |
$roleid | |||
) |
Adds a temp role to current USER->access array.
Useful for the "temporary guest" access we grant to logged-in users. This is useful for enrol plugins only.
context_course | $coursecontext | |
int | $roleid |
void |
mark_user_dirty | ( | $userid | ) |
Mark a user as dirty (with timestamp) so as to force reloading of the user session.
int | $userid |
void |
|
static |
Preload a set of contexts using their contextid.
array | $contextids |
|
static |
Preload all contexts instances from course.
To be used if you expect multiple queries for course activities...
int | $courseid |
|
staticprotected |
Preloads context information from db record and strips the cached info.
stdClass | $rec |
void | (modifies $rec) |
Reimplemented in context_helper.
|
static |
Preloads context information from db record and strips the cached info.
The db request has to contain all columns from context_helper::get_preload_record_columns().
stdClass | $rec |
void | (modifies $rec) |
Reimplemented from context.
prohibit_is_removable | ( | $roleid, | |
context | $context, | ||
$capability | |||
) |
This function verifies the prohibit comes from this context and there are no more prohibits in parent contexts.
int | $roleid | |
context | $context | |
string | $capability | name |
bool |
context::reload_if_dirty | ( | ) |
Reset all cached permissions and definitions if the necessary.
void |
remove_temp_course_roles | ( | context_course | $coursecontext | ) |
Removes any extra guest roles from current USER->access array.
This is useful for enrol plugins only.
context_course | $coursecontext |
void |
require_capability | ( | $capability, | |
context | $context, | ||
$userid = null , |
|||
$doanything = true , |
|||
$errormessage = 'nopermissions' , |
|||
$stringfile = '' |
|||
) |
A convenience function that tests has_capability, and displays an error if the user does not have that capability.
NOTE before Moodle 2.0, this function attempted to make an appropriate require_login call before checking the capability. This is no longer the case. You must call require_login (or one of its variants) if you want to check the user is logged in, before you call this function.
string | $capability | the name of the capability to check. For example mod/forum:view |
context | $context | the context to check the capability in. You normally get this with context_xxxx::instance(). |
int | $userid | A user id. By default (null) checks the permissions of the current user. |
bool | $doanything | If false, ignore effect of admin role assignment |
string | $errormessage | The error string to to user. Defaults to 'nopermissions'. |
string | $stringfile | The language file to load the error string from. Defaults to 'error'. |
void | terminates with an error if the user does not have the given capability. |
|
staticprotected |
Resets the cache to remove all data.
Reimplemented in context_helper.
|
static |
Resets the cache to remove all data.
Reimplemented from context.
context::reset_paths | ( | $rebuild = true | ) |
Remove all context path info and optionally rebuild it.
bool | $rebuild |
void |
reset_role_capabilities | ( | $roleid | ) |
Reset role capabilities to default according to selected role archetype.
If no archetype selected, removes all capabilities.
This applies to capabilities that are assigned to the role (that you could edit in the 'define roles' interface), and not to any capability overrides in different locations.
int | $roleid | ID of role to reset capabilities for |
role_assign | ( | $roleid, | |
$userid, | |||
$contextid, | |||
$component = '' , |
|||
$itemid = 0 , |
|||
$timemodified = '' |
|||
) |
This function makes a role-assignment (a role for a user in a particular context)
int | $roleid | the role of the id |
int | $userid | userid |
int | context | $contextid | id of the context |
string | $component | example 'enrol_ldap', defaults to '' which means manual assignment, |
int | $itemid | id of enrolment/auth plugin |
string | $timemodified | defaults to current time |
int | new/existing id of the assignment |
role_cap_duplicate | ( | $sourcerole, | |
$targetrole | |||
) |
Duplicates all the base definitions of a role.
stdClass | $sourcerole | role to copy from |
int | $targetrole | id of role to copy to |
role_change_permission | ( | $roleid, | |
$context, | |||
$capname, | |||
$permission | |||
) |
More user friendly role permission changing, it should produce as few overrides as possible.
int | $roleid | |
stdClass | $context | |
string | $capname | capability name |
int | $permission |
void |
role_context_capabilities | ( | $roleid, | |
context | $context, | ||
$cap = '' |
|||
) |
This function pulls out all the resolved capabilities (overrides and defaults) of a role used in capability overrides in contexts at a given context.
int | $roleid | |
context | $context | |
string | $cap | capability, optional, defaults to '' |
array | Array of capabilities |
role_fix_names | ( | $roleoptions, | |
context | $context = null , |
||
$rolenamedisplay = ROLENAME_ALIAS , |
|||
$returnmenu = null |
|||
) |
Prepare list of roles for display, apply aliases and localise default role names.
array | $roleoptions | array roleid => roleobject (with optional coursealias), strings are accepted for backwards compatibility only |
context | $context | the context, null means system context |
int | $rolenamedisplay | |
bool | $returnmenu | null means keep the same format as $roleoptions, true means id=>localname, false means id=>rolerecord |
array | Array of context-specific role names, or role objects with a ->localname field added. |
role_get_description | ( | stdClass | $role | ) |
Returns localised role description if available.
If the name is empty it tries to find the default role name using hardcoded list of default role names or other methods in the future.
stdClass | $role |
string | localised role name |
role_get_name | ( | stdClass | $role, |
$context = null , |
|||
$rolenamedisplay = ROLENAME_ALIAS |
|||
) |
Get localised role name or alias if exists and format the text.
stdClass | $role | role object
|
context | bool | $context | empty means system context |
int | $rolenamedisplay | type of role name |
string | localised role name or course role name alias |
role_get_names | ( | context | $context = null , |
$rolenamedisplay = ROLENAME_ALIAS , |
|||
$returnmenu = null |
|||
) |
Get all the localised role names for a context.
In new installs default roles have empty names, this function add localised role names using current language pack.
context | $context | the context, null means system context |
array | of role objects with a ->localname field containing the context-specific role name. | |
int | $rolenamedisplay | |
bool | $returnmenu | true means id=>localname, false means id=>rolerecord |
array | Array of context-specific role names, or role objects with a ->localname field added. |
role_switch | ( | $roleid, | |
context | $context | ||
) |
Switches the current user to another role for the current session and only in the given context.
The caller must check
To "unswitch" pass 0 as the roleid.
This function will modify $USER->access - beware
integer | $roleid | the role to switch to. |
context | $context | the context in which to perform the switch. |
bool | success or failure. |
role_unassign | ( | $roleid, | |
$userid, | |||
$contextid, | |||
$component = '' , |
|||
$itemid = 0 |
|||
) |
Removes one role assignment.
int | $roleid | |
int | $userid | |
int | $contextid | |
string | $component | |
int | $itemid |
void |
role_unassign_all | ( | array | $params, |
$subcontexts = false , |
|||
$includemanual = false |
|||
) |
Removes multiple role assignments, parameters may contain: 'roleid', 'userid', 'contextid', 'component', 'enrolid'.
array | $params | role assignment parameters |
bool | $subcontexts | unassign in subcontexts too |
bool | $includemanual | include manual role assignments too |
void |
context::set_locked | ( | bool | $locked | ) |
Set whether this context has been locked or not.
bool | $locked |
$this |
Reimplemented in context_system.
context_system::set_locked | ( | bool | $locked | ) |
Set whether this context has been locked or not.
bool | $locked |
$this |
Reimplemented from context.
set_role_contextlevels | ( | $roleid, | |
array | $contextlevels | ||
) |
Set the context levels at which a particular role can be assigned.
Throws exceptions in case of error.
integer | $roleid | the id of a role. |
array | $contextlevels | the context levels at which this role should be assignable, duplicate levels are removed. |
void |
sort_by_roleassignment_authority | ( | $users, | |
context | $context, | ||
$roles = array() , |
|||
$sortpolicy = 'locality' |
|||
) |
Re-sort a users array based on a sorting policy.
Will re-sort a $users results array (from get_users_by_capability(), usually) based on a sorting policy. This is to support the odd practice of sorting teachers by 'authority', where authority was "lowest id of the role assignment".
Will execute 1 database query. Only suitable for small numbers of users, as it uses an u.id IN() clause.
Notes about the sorting criteria.
As a default, we cannot rely on role.sortorder because then admins/coursecreators will always win. That is why the sane rule "is locality matters most", with sortorder as 2nd consideration.
If you want role.sortorder, use the 'sortorder' policy, and name explicitly what roles you want to cover. It's probably a good idea to see what roles have the capabilities you want (array_diff() them against roiles that have 'can-do-anything' to weed out admin-ish roles. Or fetch a list of roles from variables like $CFG->coursecontact .
array | $users | Users array, keyed on userid |
context | $context | |
array | $roles | ids of the roles to include, optional |
string | $sortpolicy | defaults to locality, more about |
array | sorted copy of the array |
switch_roles | ( | $first, | |
$second | |||
) |
Switch the sort order of two roles (used in admin/roles/manage.php).
stdClass | $first | The first role. Actually, only ->sortorder is used. |
stdClass | $second | The second role. Actually, only ->sortorder is used. |
boolean | success or failure |
unassign_capability | ( | $capability, | |
$roleid, | |||
$contextid = null |
|||
) |
Unassign a capability from a role.
string | $capability | the name of the capability |
int | $roleid | the role id |
int | context | $contextid | null means all contexts |
boolean | true or exception |
context::update_moved | ( | context | $newparent | ) |
Update context info after moving context in the tree structure.
context | $newparent |
void |
user_can_assign | ( | context | $context, |
$targetroleid | |||
) |
Checks if a user can assign users to a particular role in this context.
context | $context | |
int | $targetroleid | - the id of the role you want to assign users to |
boolean |
user_has_role_assignment | ( | $userid, | |
$roleid, | |||
$contextid = 0 |
|||
) |
Simple function returning a boolean true if user has roles in context or parent contexts, otherwise false.
int | $userid | |
int | $roleid | |
int | $contextid | empty means any context |
bool |
|
protected |
The context level Can be accessed publicly through $context->contextlevel One of CONTEXT_* e.g.
CONTEXT_COURSE, CONTEXT_MODULE
|
protected |
Id of the item this context is related to e.g.
COURSE_CONTEXT => course.id Can be accessed publicly through $context->instanceid
|
protected |
Whether this context is locked or not.
Can be accessed publicly through $context->locked.
const CONTEXT_BLOCK 80 |
Block context level - one instance for each block, sticky blocks are tricky because ppl think they should be able to override them at lower contexts.
Any other context level instance can be parent of block context.
|
protected |
Default sorting of capabilities in {.