From 4eb42f49a1c70eed8b60efefb9c964e7fada4c12 Mon Sep 17 00:00:00 2001 From: Dan Poltawski Date: Fri, 7 Jun 2013 12:03:24 +0800 Subject: [PATCH] MDL-17468 tool_uploaduser: seperate capability for user pictures --- admin/tool/uploaduser/db/access.php | 39 +++++++++++++++++++ .../uploaduser/lang/en/tool_uploaduser.php | 1 + admin/tool/uploaduser/picture.php | 2 +- admin/tool/uploaduser/settings.php | 6 +-- admin/tool/uploaduser/version.php | 2 +- 5 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 admin/tool/uploaduser/db/access.php diff --git a/admin/tool/uploaduser/db/access.php b/admin/tool/uploaduser/db/access.php new file mode 100644 index 00000000000..7fe1c3fd102 --- /dev/null +++ b/admin/tool/uploaduser/db/access.php @@ -0,0 +1,39 @@ +. + +/** + * Defines the capabilities used by the user upload admin tool + * + * @package tool_uploaduser + * @copyright 2013 Dan Poltawski + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +$capabilities = array( + + // Allows the user to upload user pictures. + 'tool/uploaduser:uploaduserpictures' => array( + 'riskbitmask' => RISK_SPAM, + 'captype' => 'write', + 'contextlevel' => CONTEXT_SYSTEM, + 'archetypes' => array( + 'manager' => CAP_ALLOW + ), + 'clonepermissionsfrom' => 'moodle/site:uploadusers', + ), +); diff --git a/admin/tool/uploaduser/lang/en/tool_uploaduser.php b/admin/tool/uploaduser/lang/en/tool_uploaduser.php index 1c2330a9bd2..b8d46f3a70f 100644 --- a/admin/tool/uploaduser/lang/en/tool_uploaduser.php +++ b/admin/tool/uploaduser/lang/en/tool_uploaduser.php @@ -59,6 +59,7 @@ $string['uploadusers_help'] = 'Users may be uploaded (and optionally enrolled in * Required fieldnames are username, password, firstname, lastname, email'; $string['uploaduserspreview'] = 'Upload users preview'; $string['uploadusersresult'] = 'Upload users results'; +$string['uploaduser:uploaduserpictures'] = 'Upload user pictures'; $string['useraccountupdated'] = 'User updated'; $string['useraccountuptodate'] = 'User up-to-date'; $string['userdeleted'] = 'User deleted'; diff --git a/admin/tool/uploaduser/picture.php b/admin/tool/uploaduser/picture.php index f0f15117f6f..fe3d8e511cc 100644 --- a/admin/tool/uploaduser/picture.php +++ b/admin/tool/uploaduser/picture.php @@ -38,7 +38,7 @@ admin_externalpage_setup('tooluploaduserpictures'); require_login(); -require_capability('moodle/site:uploadusers', context_system::instance()); +require_capability('tool/uploaduser:uploaduserpictures', context_system::instance()); $site = get_site(); diff --git a/admin/tool/uploaduser/settings.php b/admin/tool/uploaduser/settings.php index 0dc16e6d11f..d3b37d2b87b 100644 --- a/admin/tool/uploaduser/settings.php +++ b/admin/tool/uploaduser/settings.php @@ -25,7 +25,5 @@ defined('MOODLE_INTERNAL') || die; -if (has_capability('moodle/site:uploadusers', $systemcontext)) { - $ADMIN->add('accounts', new admin_externalpage('tooluploaduser', get_string('uploadusers', 'tool_uploaduser'), "$CFG->wwwroot/$CFG->admin/tool/uploaduser/index.php", 'moodle/site:uploadusers')); - $ADMIN->add('accounts', new admin_externalpage('tooluploaduserpictures', get_string('uploadpictures','tool_uploaduser'), "$CFG->wwwroot/$CFG->admin/tool/uploaduser/picture.php", 'moodle/site:uploadusers')); -} +$ADMIN->add('accounts', new admin_externalpage('tooluploaduser', get_string('uploadusers', 'tool_uploaduser'), "$CFG->wwwroot/$CFG->admin/tool/uploaduser/index.php", 'moodle/site:uploadusers')); +$ADMIN->add('accounts', new admin_externalpage('tooluploaduserpictures', get_string('uploadpictures','tool_uploaduser'), "$CFG->wwwroot/$CFG->admin/tool/uploaduser/picture.php", 'tool/uploaduser:uploaduserpictures')); diff --git a/admin/tool/uploaduser/version.php b/admin/tool/uploaduser/version.php index 6de83e56ea4..5116d1b7a64 100644 --- a/admin/tool/uploaduser/version.php +++ b/admin/tool/uploaduser/version.php @@ -25,7 +25,7 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2013050100; // The current plugin version (Date: YYYYMMDDXX) +$plugin->version = 2013061400; // The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2013050100; // Requires this Moodle version $plugin->component = 'tool_uploaduser'; // Full name of the plugin (used for diagnostics) -- 2.43.0