Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
mod_quiz\local\reports\attempts_report Class Reference
Inheritance diagram for mod_quiz\local\reports\attempts_report:
mod_quiz\local\reports\report_base quiz_overview_report quiz_responses_report testable_quiz_attempts_report

Public Member Functions

 display ($quiz, $cm, $course)
 Override this function to display 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.
 
 delete_selected_attempts ($quiz, $cm, $attemptids, core\dml\sql_join $allowedjoins)
 Delete the quiz attempts.
 
 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 {
 

Member Function Documentation

◆ add_grade_columns()

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

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 )
protected

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 )
protected

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 )
protected

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 )
protected

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)
protected

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

Parameters
table_sql$tablethe table being constructed.

◆ delete_selected_attempts()

mod_quiz\local\reports\attempts_report::delete_selected_attempts ( $quiz,
$cm,
$attemptids,
core\dml\sql_join $allowedjoins )
protected

Delete the quiz attempts.

Parameters
stdClass$quizthe quiz settings. Attempts that don't belong to this quiz are not deleted.
stdClass$cmthe course_module object.
array$attemptidsthe list of attempt ids to delete.
core\dml\sql_join$allowedjoins(joins, wheres, params) This list of userids that are visible in the report. Users can only delete attempts that they are allowed to see in the report. Empty means all users.

Reimplemented in testable_quiz_attempts_report.

◆ display()

mod_quiz\local\reports\report_base::display ( $quiz,
$cm,
$course )
abstractinherited

Override this function to display the report.

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

Reimplemented in quiz_grading_report, quiz_overview_report, quiz_responses_report, quiz_statistics_report, and testable_quiz_attempts_report.

◆ get_base_url()

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

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 )
protected

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 )

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 )
protected

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 )
protected

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 )
protected

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
protected

quiz settings object.

Set in {

See also
init()}.

◆ $showgrades

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

caches the results of {

See also
should_show_grades()}.

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