Множественный вычислямый вопрос выдает PHP catchable fatal error

Множественный вычислямый вопрос выдает PHP catchable fatal error

от Irina Marakasova -
Количество ответов: 0

Добрый день, уважаемые эксперты! 

Недавно перешли на версию 3.1 и столкнулись с такой проблемой. Она уже была в предыдущих версиях (https://tracker.moodle.org/browse/MDL-44267), но теперь вернулась с еще большей силой. 

Проблема в том, если в множественном вычисляемом вопросе с несколькими попытками выделить все ответы (или большее их предполагаемого кол-ва), то натыкаешься на ошибку:


Coding error detected, it must be fixed by a programmer: PHP catchable fatal error

Debug info: Argument 1 passed to qtype_multichoice_multi_question::disable_hint_settings_when_too_many_selected() must be an instance of question_hint_with_parts, instance of question_hint given, called in [dirroot]/question/type/multichoice/question.php on line 488 and defined
Error code: codingerror
Stack trace:
  • line 425 of /lib/setuplib.php: coding_exception thrown
  • line 475 of /question/type/multichoice/question.php: call to default_error_handler()
  • line 488 of /question/type/multichoice/question.php: call to qtype_multichoice_multi_question->disable_hint_settings_when_too_many_selected()
  • line 109 of /question/behaviour/interactive/behaviour.php: call to qtype_multichoice_multi_question->get_hint()
  • line 86 of /question/behaviour/interactive/behaviour.php: call to qbehaviour_interactive->get_applicable_hint()
  • line 112 of /question/behaviour/behaviourbase.php: call to qbehaviour_interactive->adjust_display_options()
  • line 829 of /question/engine/questionattempt.php: call to question_behaviour->render()
  • line 449 of /question/engine/questionusage.php: call to question_attempt->render()
  • line 253 of /question/preview.php: call to question_usage_by_activity->render_question()

 Например, вопрос 1 имеет ответы

={a}               (+100%)

=2*{a}            (-50%)

При этом дается возможность нескольких попыток. Если при ответе выделить оба вырианта, то выйдет эта ошибка.


Если в предвдыдущей версии студент мог после этого продолжить тест, то теперь продолжить он не может, и попытка у него висит, пока не выйдет время (а оно у преподавателя выставлено 2 дня).


Большое спасибо!