mirror of
https://github.com/moodle/moodle.git
synced 2025-03-06 08:49:53 +01:00
Rather than performing complicated upgrade procedures from the old (broken) logic in three activity modules, we are adding new capabilities to those three modules to make them all consistent, and using them in a callback from the Ratings API. This is the same as the Comments API. The downside is that two sets of capabilities need to be enabled for ratings to work. Hopefully this can be mitigated somewhat when build some sort of shortcuts on the module settings forms to set capabilities. In the meantime, the effect is reduced somewhat by having all the rating capabilities enabled by default for student and teacher roles. This means control is in the hands of whatever the modules have set, giving very close backward compatibility. This is not the perfect solution, but neither were the other two.
213 lines
5.3 KiB
PHP
213 lines
5.3 KiB
PHP
<?php
|
|
//
|
|
// Capability definitions for the glossary module.
|
|
//
|
|
// 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]/<plugin_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 is $capabilities
|
|
|
|
|
|
$capabilities = array(
|
|
|
|
'mod/glossary:write' => array(
|
|
|
|
'riskbitmask' => RISK_SPAM,
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:manageentries' => array(
|
|
|
|
'riskbitmask' => RISK_SPAM,
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:managecategories' => array(
|
|
|
|
'riskbitmask' => RISK_SPAM,
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:comment' => array(
|
|
|
|
'riskbitmask' => RISK_SPAM,
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'student' => CAP_ALLOW,
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:managecomments' => array(
|
|
|
|
'riskbitmask' => RISK_SPAM,
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:import' => array(
|
|
|
|
'riskbitmask' => RISK_SPAM,
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:export' => array(
|
|
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:approve' => array(
|
|
|
|
'riskbitmask' => RISK_SPAM,
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:rate' => array(
|
|
|
|
'captype' => 'write',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:viewrating' => array(
|
|
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:viewanyrating' => array(
|
|
|
|
'riskbitmask' => RISK_PERSONAL,
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
),
|
|
'clonepermissionsfrom' => 'mod/glossary:viewrating'
|
|
),
|
|
|
|
'mod/glossary:viewallratings' => array(
|
|
|
|
'riskbitmask' => RISK_PERSONAL,
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
),
|
|
'clonepermissionsfrom' => 'mod/glossary:viewrating'
|
|
),
|
|
|
|
'mod/glossary:exportentry' => array(
|
|
|
|
'riskbitmask' => RISK_PERSONAL,
|
|
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW
|
|
)
|
|
),
|
|
|
|
'mod/glossary:exportownentry' => array(
|
|
|
|
'captype' => 'read',
|
|
'contextlevel' => CONTEXT_MODULE,
|
|
'legacy' => array(
|
|
'teacher' => CAP_ALLOW,
|
|
'editingteacher' => CAP_ALLOW,
|
|
'manager' => CAP_ALLOW,
|
|
'student' => CAP_ALLOW,
|
|
)
|
|
),
|
|
|
|
);
|
|
|
|
|