Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
testable_quiz_attempts_report Class Reference

Makes some protected methods of attempts_report public to facilitate testing. More...

Inheritance diagram for testable_quiz_attempts_report:
mod_quiz\local\reports\attempts_report mod_quiz\local\reports\report_base

Public Member Functions

 delete_selected_attempts ($quiz, $cm, $attemptids, core\dml\sql_join $allowedjoins)
 Testable delete_selected_attempts function.
 
 display ($cm, $course, $quiz)
 Override this function to displays the report.
 
 get_current_group ($cm, $course, $context)
 Get the current group for the user user looking at the report.
 
 init ($mode, $formclass, $quiz, $cm, $course)
 Initialise various aspects of this report.
 
 print_header_and_tabs ($cm, $course, $quiz, $reportmode='overview')
 Initialise some parts of $PAGE and start output.
 

Public Attributes

string const ALL_WITH = 'all_with'
 constant used for the options, means all users with attempts.
 
int const DEFAULT_PAGE_SIZE = 30
 default page size for reports.
 
string const ENROLLED_ALL = 'enrolled_any'
 constant used for the options, means all enrolled users.
 
string const ENROLLED_WITH = 'enrolled_with'
 constant used for the options, means only enrolled users with attempts.
 
string const ENROLLED_WITHOUT = 'enrolled_without'
 constant used for the options, means only enrolled users without attempts.
 
int const NO_GROUPS_ALLOWED = -2
 special value used in place of groupid, to mean the use cannot access any groups.
 

Protected Member Functions

 add_grade_columns ($quiz, $usercanseegrades, &$columns, &$headers, $includefeedback=true)
 Add a column for the overall quiz grade and the overall feedback, if applicable.
 
 add_grade_item_columns (bool $usercanseegrades, array &$columns, array &$headers)
 Add columns for any extra quiz grade items, if applicable.
 
 add_state_column (&$columns, &$headers)
 Add the state column to the $columns and $headers arrays.
 
 add_time_columns (&$columns, &$headers)
 Add all the time-related columns to the $columns and $headers arrays.
 
 add_user_columns ($table, &$columns, &$headers)
 Add all the user-related columns to the $columns and $headers arrays.
 
 configure_user_columns ($table)
 Set the display options for the user-related columns in the table.
 
 get_base_url ()
 Get the base URL for this report.
 
 get_students_joins ($cm, $course=null)
 Get sql fragments (joins) which can be used to build queries that will select an appropriate set of students to show in the reports.
 
 print_standard_header_and_messages ($cm, $course, $quiz, $options, $currentgroup, $hasquestions, $hasstudents)
 Outputs the things you commonly want at the top of a quiz report.
 
 process_actions ($quiz, $cm, $currentgroup, core\dml\sql_join $groupstudentsjoins, core\dml\sql_join $allowedjoins, $redirecturl)
 Process any submitted actions.
 
 set_up_table_columns ($table, $columns, $headers, $reporturl, attempts_report_options $options, $collapsible)
 Set up the table.
 

Protected Attributes

context_module $context
 the quiz context.
 
attempts_report_options_form $form
 The settings form to use.
 
bool $hasgroupstudents
 
string $mode
 the mode this report is.
 
string $qmsubselect
 SQL fragment for selecting the attempt that gave the final grade, if applicable.
 
quiz_settings null $quizobj = null
 quiz settings object.
 
