⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 format.php

📁 很棒的在线教学系统
💻 PHP
字号:
<?php // Based on default.php, included by ../import.php/** * @package questionbank * @subpackage importexport */class qformat_xhtml extends qformat_default {    function provide_export() {      return true;    }function repchar( $text ) {    // escapes 'reserved' characters # = ~ { ) and removes new lines    $reserved = array( '#','=','~','{','}',"\n","\r" );    $escaped = array( '\#','\=','\~','\{','\}',' ','' );    return str_replace( $reserved, $escaped, $text );     }function writequestion( $question ) {    // 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 .= "<!-- question: $id  name: $question->name -->\n";    $expout .= "<div class=\"question\">\n";    // add header    $expout .= "<h3>$question->name</h3>\n";     // format and add question text    $questiontext = $question->questiontext;    $format = $question->questiontextformat;    $formatted_text = format_text( $questiontext, $format );    $expout .= "<p class=\"questiontext\">$formatted_text</p>\n";     // selection depends on question type    switch($question->qtype) {    case TRUEFALSE:        $st_true = get_string( 'true','quiz' );        $st_false = get_string( 'false','quiz' );        $expout .= "<ul class=\"truefalse\">\n";        $expout .= "  <li><input name=\"quest_$id\" type=\"radio\" value=\"$st_true\" />$st_true</li>\n";        $expout .= "  <li><input name=\"quest_$id\" type=\"radio\" value=\"$st_false\" />$st_false</li>\n";        $expout .= "</ul>\n";        break;    case MULTICHOICE:        $expout .= "<ul class=\"multichoice\">\n";        foreach($question->options->answers as $answer) {            $ans_text = $this->repchar( $answer->answer );            if ($question->options->single) {                $expout .= "  <li><input name=\"quest_$id\" type=\"radio\" value=\"$ans_text\" />$ans_text</li>\n";            }            else {                $expout .= "  <li><input name=\"quest_$id\" type=\"checkbox\" value=\"$ans_text\" />$ans_text</li>\n";            }        }        $expout .= "</ul>\n";        break;    case SHORTANSWER:        $expout .= "<ul class=\"shortanswer\">\n";        $expout .= "  <li><input name=\"quest_$id\" type=\"text\" /></li>\n";        $expout .= "</ul>\n";        break;    case NUMERICAL:        $expout .= "<ul class=\"numerical\">\n";        $expout .= "  <li><input name=\"quest_$id\" type=\"text\" /></li>\n";        $expout .= "</ul>\n";        break;    case MATCH:        $expout .= "<ul class=\"match\">\n";        // build answer list        $ans_list = array();        foreach($question->options->subquestions as $subquestion) {           $ans_list[] = $this->repchar( $subquestion->answertext );        }         shuffle( $ans_list ); // random display order                // build drop down for answers        $dropdown = "<select name=\"quest_$id\">\n";        foreach($ans_list as $ans) {          $dropdown .= "<option value=\"$ans\">$ans</option>\n";        }        $dropdown .= "</select>\n";        // finally display        foreach($question->options->subquestions as $subquestion) {          $quest_text = $this->repchar( $subquestion->questiontext );          $expout .= "  <li>$quest_text</li>\n";          $expout .= $dropdown;        }        $expout .= "</ul>\n";        break;    case DESCRIPTION:        break;    case MULTIANSWER:        $expout .= "<!-- CLOZE type is not supported  -->\n";        break;    default:        notify("No handler for qtype $question->qtype for GIFT export" );    }    // close off div     $expout .= "</div>\n\n\n";    return $expout;}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 =  "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";  $xp .= "  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";  $xp .= "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";  $xp .= "<head>\n";  $xp .= "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" />\n";  $xp .= "<title>Moodle Quiz XHTML Export</title>\n";  $xp .= $css;  $xp .= "</head>\n";  $xp .= "<body>\n";  $xp .= "<form action=\"...REPLACE ME...\" method=\"post\">\n\n";  $xp .= $content;  $xp .= "<p class=\"submit\">\n";  $xp .= "  <input type=\"submit\" />\n";  $xp .= "</p>\n";  $xp .= "</form>\n";  $xp .= "</body>\n";  $xp .= "</html>\n";  return $xp;}function export_file_extension() {  return ".html";}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -