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

📄 edit_match_form.php

📁 很棒的在线教学系统
💻 PHP
字号:
<?php  // $Id: edit_match_form.php,v 1.8.2.6 2009/02/19 01:09:34 tjhunt Exp $/** * Defines the editing form for the match question type. * * @copyright &copy; 2007 Jamie Pratt * @author Jamie Pratt me@jamiep.org * @license http://www.gnu.org/copyleft/gpl.html GNU Public License * @package questionbank * @subpackage questiontypes *//** * match editing form definition. */class question_edit_match_form extends question_edit_form {    function get_per_answer_fields(&$mform, $label, $gradeoptions, &$repeatedoptions, &$answersoption) {        $repeated = array();        $repeated[] =& $mform->createElement('header', 'answerhdr', $label);        $repeated[] =& $mform->createElement('textarea', 'subquestions', get_string('question', 'quiz'), array('cols'=>40, 'rows'=>3));        $repeated[] =& $mform->createElement('text', 'subanswers', get_string('answer', 'quiz'), array('size'=>50));        $repeatedoptions['subquestions']['type'] = PARAM_RAW;        $repeatedoptions['subanswers']['type'] = PARAM_TEXT;        $answersoption = 'subquestions';        return $repeated;    }    /**     * Add question-type specific form fields.     *     * @param object $mform the form being built.     */    function definition_inner(&$mform) {        $mform->addElement('advcheckbox', 'shuffleanswers', get_string('shuffle', 'quiz'), null, null, array(0,1));        $mform->setHelpButton('shuffleanswers', array('matchshuffle', get_string('shuffle','quiz'), 'quiz'));        $mform->setDefault('shuffleanswers', 1);        $mform->addElement('static', 'answersinstruct', get_string('choices', 'quiz'), get_string('filloutthreeqsandtwoas', 'qtype_match'));        $mform->closeHeaderBefore('answersinstruct');        $this->add_per_answer_fields($mform, get_string('questionno', 'quiz', '{no}'), 0);    }    function set_data($question) {        if (isset($question->options)){            $subquestions = $question->options->subquestions;            if (count($subquestions)) {                $key = 0;                foreach ($subquestions as $subquestion){                    $default_values['subanswers['.$key.']'] = $subquestion->answertext;                    $default_values['subquestions['.$key.']'] = $subquestion->questiontext;                    $key++;                }            }            $default_values['shuffleanswers'] =  $question->options->shuffleanswers;            $question = (object)((array)$question + $default_values);        }        parent::set_data($question);    }    function qtype() {        return 'match';    }    function validation($data, $files) {        $errors = parent::validation($data, $files);        $answers = $data['subanswers'];        $questions = $data['subquestions'];        $questioncount = 0;        $answercount = 0;        foreach ($questions as $key => $question){            $trimmedquestion = trim($question);            $trimmedanswer = trim($answers[$key]);            if ($trimmedquestion != ''){                $questioncount++;            }            if ($trimmedanswer != '' || $trimmedquestion != ''){                $answercount++;            }            if ($trimmedquestion != '' && $trimmedanswer == ''){                $errors['subanswers['.$key.']'] = get_string('nomatchinganswerforq', 'qtype_match', $trimmedquestion);            }        }        $numberqanda = new stdClass;        $numberqanda->q = 2;        $numberqanda->a = 3;        if ($questioncount < 1){            $errors['subquestions[0]'] = get_string('notenoughqsandas', 'qtype_match', $numberqanda);        }        if ($questioncount < 2){            $errors['subquestions[1]'] = get_string('notenoughqsandas', 'qtype_match', $numberqanda);        }        if ($answercount < 3){            $errors['subanswers[2]'] = get_string('notenoughqsandas', 'qtype_match', $numberqanda);        }        return $errors;    }}?>

⌨️ 快捷键说明

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