📄 edit_shortanswer_form.php
字号:
<?php // $Id: edit_shortanswer_form.php,v 1.10.2.5 2009/02/19 01:09:33 tjhunt Exp $/** * Defines the editing form for the shortanswer question type. * * @copyright © 2007 Jamie Pratt * @author Jamie Pratt me@jamiep.org * @license http://www.gnu.org/copyleft/gpl.html GNU Public License * @package questionbank * @subpackage questiontypes *//** * shortanswer editing form definition. */class question_edit_shortanswer_form extends question_edit_form { /** * Add question-type specific form fields. * * @param MoodleQuickForm $mform the form being built. */ function definition_inner(&$mform) { $menu = array(get_string('caseno', 'quiz'), get_string('caseyes', 'quiz')); $mform->addElement('select', 'usecase', get_string('casesensitive', 'quiz'), $menu); $mform->addElement('static', 'answersinstruct', get_string('correctanswers', 'quiz'), get_string('filloutoneanswer', 'quiz')); $mform->closeHeaderBefore('answersinstruct'); $creategrades = get_grade_options(); $this->add_per_answer_fields($mform, get_string('answerno', 'qtype_shortanswer', '{no}'), $creategrades->gradeoptions); } function set_data($question) { if (isset($question->options)){ $answers = $question->options->answers; if (count($answers)) { $key = 0; foreach ($answers as $answer){ $default_values['answer['.$key.']'] = $answer->answer; $default_values['fraction['.$key.']'] = $answer->fraction; $default_values['feedback['.$key.']'] = $answer->feedback; $key++; } } $default_values['usecase'] = $question->options->usecase; $question = (object)((array)$question + $default_values); } parent::set_data($question); } function validation($data, $files) { $errors = parent::validation($data, $files); $answers = $data['answer']; $answercount = 0; $maxgrade = false; foreach ($answers as $key => $answer) { $trimmedanswer = trim($answer); if ($trimmedanswer !== ''){ $answercount++; if ($data['fraction'][$key] == 1) { $maxgrade = true; } } else if ($data['fraction'][$key] != 0 || !html_is_blank($data['feedback'][$key])) { $errors["answer[$key]"] = get_string('answermustbegiven', 'qtype_shortanswer'); $answercount++; } } if ($answercount==0){ $errors['answer[0]'] = get_string('notenoughanswers', 'quiz', 1); } if ($maxgrade == false) { $errors['fraction[0]'] = get_string('fractionsnomax', 'question'); } return $errors; } function qtype() { return 'shortanswer'; }}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -