MDL-32155 blocks: User can't access file, if block is hidden or doesn't have block...
authorRajesh Taneja <rajesh@moodle.com>
Fri, 18 May 2012 06:55:32 +0000 (14:55 +0800)
committerRajesh Taneja <rajesh@moodle.com>
Wed, 23 May 2012 04:57:31 +0000 (12:57 +0800)
lib/filelib.php

index ea169cc..92565f9 100644 (file)
@@ -3898,6 +3898,12 @@ function file_pluginfile($relativepath, $forcedownload) {
                 // somebody tries to gain illegal access, cm type must match the component!
                 send_file_not_found();
             }
+
+            $bprecord = $DB->get_record('block_positions', array('blockinstanceid' => $context->instanceid), 'visible');
+            // User can't access file, if block is hidden or doesn't have block:view capability
+            if (($bprecord && !$bprecord->visible) || !has_capability('moodle/block:view', $context)) {
+                 send_file_not_found();
+            }
         } else {
             $birecord = null;
         }