From 5d0f79e1b29586a7ec4705891ceb35289b426b63 Mon Sep 17 00:00:00 2001 From: robertall Date: Wed, 18 Jun 2008 17:45:09 +0000 Subject: [PATCH] [MDL-15308] Automatically download exported preset. Merged from MOODLE_19_STABLE. --- mod/data/preset.php | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/mod/data/preset.php b/mod/data/preset.php index c182e4143b..a99d60b48a 100644 --- a/mod/data/preset.php +++ b/mod/data/preset.php @@ -69,10 +69,11 @@ $sesskey = sesskey(); /********************************************************************/ /* Output */ -data_print_header($course, $cm, $data, 'presets'); +if ($action !== 'export') { + data_print_header($course, $cm, $data, 'presets'); +} switch ($action) { - /***************** Deleting *****************/ case 'confirmdelete' : if (!confirm_sesskey()) { // GET request ok here @@ -100,7 +101,7 @@ switch ($action) { $optionsno->d = $data->id; notice_yesno($strwarning, 'preset.php', 'preset.php', $options, $optionsno, 'post', 'get'); print_footer($course); - exit; + exit(0); break; case 'delete' : @@ -123,10 +124,8 @@ switch ($action) { $strdeleted = get_string('deleted', 'data'); notify("$shortname $strdeleted", 'notifysuccess'); - break; - /***************** Importing *****************/ case 'importpreset' : if (!data_submitted() or !confirm_sesskey()) { @@ -137,7 +136,7 @@ switch ($action) { $pimporter->import_options(); print_footer($course); - exit; + exit(0); break; /* Imports a zip file. */ @@ -161,7 +160,7 @@ switch ($action) { $pimporter->import_options(); print_footer($course); - exit; + exit(0); break; case 'finishimport': @@ -188,12 +187,17 @@ switch ($action) { print_error('invalidrequest'); } $exportfile = data_presets_export($course, $cm, $data); - $dataroot = preg_quote($CFG->dataroot, '/'); - $downloadurl = preg_replace("/$dataroot/", $CFG->wwwroot . '/file.php', $exportfile, 1); - echo '
'; - echo get_string('exportedtozip', 'data') . '
'; - echo "" . get_string('download', 'data') . ''; - echo '
'; + $exportfilename = basename($exportfile); + header("Content-Type: application/download\n"); + header("Content-Disposition: attachment; filename=$exportfilename"); + header('Expires: 0'); + header('Cache-Control: must-revalidate,post-check=0,pre-check=0'); + header('Pragma: public'); + $exportfilehandler = fopen($exportfile, 'rb'); + print fread($exportfilehandler, filesize($exportfile)); + fclose($exportfilehandler); + unlink($exportfile); + exit(0); break; /***************** Exporting *****************/ @@ -216,7 +220,7 @@ switch ($action) { echo ''; echo ''; print_footer($course); - exit; + exit(0); break; case 'save2': @@ -251,7 +255,7 @@ switch ($action) { echo ''; echo ''; print_footer($course); - exit; + exit(0); break; } -- 2.39.5