Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.

Differences Between: [Versions 310 and 400] [Versions 311 and 400] [Versions 39 and 400]

Multiple choice question definition classes.

Copyright: 2009 The Open University
License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
File Size: 582 lines (21 kb)
Included or required:0 times
Referenced: 3 times
Includes or requires: 0 files

Defines 3 classes


Class: qtype_multichoice_base  - X-Ref

Base class for multiple choice questions. The parts that are common to
single select and multiple select.

start_attempt(question_attempt_step $step, $variant)   X-Ref


apply_attempt_state(question_attempt_step $step)   X-Ref
No description

validate_can_regrade_with_other_version(question_definition $otherversion)   X-Ref
No description

update_attempt_state_data_for_new_version(question_attempt_step $oldstep, question_definition $otherversion)   X-Ref
No description

get_question_summary()   X-Ref
No description

get_order(question_attempt $qa)   X-Ref
No description

init_order(question_attempt $qa)   X-Ref
No description

check_file_access($qa, $options, $component, $filearea, $args, $forcedownload)   X-Ref
No description

get_question_definition_for_external_rendering(question_attempt $qa, question_display_options $options)   X-Ref
Return the question settings that define this question as structured data.

return: mixed structure representing the question settings. In web services, this will be JSON-encoded.
param: question_attempt $qa the current attempt for which we are exporting the settings.
param: question_display_options $options the question display options which say which aspects of the question

Class: qtype_multichoice_single_question  - X-Ref

Represents a multiple choice question where only one choice should be selected.

get_renderer(moodle_page $page)   X-Ref
No description

get_min_fraction()   X-Ref
No description

get_expected_data()   X-Ref
Return an array of the question type variables that could be submitted
as part of a question of this type, with their types, so they can be
properly cleaned.

return: array variable name => PARAM_... constant.

summarise_response(array $response)   X-Ref
No description

un_summarise_response(string $summary)   X-Ref
No description

classify_response(array $response)   X-Ref
No description

get_correct_response()   X-Ref
No description

prepare_simulated_post_data($simulatedresponse)   X-Ref
No description

get_student_response_values_for_simulation($postdata)   X-Ref
No description

is_same_response(array $prevresponse, array $newresponse)   X-Ref
No description

is_complete_response(array $response)   X-Ref
No description

is_gradable_response(array $response)   X-Ref
No description

grade_response(array $response)   X-Ref
No description

get_validation_error(array $response)   X-Ref
No description

get_response(question_attempt $qa)   X-Ref
No description

is_choice_selected($response, $value)   X-Ref
No description

Class: qtype_multichoice_multi_question  - X-Ref

Represents a multiple choice question where multiple choices can be selected.

get_renderer(moodle_page $page)   X-Ref
No description

get_min_fraction()   X-Ref
No description

clear_wrong_from_response(array $response)   X-Ref
No description

get_num_parts_right(array $response)   X-Ref
No description

field($key)   X-Ref

return: string the question-type variable name.
param: int $key choice number

get_expected_data()   X-Ref
No description

summarise_response(array $response)   X-Ref
No description

un_summarise_response(string $summary)   X-Ref
No description

classify_response(array $response)   X-Ref
No description

get_correct_response()   X-Ref
No description

prepare_simulated_post_data($simulatedresponse)   X-Ref
No description

get_student_response_values_for_simulation($postdata)   X-Ref
No description

is_same_response(array $prevresponse, array $newresponse)   X-Ref
No description

is_complete_response(array $response)   X-Ref
No description

is_gradable_response(array $response)   X-Ref
No description

get_num_selected_choices(array $response)   X-Ref

return: int the number of choices that were selected. in this response.
param: array $response responses, as returned by

get_num_correct_choices()   X-Ref

return: int the number of choices that are correct.

grade_response(array $response)   X-Ref
No description

get_validation_error(array $response)   X-Ref
No description

disable_hint_settings_when_too_many_selected(question_hint_with_parts $hint)   X-Ref
Disable those hint settings that we don't want when the student has selected
more choices than the number of right choices. This avoids giving the game away.

param: question_hint_with_parts $hint a hint.

get_hint($hintnumber, question_attempt $qa)   X-Ref
No description

get_response(question_attempt $qa)   X-Ref
No description

is_choice_selected($response, $value)   X-Ref
No description