MDL-14591 adding standard access control
[moodle.git] / portfolio / file.php
index 3135bc6..e56cceb 100644 (file)
@@ -1,12 +1,20 @@
 <?php
 require_once(dirname(dirname(__FILE__)) . '/config.php');
+
+if (empty($CFG->enableportfolios)) {
+    print_error('disabled', 'portfolio');
+}
+
 require_once($CFG->libdir . '/portfoliolib.php');
 require_once($CFG->libdir . '/file/stored_file.php');
 require_once($CFG->libdir . '/filelib.php');
 
 $id = required_param('id', PARAM_INT);
 
+require_login();
+
 $exporter = portfolio_exporter::rewaken_object($id);
+$exporter->verify_rewaken();
 
 if ($exporter->get('instance')->is_push()) {
     throw new portfolio_export_exception($exporter, 'filedenied', 'portfolio');
@@ -16,12 +24,7 @@ if (!$exporter->get('instance')->verify_file_request_params(array_merge($_GET, $
     throw new portfolio_export_exception($exporter, 'filedenied', 'portfolio');
 }
 
-$file = $exporter->get('instance')->get('file');
-if (!($file instanceof stored_file)) {
-    throw new portfolio_export_exception($exporter, 'filenotfound', 'portfolio');
-}
-
-send_stored_file($file, 0, 0, true, null, true);
+$exporter->get('instance')->send_file();
 $exporter->process_stage_cleanup(true);
-
+exit;
 ?>