mirror of
https://github.com/moodle/moodle.git
synced 2025-08-02 23:59:41 +02:00

======================================= WARNING: DEV IS CURRENTLY VERY UNSTABLE. This is a mega-checkin of the new Roles system. A lot of changes have been made in core and modules. Currently there are a lot of rough edges and known problems. We are working hard on these .. .the reason for getting this into HEAD at this stage is enable us to move faster (our branch was diverging from HEAD too much). Please keep an eye on http://docs.moodle.org/en/Roles for current status and information for developers on how to use the new Roles system.
555 lines
15 KiB
PHP
555 lines
15 KiB
PHP
<?php
|
|
//
|
|
// Capability definitions for Moodle core.
|
|
//
|
|
// The capabilities are loaded into the database table when the module is
|
|
// installed or updated. Whenever the capability definitions are updated,
|
|
// the module version number should be bumped up.
|
|
//
|
|
// The system has four possible values for a capability:
|
|
// CAP_ALLOW, CAP_PREVENT, CAP_PROHIBIT, and inherit (not set).
|
|
//
|
|
//
|
|
// CAPABILITY NAMING CONVENTION
|
|
//
|
|
// It is important that capability names are unique. The naming convention
|
|
// for capabilities that are specific to modules and blocks is as follows:
|
|
// [mod/block]/<component_name>:<capabilityname>
|
|
//
|
|
// component_name should be the same as the directory name of the mod or block.
|
|
//
|
|
// Core moodle capabilities are defined thus:
|
|
// moodle/<capabilityclass>:<capabilityname>
|
|
//
|
|
// Examples: mod/forum:viewpost
|
|
// block/recent_activity:view
|
|
// moodle/site:deleteuser
|
|
//
|
|
// The variable name for the capability definitions array follows the format
|
|
// $<componenttype>_<component_name>_capabilities
|
|
//
|
|
// For the core capabilities, the variable is $moodle_capabilities.
|
|
|
|
|
|
$moodle_capabilities = array(
|
|
|
|
'moodle/site:doanything' => array(
|
|
'captype' => 'admin',
|
|
'contextlevel' => CONTEXT_SYSTEM
|
|
),
|
|
|
|
'moodle/legacy:guest' => array(
|
|
'captype' => 'legacy',
|
|
'contextlevel' => CONTEXT_SYSTEM
|
|
),
|
|
|
|
|
|
'moodle/legacy:student' => array(
|
|
'captype' => 'legacy',
|
|
'contextlevel' => CONTEXT_SYSTEM
|
|
),
|
|
|
|
|
|
'moodle/legacy:teacher' => array(
|
|
'captype' => 'legacy',
|
|
'contextlevel' => CONTEXT_SYSTEM
|
|
),
|
|
|
|
|
|
'moodle/legacy:editingteacher' => array(
|
|
'captype' => 'legacy',
|
|
'contextlevel' => CONTEXT_SYSTEM
|
|
),
|
|
|
|
|
|
'moodle/legacy:coursecreator' => array(
|
|
'captype' => 'legacy',
|
|
'contextlevel' => CONTEXT_SYSTEM
|
|
),
|
|
|
|
|
|
'moodle/legacy:admin' => array(
|
|
'captype' => 'legacy',
|
|
'contextlevel' => CONTEXT_SYSTEM
|
|
),
|
|
|
|
|
|
'moodle/site:config' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/site:import' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/site:backup' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/site:restore' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/site:manageblocks' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/user:create' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/user:delete' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/user:update' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/user:viewdetails' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/role:assign' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/role:manage' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/category:create' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSECAT,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/category:delete' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSECAT,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/category:update' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSECAT,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/category:visibility' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSECAT,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:create' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:delete' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:update' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:view' => array(
|
|
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:visibility' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:manageactivities' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:activityvisibility' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:viewhiddenactivities' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:viewparticipants' => array(
|
|
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:viewscales' => array(
|
|
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:managescales' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/course:managegroups' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_COURSE,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/blog:view' => array(
|
|
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/blog:create' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/blog:manageofficialtags' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_PREVENT,
|
|
'editingteacher' => CAP_PREVENT,
|
|
'coursecreator' => CAP_PREVENT,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/blog:managepersonaltags' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/blog:manageentries' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/calendar:manageownentries' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'moodle/calendar:manageentries' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_SYSTEM,
|
|
'legacy' => array(
|
|
'guest' => CAP_PREVENT,
|
|
'student' => CAP_PREVENT,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'coursecreator' => CAP_ALLOW,
|
|
'admin' => CAP_ALLOW
|
|
)
|
|
)
|
|
|
|
);
|
|
|
|
?>
|