Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
quiz_attempts_report Class Reference

Base class for quiz reports that are basically a table with one row for each attempt. More...

Inheritance diagram for quiz_attempts_report:
quiz_default_report quiz_overview_report quiz_responses_report testable_quiz_attempts_report

Public Member Functions

 display ($cm, $course, $quiz)
 Override this function to displays the report. More...
 
 get_current_group ($cm, $course, $context)
 Get the current group for the user user looking at the report. More...
 
 print_header_and_tabs ($cm, $course, $quiz, $reportmode='overview')
 Initialise some parts of $PAGE and start output. More...
 

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.
 
const NO_GROUPS_ALLOWED = -2
 

Protected Member Functions

 add_grade_columns ($quiz, $usercanseegrades, &$columns, &$headers, $includefeedback=true)
 Add all the grade and feedback columns, if applicable, to the $columns and $headers arrays. More...
 
 add_state_column (&$columns, &$headers)
 Add the state column to the $columns and $headers arrays. More...
 
 add_time_columns (&$columns, &$headers)
 Add all the time-related columns to the $columns and $headers arrays. More...
 
 add_user_columns ($table, &$columns, &$headers)
 Add all the user-related columns to the $columns and $headers arrays. More...
 
 configure_user_columns ($table)
 Set the display options for the user-related columns in the table. More...
 
 delete_selected_attempts ($quiz, $cm, $attemptids, core\dml\sql_join $allowedjoins)
 Delete the quiz attempts. More...
 
 get_base_url ()
 Get the base URL for this report. More...
 
 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. More...
 
 init ($mode, $formclass, $quiz, $cm, $course)
 Initialise various aspects of this report. More...
 
 load_relevant_students ($cm, $course=null)
 Get information about which students to show in the report. More...
 
 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. More...
 
 process_actions ($quiz, $cm, $currentgroup, core\dml\sql_join $groupstudentsjoins, core\dml\sql_join $allowedjoins, $redirecturl)
 Process any submitted actions. More...
 
 set_up_table_columns ($table, $columns, $headers, $reporturl, mod_quiz_attempts_report_options $options, $collapsible)
 Set up the table. More...
 

Protected Attributes

object $context
 the quiz context.
 
mod_quiz_attempts_report_form $form
 The settings form to use.
 
string $mode
 the mode this report is.
 
string $qmsubselect
 SQL fragment for selecting the attempt that gave the final grade, if applicable.
 
boolean $showgrades = null
 caches the results of should_show_grades().
 

Detailed Description

Base class for quiz reports that are basically a table with one row for each attempt.

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

Member Function Documentation

◆ add_grade_columns()

quiz_attempts_report::add_grade_columns (   $quiz,
  $usercanseegrades,
$columns,
$headers,
  $includefeedback = true 
)
protected

Add all the grade and feedback columns, if applicable, to the $columns and $headers arrays.

Parameters
object$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_state_column()

quiz_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()

quiz_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()

quiz_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()

quiz_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()

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

Delete the quiz attempts.

Parameters
object$quizthe quiz settings. Attempts that don't belong to this quiz are not deleted.
object$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()

quiz_default_report::display (   $cm,
  $course,
  $quiz 
)
abstractinherited

Override this function to displays the report.

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

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

◆ get_base_url()

quiz_attempts_report::get_base_url ( )
protected

Get the base URL for this report.

Return values
moodle_urlthe URL.

◆ get_current_group()

quiz_default_report::get_current_group (   $cm,
  $course,
  $context 
)
inherited

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

Parameters
object$cmthe course_module information.
object$couresthe 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()

quiz_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
object$cmthe course module.
object$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()

quiz_attempts_report::init (   $mode,
  $formclass,
  $quiz,
  $cm,
  $course 
)
protected

Initialise various aspects of this report.

Parameters
string$mode
string$formclass
object$quiz
object$cm
object$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.

◆ load_relevant_students()

quiz_attempts_report::load_relevant_students (   $cm,
  $course = null 
)
protected

Get information about which students to show in the report.

Parameters
object$cmthe coures module.
object$coursethe course settings.
Return values
arraywith four elements: 0 => integer the current group id (0 for none). 1 => array ids of all the students in this course. 2 => array ids of all the students in the current group. 3 => array ids of all the students to show in the report. Will be the same as either element 1 or 2.
Deprecated:
since Moodle 3.2 Please use get_students_joins() instead.

◆ print_header_and_tabs()

quiz_default_report::print_header_and_tabs (   $cm,
  $course,
  $quiz,
  $reportmode = 'overview' 
)
inherited

Initialise some parts of $PAGE and start output.

Parameters
object$cmthe course_module information.
object$couresthe course settings.
object$quizthe quiz settings.
string$reportmodethe report name.

Reimplemented in quiz_grading_report.

◆ print_standard_header_and_messages()

quiz_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 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.
mod_quiz_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()

quiz_attempts_report::process_actions (   $quiz,
  $cm,
  $currentgroup,
core\dml\sql_join  $groupstudentsjoins,
core\dml\sql_join  $allowedjoins,
  $redirecturl 
)
protected

Process any submitted actions.

Parameters
object$quizthe quiz settings.
object$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()

quiz_attempts_report::set_up_table_columns (   $table,
  $columns,
  $headers,
  $reporturl,
mod_quiz_attempts_report_options  $options,
  $collapsible 
)
protected

Set up the table.

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

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