boolean $showgrades = null
 caches the results of {
 

Detailed Description

Makes some protected methods of attempts_report public to facilitate testing.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ add_grade_columns()

mod_quiz\local\reports\attempts_report::add_grade_columns ( $quiz,
$usercanseegrades,
& $columns,
& $headers,
$includefeedback = true )
protectedinherited

Add a column for the overall quiz grade and the overall feedback, if applicable.

Parameters
stdClass$quizthe quiz settings.
bool$usercanseegradeswhether the user is allowed to see grades for this quiz.
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.
bool$includefeedbackwhether to include the feedbacktext columns

◆ add_grade_item_columns()

mod_quiz\local\reports\attempts_report::add_grade_item_columns ( bool $usercanseegrades,
array & $columns,
array & $headers )
protectedinherited

Add columns for any extra quiz grade items, if applicable.

Parameters
bool$usercanseegradeswhether the user is allowed to see grades for this quiz.
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.

◆ add_state_column()

mod_quiz\local\reports\attempts_report::add_state_column ( & $columns,
& $headers )
protectedinherited

Add the state column to the $columns and $headers arrays.

Parameters
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.

◆ add_time_columns()

mod_quiz\local\reports\attempts_report::add_time_columns ( & $columns,
& $headers )
protectedinherited

Add all the time-related columns to the $columns and $headers arrays.

Parameters
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.

◆ add_user_columns()

mod_quiz\local\reports\attempts_report::add_user_columns ( $table,
& $columns,
& $headers )
protectedinherited

Add all the user-related columns to the $columns and $headers arrays.

Parameters
table_sql$tablethe table being constructed.
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.

◆ configure_user_columns()

mod_quiz\local\reports\attempts_report::configure_user_columns ( $table)
protectedinherited

Set the display options for the user-related columns in the table.

Parameters
table_sql$tablethe table being constructed.

◆ delete_selected_attempts()

testable_quiz_attempts_report::delete_selected_attempts ( $quiz,
$cm,
$attemptids,
core\dml\sql_join $allowedjoins )

Testable delete_selected_attempts function.

Parameters
stdClass$quiz
stdClass$cm
array$attemptids
core\dml\sql_join$allowedjoins

Reimplemented from mod_quiz\local\reports\attempts_report.

◆ display()

testable_quiz_attempts_report::display ( $cm,
$course,
$quiz )

Override this function to displays the report.

Parameters
stdClass$cmthe course-module for this quiz.
stdClass$coursethe course we are in.
stdClass$quizthis quiz.

Reimplemented from mod_quiz\local\reports\report_base.

◆ get_base_url()

mod_quiz\local\reports\attempts_report::get_base_url ( )
protectedinherited

Get the base URL for this report.

Return values
moodle_urlthe URL.

◆ get_current_group()

mod_quiz\local\reports\report_base::get_current_group ( $cm,
$course,
$context )
inherited

Get the current group for the user user looking at the report.

Parameters
stdClass$cmthe course_module information.
stdClass$coursethe course settings.
context$contextthe quiz context.
Return values
intthe current group id, if applicable. 0 for all users, NO_GROUPS_ALLOWED if the user cannot see any group.

◆ get_students_joins()

mod_quiz\local\reports\attempts_report::get_students_joins ( $cm,
$course = null )
protectedinherited

Get sql fragments (joins) which can be used to build queries that will select an appropriate set of students to show in the reports.

Parameters
stdClass$cmthe course module.
stdClass$coursethe course settings.
Return values
arraywith four elements: 0 => integer the current group id (0 for none). 1 => core\dml\sql_join Contains joins, wheres, params for all the students in this course. 2 => core\dml\sql_join Contains joins, wheres, params for all the students in the current group. 3 => core\dml\sql_join Contains joins, wheres, params for all the students to show in the report. Will be the same as either element 1 or 2.

◆ init()

mod_quiz\local\reports\attempts_report::init ( $mode,
$formclass,
$quiz,
$cm,
$course )
inherited

Initialise various aspects of this report.

Parameters
string$mode
string$formclass
stdClass$quiz
stdClass$cm
stdClass$course
Return values
arraywith four elements: 0 => integer the current group id (0 for none). 1 => core\dml\sql_join Contains joins, wheres, params for all the students in this course. 2 => core\dml\sql_join Contains joins, wheres, params for all the students in the current group. 3 => core\dml\sql_join Contains joins, wheres, params for all the students to show in the report. Will be the same as either element 1 or 2.

◆ print_header_and_tabs()

mod_quiz\local\reports\report_base::print_header_and_tabs ( $cm,
$course,
$quiz,
$reportmode = 'overview' )
inherited

Initialise some parts of $PAGE and start output.

Parameters
stdClass$cmthe course_module information.
stdClass$coursethe course settings.
stdClass$quizthe quiz settings.
string$reportmodethe report name.

Reimplemented in quiz_grading_report.

◆ print_standard_header_and_messages()

mod_quiz\local\reports\attempts_report::print_standard_header_and_messages ( $cm,
$course,
$quiz,
$options,
$currentgroup,
$hasquestions,
$hasstudents )
protectedinherited

Outputs the things you commonly want at the top of a quiz report.

Calls through to {

See also
print_header_and_tabs()} and then outputs the standard group selector, number of attempts summary, and messages to cover common cases when the report can't be shown.
Parameters
stdClass$cmthe course_module information.
stdClass$coursethe course settings.
stdClass$quizthe quiz settings.
attempts_report_options$optionsthe current report settings.
int$currentgroupthe current group.
bool$hasquestionswhether there are any questions in the quiz.
bool$hasstudentswhether there are any relevant students.

◆ process_actions()

mod_quiz\local\reports\attempts_report::process_actions ( $quiz,
$cm,
$currentgroup,
core\dml\sql_join $groupstudentsjoins,
core\dml\sql_join $allowedjoins,
$redirecturl )
protectedinherited

Process any submitted actions.

Parameters
stdClass$quizthe quiz settings.
stdClass$cmthe cm object for the quiz.
int$currentgroupthe currently selected group.
core\dml\sql_join$groupstudentsjoins(joins, wheres, params) the students in the current group.
core\dml\sql_join$allowedjoins(joins, wheres, params) the users whose attempt this user is allowed to modify.
moodle_url$redirecturlwhere to redircet to after a successful action.

Reimplemented in quiz_overview_report.

◆ set_up_table_columns()

mod_quiz\local\reports\attempts_report::set_up_table_columns ( $table,
$columns,
$headers,
$reporturl,
attempts_report_options $options,
$collapsible )
protectedinherited

Set up the table.

Parameters
attempts_report_table$tablethe table being constructed.
array$columnsthe list of columns.
array$headersthe columns headings.
moodle_url$reporturlthe URL of this report.
attempts_report_options$optionsthe display options.
bool$collapsiblewhether to allow columns in the report to be collapsed.

Member Data Documentation

◆ $quizobj

quiz_settings null mod_quiz\local\reports\attempts_report::$quizobj = null
protectedinherited

quiz settings object.

Set in {

See also
init()}.

◆ $showgrades

boolean mod_quiz\local\reports\attempts_report::$showgrades = null
protectedinherited

caches the results of {

See also
should_show_grades()}.

The documentation for this class was generated from the following file: