. /** * XHTML question exporter. * * @package qformat * @subpackage xhtml * @copyright 2005 Howard Miller * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); /** * XHTML question exporter. * * Exports questions as static HTML. * * @copyright 2005 Howard Miller * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class qformat_xhtml extends qformat_default { public function provide_export() { return true; } protected function repchar($text) { return $text; } protected function writequestion($question) { global $OUTPUT; // turns question into string // question reflects database fields for general question and specific to type // if a category switch, just ignore if ($question->qtype=='category') { return ''; } // initial string; $expout = ""; $id = $question->id; // add comment and div tags $expout .= "\n"; $expout .= "
\n"; // add header $expout .= "

$question->name

\n"; // Format and add the question text $expout .= '

' . format_text($question->questiontext, $question->questiontextformat) . "

\n"; // selection depends on question type switch($question->qtype) { case TRUEFALSE: $st_true = get_string('true', 'qtype_truefalse'); $st_false = get_string('false', 'qtype_truefalse'); $expout .= "\n"; break; case MULTICHOICE: $expout .= "\n"; break; case SHORTANSWER: $expout .= "\n"; break; case NUMERICAL: $expout .= "\n"; break; case MATCH: $expout .= "\n"; break; case DESCRIPTION: break; case MULTIANSWER: $expout .= "\n"; break; default: echo $OUTPUT->notification("No handler for qtype $question->qtype for GIFT export" ); } // close off div $expout .= "
\n\n\n"; return $expout; } protected function presave_process($content) { // override method to allow us to add xhtml headers and footers global $CFG; // get css bit $css_lines = file( "$CFG->dirroot/question/format/xhtml/xhtml.css" ); $css = implode( ' ',$css_lines ); $xp = "\n"; $xp .= "\n"; $xp .= "\n"; $xp .= "\n"; $xp .= "Moodle Quiz XHTML Export\n"; $xp .= $css; $xp .= "\n"; $xp .= "\n"; $xp .= "
\n\n"; $xp .= $content; $xp .= "

\n"; $xp .= " \n"; $xp .= "

\n"; $xp .= "
\n"; $xp .= "\n"; $xp .= "\n"; return $xp; } public function export_file_extension() { return '.html'; } }