diff --git a/mod/quiz/export.php b/mod/quiz/export.php new file mode 100644 index 00000000000..8b6ad982e2d --- /dev/null +++ b/mod/quiz/export.php @@ -0,0 +1,126 @@ +course)) { + error("This category doesn't belong to a valid course!"); + } + + require_login($course->id); + + if (!isteacher($course->id)) { + error("Only the teacher can import quiz questions!"); + } + + $strexportquestions = get_string("exportquestions", "quiz"); + $strquestions = get_string("questions", "quiz"); + + $strquizzes = get_string('modulenameplural', 'quiz'); + $streditingquiz = get_string(isset($SESSION->modform->instance) ? "editingquiz" : "editquestions", "quiz"); + + print_header("$course->shortname: $strexportquestions", "$course->shortname: $strexportquestions", + "wwwroot/course/view.php?id=$course->id\">$course->shortname ". + "-> wwwroot/mod/quiz/index.php?id=$course->id\">$strquizzes". + " -> $streditingquiz -> $strexportquestions"); + + if ($form = data_submitted()) { /// Filename + + + if (! is_readable("format/$form->format/format.php")) { + error("Format not known ($form->format)"); + } + + require("format.php"); // Parent class + require("format/$form->format/format.php"); + + $format = new quiz_file_format(); + + if (! $format->exportpreprocess($category)) { // Do anything before that we need to + error("Error occurred during pre-processing!", + "$CFG->wwwroot/mod/quiz/export.php?category=$category->id"); + } + + if (! $format->exportprocess($exportfilename)) { // Process the export data + error("Error occurred during processing!", + "$CFG->wwwroot/mod/quiz/export.php?category=$category->id"); + } + + if (! $format->exportpostprocess()) { // In case anything needs to be done after + error("Error occurred during post-processing!", + "$CFG->wwwroot/mod/quiz/export.php?category=$category->id"); + } + + echo "