# This patch file was generated by NetBeans IDE
# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
# It uses platform neutral UTF-8 encoding.
# Above lines and this line are ignored by the patching process.
Index: moodle/blocks/private_files/block_private_files.php
--- moodle/blocks/private_files/block_private_files.php Base (1.9)
+++ moodle/blocks/private_files/block_private_files.php Locally Modified (Based On 1.9)
@@ -60,7 +60,9 @@
 
             $renderer = $this->page->get_renderer('block_private_files');
             $this->content->text = $renderer->private_files_tree();
+            if (has_capability('moodle/user:manageownfiles', $this->context)) {
             $this->content->text .= $OUTPUT->single_button(new moodle_url('/user/filesedit.php'), get_string('myfilesmanage'), 'get');
+            }
             $this->content->footer = '';
 
         }
Index: moodle/lang/en/role.php
--- moodle/lang/en/role.php Base (1.17)
+++ moodle/lang/en/role.php Locally Modified (Based On 1.17)
@@ -353,6 +353,7 @@
 $string['user:loginas'] = 'Login as other users';
 $string['user:manageblocks'] = 'Manage blocks on user profile of other users';
 $string['user:manageownblocks'] = 'Manage blocks on own public user profile';
+$string['user:manageownfiles'] = 'Manage files on own private file areas';
 $string['user:managesyspages'] = 'Configure default page layout for public user profiles';
 $string['user:readuserblogs'] = 'See all user blogs';
 $string['user:readuserposts'] = 'See all user posts';
Index: moodle/lib/db/access.php
--- moodle/lib/db/access.php Base (1.140)
+++ moodle/lib/db/access.php Locally Modified (Based On 1.140)
@@ -522,10 +522,22 @@
         'captype' => 'write',
         'contextlevel' => CONTEXT_SYSTEM,
         'archetypes' => array(
-            'user' => CAP_ALLOW,
+            'user' => CAP_ALLOW
         )
     ),
 
+    // can the user manage their own files?
+    'moodle/user:manageownfiles' => array(
+
+        'riskbitmap' => RISK_SPAM | RISK_PERSONAL,
+
+        'captype' => 'write',
+        'contextlevel' => CONTEXT_SYSTEM,
+        'archetypes' => array(
+            'user' => CAP_ALLOW
+        )
+    ),
+
     // can the user manage the system default dashboard page?
     'moodle/my:configsyspages' => array(
 
Index: moodle/mod/folder/db/access.php
--- moodle/mod/folder/db/access.php Base (1.3)
+++ moodle/mod/folder/db/access.php Locally Modified (Based On 1.3)
@@ -35,5 +35,14 @@
         )
     ),*/
 
+    // mod/folder:managefiles should be enabled to editingteacher role only
+    'mod/folder:managefiles' => array(
+        'riskbitmask' => RISK_PERSONAL,
+        'captype' => 'write',
+        'contextlevel' => CONTEXT_MODULE,
+        'archetypes' => array(
+            'editingteacher' => CAP_ALLOW
+        )
+    )
 );
 
Index: moodle/mod/folder/edit.php
--- moodle/mod/folder/edit.php Base (1.4)
+++ moodle/mod/folder/edit.php Locally Modified (Based On 1.4)
@@ -36,7 +36,7 @@
 $course = $DB->get_record('course', array('id'=>$cm->course), '*', MUST_EXIST);
 
 require_login($course, false, $cm);
-require_capability('moodle/course:managefiles', $context);
+require_capability('mod/folder:managefiles', $context);
 
 add_to_log($course->id, 'folder', 'edit', 'edit.php?id='.$cm->id, $folder->id, $cm->id);
 
Index: moodle/mod/folder/lang/en/folder.php
--- moodle/mod/folder/lang/en/folder.php Base (1.3)
+++ moodle/mod/folder/lang/en/folder.php Locally Modified (Based On 1.3)
@@ -24,6 +24,7 @@
  */
 
 $string['contentheader'] = 'Content';
+$string['folder:managefiles'] = 'Manage files in folder module';
 $string['folderadministration'] = 'Folder administration';
 $string['foldercontent'] = 'Files and subfolders';
 $string['modulename'] = 'Folder';
Index: moodle/mod/folder/version.php
--- moodle/mod/folder/version.php Base (1.1)
+++ moodle/mod/folder/version.php Locally Modified (Based On 1.1)
@@ -23,7 +23,7 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$module->version  = 2009080500;
+$module->version  = 2010072200;
 $module->requires = 2009073101;  // Requires this Moodle version
 $module->cron     = 0;
 
Index: moodle/mod/folder/view.php
--- moodle/mod/folder/view.php Base (1.15)
+++ moodle/mod/folder/view.php Locally Modified (Based On 1.15)
@@ -74,7 +74,7 @@
 echo $output->folder_tree($folder, $cm, $course);
 echo $output->box_end();
 
-if (has_capability('moodle/course:managefiles', $context)) {
+if (has_capability('mod/folder:managefiles', $context)) {
     echo $output->container_start('mdl-align');
     echo $output->single_button(new moodle_url('/mod/folder/edit.php', array('id'=>$id)), get_string('edit'));
     echo $output->container_end();
Index: moodle/user/filesedit.php
--- moodle/user/filesedit.php Base (1.1)
+++ moodle/user/filesedit.php Locally Modified (Based On 1.1)
@@ -31,9 +31,9 @@
 if (isguestuser()) {
     die();
 }
-//TODO: add capability check here!
-
 $context = get_context_instance(CONTEXT_USER, $USER->id);
+require_capability('moodle/user:manageownfiles', $context);
+
 $title = get_string('myfiles');
 $struser = get_string('user');
 
Index: moodle/version.php
--- moodle/version.php Base (1.1679)
+++ moodle/version.php Locally Modified (Based On 1.1679)
