3 // this script is a slightly more user friendly way to 'send' the file to them
4 // (using portfolio/file.php) but still give them the 'return to where you were' link
5 // to go back to their assignment, or whatever
7 require(__DIR__
.'/../../config.php');
9 if (empty($CFG->enableportfolios
)) {
10 throw new \
moodle_exception('disabled', 'portfolio');
13 require_once($CFG->libdir
.'/portfoliolib.php');
14 require_once($CFG->libdir
.'/portfolio/exporter.php');
16 $id = required_param('id', PARAM_INT
);
18 $PAGE->set_url('/portfolio/download/file.php', array('id' => $id));
20 $exporter = portfolio_exporter
::rewaken_object($id);
21 portfolio_export_pagesetup($PAGE, $exporter->get('caller'));
22 $exporter->verify_rewaken();
24 $exporter->print_header(get_string('downloading', 'portfolio_download'), false);
25 $returnurl = $exporter->get('caller')->get_return_url();
26 echo $OUTPUT->notification('<a href="' . $returnurl . '">' . get_string('returntowhereyouwere', 'portfolio') . '</a><br />');
29 // if they don't have javascript, they can submit the form here to get the file.
30 // if they do, it does it nicely for them.
31 echo '<div id="redirect">
32 <form action="' . $exporter->get('instance')->get_base_file_url() . '" method="post" id="redirectform" target="download-iframe">
33 <input type="submit" value="' . get_string('downloadfile', 'portfolio_download') . '" />
35 <iframe class="d-none" name="download-iframe" src=""></iframe>
39 $PAGE->requires
->js_amd_inline("
40 require(['jquery'], function($) {
41 $('#redirectform').submit(function() {
42 $('#redirect').addClass('hide');
45 echo $OUTPUT->footer();