MDL-17264 Adding control of usecase for the shortanswer type using SHORTANSER_C or
SAC or MWC
This commit is contained in:
@@ -66,6 +66,10 @@ class question_edit_multianswer_form extends question_edit_form {
|
||||
$mform->addElement('static', 'sub_'.$sub."_".'defaultgrade', get_string('defaultgrade', 'quiz'));
|
||||
$mform->setDefault('sub_'.$sub."_".'defaultgrade',$this->questiondisplay->options->questions[$sub]->defaultgrade);
|
||||
|
||||
if ($this->questiondisplay->options->questions[$sub]->qtype =='shortanswer' ) {
|
||||
$mform->addElement('static', 'sub_'.$sub."_".'usecase', get_string('casesensitive', 'quiz'));
|
||||
}
|
||||
|
||||
if ($this->questiondisplay->options->questions[$sub]->qtype =='multichoice' ) {
|
||||
$mform->addElement('static', 'sub_'.$sub."_".'layout', get_string('layout', 'qtype_multianswer'),array('cols'=>60, 'rows'=>1)) ;//, $gradeoptions);
|
||||
}
|
||||
@@ -151,6 +155,17 @@ class question_edit_multianswer_form extends question_edit_form {
|
||||
$answercount = 0;
|
||||
$maxgrade = false;
|
||||
$maxfraction = -1;
|
||||
if ($subquestion->qtype =='shortanswer' ) {
|
||||
switch ($subquestion->usecase) {
|
||||
case '1':
|
||||
$default_values[$prefix.'usecase']= get_string('caseyes', 'quiz');
|
||||
break;
|
||||
case '0':
|
||||
default :
|
||||
$default_values[$prefix.'usecase']= get_string('caseno', 'quiz');
|
||||
}
|
||||
}
|
||||
|
||||
if ($subquestion->qtype == 'multichoice' ) {
|
||||
$default_values[$prefix.'layout'] = $subquestion->layout ;
|
||||
switch ($subquestion->layout) {
|
||||
|
||||
@@ -953,7 +953,7 @@ define("NUMERICAL_ABS_ERROR_MARGIN", 6);
|
||||
|
||||
// Remaining ANSWER regexes
|
||||
define("ANSWER_TYPE_DEF_REGEX",
|
||||
'(NUMERICAL|NM)|(MULTICHOICE|MC)|(MULTICHOICE_V|MCV)|(MULTICHOICE_H|MCH)|(SHORTANSWER|SA|MW)');
|
||||
'(NUMERICAL|NM)|(MULTICHOICE|MC)|(MULTICHOICE_V|MCV)|(MULTICHOICE_H|MCH)|(SHORTANSWER|SA|MW)|(SHORTANSWER_C|SAC|MWC)');
|
||||
define("ANSWER_START_REGEX",
|
||||
'\{([0-9]*):(' . ANSWER_TYPE_DEF_REGEX . '):');
|
||||
|
||||
@@ -971,7 +971,8 @@ define("ANSWER_REGEX_ANSWER_TYPE_MULTICHOICE", 4);
|
||||
define("ANSWER_REGEX_ANSWER_TYPE_MULTICHOICE_REGULAR", 5);
|
||||
define("ANSWER_REGEX_ANSWER_TYPE_MULTICHOICE_HORIZONTAL", 6);
|
||||
define("ANSWER_REGEX_ANSWER_TYPE_SHORTANSWER", 7);
|
||||
define("ANSWER_REGEX_ALTERNATIVES", 8);
|
||||
define("ANSWER_REGEX_ANSWER_TYPE_SHORTANSWER_C", 8);
|
||||
define("ANSWER_REGEX_ALTERNATIVES", 9);
|
||||
|
||||
function qtype_multianswer_extract_question($text) {
|
||||
$question = new stdClass;
|
||||
@@ -993,6 +994,9 @@ function qtype_multianswer_extract_question($text) {
|
||||
} else if(!empty($answerregs[ANSWER_REGEX_ANSWER_TYPE_SHORTANSWER])) {
|
||||
$wrapped->qtype = 'shortanswer';
|
||||
$wrapped->usecase = 0;
|
||||
} else if(!empty($answerregs[ANSWER_REGEX_ANSWER_TYPE_SHORTANSWER_C])) {
|
||||
$wrapped->qtype = 'shortanswer';
|
||||
$wrapped->usecase = 1;
|
||||
} else if(!empty($answerregs[ANSWER_REGEX_ANSWER_TYPE_MULTICHOICE])) {
|
||||
$wrapped->qtype = 'multichoice';
|
||||
$wrapped->single = 1;
|
||||
|
||||
Reference in New Issue
Block a user