Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
|
The quiz statistics report provides summary information about each question in a quiz, compared to the whole quiz. More...
Public Member Functions | |
calculate_questions_stats_for_question_bank (int $quizid, bool $calculateifrequired=true, bool $performanalysis=true,) | |
Load question stats for a quiz. | |
clear_cached_data ($qubaids) | |
Clear the cached data for a particular report configuration. | |
display ($quiz, $cm, $course) | |
Display the report. | |
get_all_stats_and_analysis ( $quiz, $whichattempts, $whichtries, core\dml\sql_join $groupstudentsjoins, $questions, $progress=null, bool $calculateifrequired=true, bool $performanalysis=true) | |
Get the quiz and question statistics, either by loading the cached results, or by recomputing them. | |
get_current_group ($cm, $course, $context) | |
Get the current group for the user user looking at the report. | |
load_and_initialise_questions_for_calculations ($quiz) | |
Load the questions in this quiz and add some properties to the objects needed in the reports. | |
print_header_and_tabs ($cm, $course, $quiz, $reportmode='overview') | |
Initialise some parts of $PAGE and start output. | |
Public Attributes | |
int const | NO_GROUPS_ALLOWED = -2 |
special value used in place of groupid, to mean the use cannot access any groups. | |
Protected Member Functions | |
analyse_responses_for_all_questions_and_subquestions ($questions, $subquestions, $qubaids, $whichtries, $progress=null) | |
Analyse responses for all questions and sub questions in this quiz. | |
analyse_responses_for_questions ($questions, $qubaids, $whichtries, $progress=null, $done=[]) | |
Analyse responses for an array of questions or sub questions. | |
download_quiz_info_table ($quizinfo) | |
Download the table of overall quiz statistics. | |
everything_download_options (moodle_url $reporturl) | |
Return a little form for the user to request to download the full report, including quiz stats and response analysis for all questions and sub-questions. | |
get_progress_trace_instance () | |
Appropriate instance depending if we want html output for the user or not. | |
output_all_question_response_analysis ($qubaids, $questions, $questionstats, $reporturl, $whichtries=question_attempt::LAST_TRY) | |
Output all response analysis for all questions, sub-questions and variants. | |
output_caching_info ($lastcachetime, $quizid, $groupstudentsjoins, $whichattempts, $reporturl) | |
Return HTML for a message that says when the stats were last calculated and a 'recalculate now' button. | |
output_individual_question_data ($quiz, $questionstat) | |
Display the statistical and introductory information about a question. | |
output_individual_question_response_analysis ($question, $variantno, $s, $reporturl, $qubaids, $whichtries=question_attempt::LAST_TRY) | |
Display the response analysis for a question. | |
output_quiz_info_table ($quizinfo) | |
Return HTML for table of overall quiz statistics. | |
output_quiz_structure_analysis_table ($questionstats) | |
Output the table that lists all the questions in the quiz with their statistics. | |
output_statistics_graph ($quiz, $qubaids) | |
Output the HTML needed to show the statistics graph. | |
render_question_text ($question) | |
Output question text in a box with urls appropriate for a preview of the question. | |
Protected Attributes | |
context_module | $context |
context of this quiz. | |
core progress base null | $progress = null |
$progress Handles progress reporting or not. | |
quiz_statistics_table | $table |
instance of table class used for main questions stats table. | |
The quiz statistics report provides summary information about each question in a quiz, compared to the whole quiz.
It also provides a drill-down to more detailed information about each question.
|
protected |
Analyse responses for all questions and sub questions in this quiz.
stdClass[] | $questions | as returned by self\load_and_initialise_questions_for_calculations |
stdClass[] | $subquestions | full question objects. |
qubaid_condition | $qubaids | the question usages whose responses to analyse. |
string | $whichtries | which tries to analyse question_attempt\FIRST_TRY, LAST_TRY or ALL_TRIES. |
null | core\progress\base | $progress | Used to indicate progress of task. |
|
protected |
Analyse responses for an array of questions or sub questions.
stdClass[] | $questions | as returned by self\load_and_initialise_questions_for_calculations. |
qubaid_condition | $qubaids | the question usages whose responses to analyse. |
string | $whichtries | which tries to analyse question_attempt\FIRST_TRY, LAST_TRY or ALL_TRIES. |
null | core\progress\base | $progress | Used to indicate progress of task. |
int[] | $done | array keys are ids of questions that have been analysed before calling method. |
array | array keys are ids of questions that were analysed after this method call. |
quiz_statistics_report::calculate_questions_stats_for_question_bank | ( | int | $quizid, |
bool | $calculateifrequired = true, | ||
bool | $performanalysis = true ) |
Load question stats for a quiz.
int | $quizid | question usage |
bool | $calculateifrequired | if true (the default) the stats will be calculated if not already stored. If false, null will be returned if the stats are not already available. |
bool | $performanalysis | if true (the default) and there are calculated stats, analysis will be performed for each question. |
?all_calculated_for_qubaid_condition | question stats |
quiz_statistics_report::clear_cached_data | ( | $qubaids | ) |
Clear the cached data for a particular report configuration.
This will trigger a re-computation the next time the report is displayed.
$qubaids | qubaid_condition |
quiz_statistics_report::display | ( | $quiz, | |
$cm, | |||
$course ) |
Display the report.
Reimplemented from mod_quiz\local\reports\report_base.
|
protected |
Download the table of overall quiz statistics.
array | $quizinfo | as returned by get_formatted_quiz_info_data(). |
|
protected |
Return a little form for the user to request to download the full report, including quiz stats and response analysis for all questions and sub-questions.
moodle_url | $reporturl | the base URL of the report. |
string | HTML. |
quiz_statistics_report::get_all_stats_and_analysis | ( | $quiz, | |
$whichattempts, | |||
$whichtries, | |||
core\dml\sql_join | $groupstudentsjoins, | ||
$questions, | |||
$progress = null, | |||
bool | $calculateifrequired = true, | ||
bool | $performanalysis = true ) |
Get the quiz and question statistics, either by loading the cached results, or by recomputing them.
stdClass | $quiz | the quiz settings. |
string | $whichattempts | which attempts to use, represented internally as one of the constants as used in $quiz->grademethod ie. QUIZ_GRADEAVERAGE, QUIZ_GRADEHIGHEST, QUIZ_ATTEMPTLAST or QUIZ_ATTEMPTFIRST we calculate stats based on which attempts would affect the grade for each student. |
string | $whichtries | which tries to analyse for response analysis. Will be one of question_attempt\FIRST_TRY, LAST_TRY or ALL_TRIES. |
core\dml\sql_join | $groupstudentsjoins | Contains joins, wheres, params for students in this group. |
array | $questions | full question data. |
core\progress\base | null | $progress | |
bool | $calculateifrequired | if true (the default) the stats will be calculated if not already stored. If false, [null, null] will be returned if the stats are not already available. |
bool | $performanalysis | if true (the default) and there are calculated stats, analysis will be performed for each question. |
array | with 2 elements: - $quizstats The statistics for overall attempt scores.
|
|
inherited |
Get the current group for the user user looking at the report.
stdClass | $cm | the course_module information. |
stdClass | $course | the course settings. |
context | $context | the quiz context. |
int | the current group id, if applicable. 0 for all users, NO_GROUPS_ALLOWED if the user cannot see any group. |
|
protected |
Appropriate instance depending if we want html output for the user or not.
core\progress\base | child of core\progress\base to handle the display (or not) of task progress. |
quiz_statistics_report::load_and_initialise_questions_for_calculations | ( | $quiz | ) |
Load the questions in this quiz and add some properties to the objects needed in the reports.
stdClass | $quiz | the quiz. |
array | of questions for this quiz. |
|
protected |
Output all response analysis for all questions, sub-questions and variants.
For download in a number of formats.
$qubaids | |
$questions | |
$questionstats | |
$reporturl | |
$whichtries | string |
|
protected |
Return HTML for a message that says when the stats were last calculated and a 'recalculate now' button.
int | $lastcachetime | the time the stats were last cached. |
int | $quizid | the quiz id. |
core\dml\sql_join | $groupstudentsjoins | (joins, wheres, params) for students in the group or empty array if groups not used. |
string | $whichattempts | which attempts to use, represented internally as one of the constants as used in $quiz->grademethod ie. QUIZ_GRADEAVERAGE, QUIZ_GRADEHIGHEST, QUIZ_ATTEMPTLAST or QUIZ_ATTEMPTFIRST we calculate stats based on which attempts would affect the grade for each student. |
moodle_url | $reporturl | url for this report |
string | HTML. |
|
protected |
Display the statistical and introductory information about a question.
Only called when not downloading.
stdClass | $quiz | the quiz settings. |
core_question\statistics\questions\calculated | $questionstat | the question to report on. |
|
protected |
Display the response analysis for a question.
stdClass | $question | the question to report on. |
int | null | $variantno | the variant |
int | $s | |
moodle_url | $reporturl | the URL to redisplay this report. |
qubaid_condition | $qubaids | |
string | $whichtries |
|
protected |
Return HTML for table of overall quiz statistics.
array | $quizinfo | as returned by get_formatted_quiz_info_data(). |
string | the HTML. |
|
protected |
Output the table that lists all the questions in the quiz with their statistics.
core_question\statistics\questions\all_calculated_for_qubaid_condition | $questionstats | the stats for all questions in the quiz including subqs and variants. |
|
protected |
Output the HTML needed to show the statistics graph.
stdClass | $quiz | the quiz. |
qubaid_condition | $qubaids | the question usages whose responses to analyse. |
|
inherited |
Initialise some parts of $PAGE and start output.
stdClass | $cm | the course_module information. |
stdClass | $course | the course settings. |
stdClass | $quiz | the quiz settings. |
string | $reportmode | the report name. |
Reimplemented in quiz_grading_report.
|
protected |
Output question text in a box with urls appropriate for a preview of the question.
stdClass | $question | question data. |
string | HTML of question text, ready for display. |