Пример #1
0
 function check_file_access($question, $state, $options, $contextid, $component, $filearea, $args)
 {
     $itemid = reset($args);
     if ($component == 'question' && $filearea == 'answerfeedback') {
         $result = $options->feedback && array_key_exists($itemid, $question->options->answers);
         if (!$result) {
             return false;
         }
         foreach ($question->options->answers as $answer) {
             if ($this->test_response($question, $state, $answer)) {
                 return true;
             }
         }
         return false;
     } else {
         if ($filearea == 'instruction') {
             if ($itemid != $question->id) {
                 return false;
             } else {
                 return true;
             }
         } else {
             return parent::check_file_access($question, $state, $options, $contextid, $component, $filearea, $args);
         }
     }
 }
Пример #2
0
 function get_correct_responses(&$question, &$state)
 {
     $correct = parent::get_correct_responses($question, $state);
     if ($correct[''] != '*' && ($unit = $this->get_default_numerical_unit($question))) {
         $correct[''] .= ' ' . $unit->unit;
     }
     return $correct;
 }
 function compare_responses($question, $state, $teststate)
 {
     if (!parent::compare_responses($question, $state, $teststate)) {
         return false;
     }
     if (isset($state->responses['wirisCASHidden']) xor isset($teststate->responses['wirisCASHidden'])) {
         return false;
     } else {
         if (isset($state->responses['wirisCASHidden']) && isset($teststate->responses['wirisCASHidden'])) {
             return $state->responses['wirisCASHidden'] == $teststate->responses['wirisCASHidden'];
         } else {
             return true;
         }
     }
 }