|
Moodle PHP Documentation 4.5
Moodle 4.5.5+ (Build: 20250711) (ce34e8ff087)
|
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. |