From 9093de635442e165e6d3df65f789fd70a8e077e0 Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Thu, 14 Oct 2010 18:20:24 +0000 Subject: [PATCH] MDL-14627 new mod/folder:view capability --- mod/folder/db/access.php | 9 +++++++++ mod/folder/lang/en/folder.php | 1 + mod/folder/lib.php | 3 +++ mod/folder/version.php | 2 +- mod/folder/view.php | 1 + 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/mod/folder/db/access.php b/mod/folder/db/access.php index 557d1a56be9ee..b6e3cfa9e4190 100644 --- a/mod/folder/db/access.php +++ b/mod/folder/db/access.php @@ -27,6 +27,15 @@ defined('MOODLE_INTERNAL') || die(); $capabilities = array( + 'mod/folder:view' => array( + 'captype' => 'read', + 'contextlevel' => CONTEXT_MODULE, + 'archetypes' => array( + 'guest' => CAP_ALLOW, + 'user' => CAP_ALLOW, + ) + ), + /* TODO: review public portfolio API first! 'mod/folder:portfolioexport' => array( diff --git a/mod/folder/lang/en/folder.php b/mod/folder/lang/en/folder.php index 119233de4f3fd..67020a08095b8 100644 --- a/mod/folder/lang/en/folder.php +++ b/mod/folder/lang/en/folder.php @@ -26,6 +26,7 @@ $string['contentheader'] = 'Content'; $string['folder:managefiles'] = 'Manage files in folder module'; +$string['folder:view'] = 'View folder content'; $string['foldercontent'] = 'Files and subfolders'; $string['modulename'] = 'Folder'; $string['modulenameplural'] = 'Folders'; diff --git a/mod/folder/lib.php b/mod/folder/lib.php index 71b9442167afa..f8cd8768d1eda 100644 --- a/mod/folder/lib.php +++ b/mod/folder/lib.php @@ -289,6 +289,9 @@ function folder_pluginfile($course, $cm, $context, $filearea, $args, $forcedownl } require_course_login($course, true, $cm); + if (!has_capability('mod/folder:view', $context)) { + return false; + } if ($filearea !== 'content') { // intro is handled automatically in pluginfile.php diff --git a/mod/folder/version.php b/mod/folder/version.php index 517232c23382d..d23f949a05b26 100644 --- a/mod/folder/version.php +++ b/mod/folder/version.php @@ -26,7 +26,7 @@ defined('MOODLE_INTERNAL') || die(); -$module->version = 2010080300; +$module->version = 2010101400; $module->requires = 2010080300; // Requires this Moodle version $module->cron = 0; diff --git a/mod/folder/view.php b/mod/folder/view.php index 7984f60dc6cee..afe90f1245618 100644 --- a/mod/folder/view.php +++ b/mod/folder/view.php @@ -45,6 +45,7 @@ require_course_login($course, true, $cm); $context = get_context_instance(CONTEXT_MODULE, $cm->id); +require_capability('mod/folder:view', $context); add_to_log($course->id, 'folder', 'view', 'view.php?id='.$cm->id, $folder->id, $cm->id);