1 |
efrain |
1 |
<?php
|
|
|
2 |
|
|
|
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
|
|
|
6 |
|
|
|
7 |
require(__DIR__.'/../../config.php');
|
|
|
8 |
|
|
|
9 |
if (empty($CFG->enableportfolios)) {
|
|
|
10 |
throw new \moodle_exception('disabled', 'portfolio');
|
|
|
11 |
}
|
|
|
12 |
|
|
|
13 |
require_once($CFG->libdir.'/portfoliolib.php');
|
|
|
14 |
require_once($CFG->libdir.'/portfolio/exporter.php');
|
|
|
15 |
|
|
|
16 |
$id = required_param('id', PARAM_INT);
|
|
|
17 |
|
|
|
18 |
$PAGE->set_url('/portfolio/download/file.php', array('id' => $id));
|
|
|
19 |
|
|
|
20 |
$exporter = portfolio_exporter::rewaken_object($id);
|
|
|
21 |
portfolio_export_pagesetup($PAGE, $exporter->get('caller'));
|
|
|
22 |
$exporter->verify_rewaken();
|
|
|
23 |
|
|
|
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 />');
|
|
|
27 |
|
|
|
28 |
|
|
|
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') . '" />
|
|
|
34 |
</form>
|
|
|
35 |
<iframe class="d-none" name="download-iframe" src=""></iframe>
|
|
|
36 |
</div>
|
|
|
37 |
';
|
|
|
38 |
|
|
|
39 |
$PAGE->requires->js_amd_inline("
|
|
|
40 |
require(['jquery'], function($) {
|
|
|
41 |
$('#redirectform').submit(function() {
|
|
|
42 |
$('#redirect').addClass('hide');
|
|
|
43 |
}).submit();
|
|
|
44 |
});");
|
|
|
45 |
echo $OUTPUT->footer();
|