Skip to content

Instantly share code, notes, and snippets.

@dionysius
Created January 30, 2018 21:29
Show Gist options
  • Save dionysius/48db939552a2255b2c1ad8145c17432d to your computer and use it in GitHub Desktop.
Save dionysius/48db939552a2255b2c1ad8145c17432d to your computer and use it in GitHub Desktop.
studentquiz access.php comparison
@@ -1,105 +1,169 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Capability definitions for the StudentQuiz 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).
*
* 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
*
* @package mod_studentquiz
- * @copyright 2016 HSR (http://www.hsr.ch)
+ * @copyright 2017 HSR (http://www.hsr.ch)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$capabilities = array(
+ // Ability to add a new activity.
'mod/studentquiz:addinstance' => array(
'riskbitmask' => RISK_XSS,
'captype' => 'write',
'contextlevel' => CONTEXT_COURSE,
'archetypes' => array(
'editingteacher' => CAP_ALLOW,
- 'manager' => CAP_ALLOW
+ 'manager' => CAP_ALLOW,
),
- 'clonepermissionsfrom' => 'moodle/course:manageactivities'
+ 'clonepermissionsfrom' => 'moodle/course:manageactivities',
),
+ // Ability to see the activity.
'mod/studentquiz:view' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_MODULE,
- 'legacy' => array(
- 'student' => CAP_ALLOW,
- 'teacher' => CAP_ALLOW,
+ 'archetypes' => array(
+ 'student' => CAP_ALLOW,
+ 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW,
- 'manager' => CAP_ALLOW
- )
+ 'manager' => CAP_ALLOW,
+ ),
),
+ // Ability to create questions.
'mod/studentquiz:submit' => array(
'riskbitmask' => RISK_SPAM,
'captype' => 'write',
'contextlevel' => CONTEXT_MODULE,
- 'legacy' => array(
- 'student' => CAP_ALLOW
- )
+ 'archetypes' => array(
+ 'student' => CAP_ALLOW,
+ 'teacher' => CAP_ALLOW,
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
),
- 'mod/studentquiz:emailnotifychange' => array(
+ // Ability to preview questions other than mine.
+ 'mod/studentquiz:previewothers' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_MODULE,
- 'archetypes' => array(),
- 'legacy' => array(
- 'student' => CAP_ALLOW,
- 'teacher' => CAP_ALLOW
- )
+ 'archetypes' => array(
+ 'teacher' => CAP_ALLOW,
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
),
- 'mod/studentquiz:emailnotifyapproved' => array(
- 'captype' => 'read',
+ // Ability to edit the settings.
+ 'mod/studentquiz:manage' => array(
+ 'captype' => 'write',
'contextlevel' => CONTEXT_MODULE,
- 'archetypes' => array(),
- 'legacy' => array(
- 'student' => CAP_ALLOW,
- 'teacher' => CAP_ALLOW
- )
+ 'archetypes' => array(
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
+ 'clonepermissionsfrom' => 'moodle/course:manageactivities',
),
- 'mod/studentquiz:emailnotifyunapproved' => array(
+ // Ability to see the real user names even when anonymize is active.
+ 'mod/studentquiz:unhideanonymous' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_MODULE,
- 'archetypes' => array(),
- 'legacy' => array(
- 'student' => CAP_ALLOW,
- 'teacher' => CAP_ALLOW
- )
+ 'archetypes' => array(
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
+ ),
+ // Notifications.
+ 'mod/studentquiz:emailnotifychanged' => array(
+ 'riskbitmask' => RISK_SPAM,
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_MODULE,
+ 'archetypes' => array(
+ 'student' => CAP_ALLOW,
+ 'teacher' => CAP_ALLOW,
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
+ ),
+ 'mod/studentquiz:emailnotifydeleted' => array(
+ 'riskbitmask' => RISK_SPAM,
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_MODULE,
+ 'archetypes' => array(
+ 'student' => CAP_ALLOW,
+ 'teacher' => CAP_ALLOW,
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
+ ),
+ 'mod/studentquiz:emailnotifyapproved' => array(
+ 'riskbitmask' => RISK_SPAM,
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_MODULE,
+ 'archetypes' => array(
+ 'student' => CAP_ALLOW,
+ 'teacher' => CAP_ALLOW,
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
+ ),
+ 'mod/studentquiz:emailnotifycommentadded' => array(
+ 'riskbitmask' => RISK_SPAM,
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_MODULE,
+ 'archetypes' => array(
+ 'student' => CAP_ALLOW,
+ 'teacher' => CAP_ALLOW,
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
+ ),
+ 'mod/studentquiz:emailnotifycommentdeleted' => array(
+ 'riskbitmask' => RISK_SPAM,
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_MODULE,
+ 'archetypes' => array(
+ 'student' => CAP_ALLOW,
+ 'teacher' => CAP_ALLOW,
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW,
+ ),
),
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment