From: thepurpleblob Date: Thu, 17 Jun 2004 16:18:21 +0000 (+0000) Subject: New file for exporting quizzes X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=c040a9a2ffc642c2ddab16657a50837a8e775362;p=moodle.git New file for exporting quizzes --- diff --git a/mod/quiz/export.php b/mod/quiz/export.php new file mode 100644 index 0000000000..8b6ad982e2 --- /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 "
"; + print_continue("edit.php"); + print_footer($course); + exit; + } + + /// Print upload form + + if (!$categories = quiz_get_category_menu($course->id, true)) { + error("No categories!"); + } + + $fileformats = get_list_of_plugins("mod/quiz/format"); + $fileformatname = array(); + foreach ($fileformats as $key => $fileformat) { + $formatname = get_string($fileformat, 'quiz'); + if ($formatname == "[[$fileformat]]") { + $formatname = $fileformat; // Just use the raw folder name + } + $fileformatnames[$fileformat] = $formatname; + } + natcasesort($fileformatnames); + + // get filename + if (!isset($exportfilename)) { + $exportfilename = default_export_filename($course, $category); + } + + print_heading_with_help($strexportquestions, "export", "quiz"); + + print_simple_box_start("center", "", "$THEME->cellheading"); + echo "
"; + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo "
"; + print_string("category", "quiz"); + echo ":"; + choose_from_menu($categories, "category", "$category->id", ""); + echo "
"; + print_string("fileformat", "quiz"); + echo ":"; + choose_from_menu($fileformatnames, "format", "gift", ""); + helpbutton("export", $strexportquestions, "quiz"); + echo "
"; + print_string("exportname", "quiz" ); + echo ":"; + echo ""; + echo "
"; + echo " id\">"; + echo " "; + echo "
"; + echo "
"; + print_simple_box_end(); + + print_footer($course); + +?>