questioncat = $categoryid; } else { // try to get category from modform $showcatmenu = true; // will ensure that user can choose category if (isset($SESSION->questioncat)) { $categoryid = $SESSION->questioncat; } } if (! $category = get_record("question_categories", "id", $categoryid)) { $category = get_default_question_category($courseid); } if (! $categorycourse = get_record("course", "id", $category->course)) { error( get_string('nocategory','quiz') ); } require_login($course->id, false); if (!isteacher($course->id)) { error( get_string('onlyteachersexport','quiz') ); } // ensure the files area exists for this course make_upload_directory( "$course->id" ); $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"); $dirname = get_string("exportfilename","quiz"); /// Header: if (isset($SESSION->modform->instance) and $quiz = get_record('quiz', 'id', $SESSION->modform->instance)) { $strupdatemodule = isteacheredit($course->id) ? update_module_button($SESSION->modform->cmid, $course->id, get_string('modulename', 'quiz')) : ""; print_header_simple($strexportquestions, '', "wwwroot/mod/quiz/index.php?id=$course->id\">".get_string('modulenameplural', 'quiz').''. " -> wwwroot/mod/quiz/view.php?q=$quiz->id\">".format_string($quiz->name).''. ' -> '.$strexportquestions, "", "", true, $strupdatemodule); $currenttab = 'edit'; $mode = 'export'; include($CFG->dirroot.'/mod/quiz/tabs.php'); } else { print_header_simple($strexportquestions, '', $strexportquestions); // print tabs $currenttab = 'export'; include('tabs.php'); } if (!empty($format)) { /// Filename if (!confirm_sesskey()) { echo( 'Sesskey error' ); } if (! is_readable("format/$format/format.php")) { error('Format not known ('.clean_text($form->format).')'); } require("format.php"); // Parent class require("format/$format/format.php"); $classname = "qformat_$format"; $qformat = new $classname(); if (! $qformat->exportpreprocess($category, $course)) { // Do anything before that we need to error( get_string('exporterror','quiz'), "$CFG->wwwroot/question/export.php?courseid={$course->id}&category=$category->id"); } if (! $qformat->exportprocess($exportfilename)) { // Process the export data error( get_string('exporterror','quiz'), "$CFG->wwwroot/question/export.php?courseid={$course->id}&category=$category->id"); } if (! $qformat->exportpostprocess()) { // In case anything needs to be done after error( get_string('exporterror','quiz'), "$CFG->wwwroot/question/export.php?courseid={$course->id}&category=$category->id"); } echo "
"; // link to download the finished file $file_ext = $qformat->export_file_extension(); $download_str = get_string( 'download', 'quiz' ); $downloadextra_str = get_string( 'downloadextra','quiz' ); if ($CFG->slasharguments) { $efile = "{$CFG->wwwroot}/file.php/".$qformat->question_get_export_dir()."/$exportfilename".$file_ext."?forcedownload=1"; } else { $efile = "{$CFG->wwwroot}/file.php?file=/".$qformat->question_get_export_dir()."/$exportfilename".$file_ext."&forcedownload=1"; } echo "

$download_str

"; echo "

$downloadextra_str

"; print_continue("edit.php?courseid=$course->id"); print_footer($course); exit; } /// Print upload form // get valid formats to generate dropdown list $fileformatnames = get_import_export_formats( "export" ); // get filename if (empty($exportfilename)) { $exportfilename = default_export_filename($course, $category); } /// Get all the existing categories now if (!$categories = get_records_select("question_categories", "course = '{$course->id}' OR publish = '1'", "parent, sortorder, name ASC")) { error("Could not find any question categories!"); } $categories = add_indented_names($categories); foreach ($categories as $key => $cat) { if ($catcourse = get_record("course", "id", $cat->course)) { if ($cat->publish && $cat->course != $course->id) { $cat->indentedname .= " ($catcourse->shortname)"; } $catmenu[$cat->id] = $cat->indentedname; } } print_heading_with_help($strexportquestions, "export", "quiz"); print_simple_box_start("center"); echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
\n"; print_string("category", "quiz"); echo ":"; if (!$showcatmenu) { // category already specified echo question_category_coursename($category); echo " id\" />"; } else { // no category specified, let user choose choose_from_menu($catmenu, "category", $category->id, ""); } //echo str_replace(' ', '', $category->name) . " ($categorycourse->shortname)"; 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 "
\n"; echo "
\n"; print_simple_box_end(); print_footer($course); ?>