Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
grade_report Class Reference

An abstract class containing variables and methods used by all or most reports. More...

Inheritance diagram for grade_report:
grade_report_grader grade_report_overview grade_report_summary gradereport_singleview\report\singleview gradereport_user\report\user

Public Member Functions

 __construct ($courseid, $gpr, $context, $page=null)
 Constructor.
 
 get_lang_string ($strcode, $section=null)
 First checks the cached language strings, then returns match if found, or uses get_string() to get it from the DB, caches it then returns it.
 
 get_numusers ($groups=true, $users=false)
 Fetches and returns a count of all the users that will be shown on this page.
 
 get_pref ($pref, $objectid=null)
 Given the name of a user preference (without grade_report_ prefix), locally saves then returns the value of that preference.
 
 item_types ()
 Get grade item type names in a course to use in filter dropdown.
 
 process_action ($target, $action)
 Processes a single action against a category, grade_item or grade.
 
 process_data ($data)
 Handles form data sent by this report for this report.
 
 set_pref ($pref, $pref_value='default', $itemid=null)
 Uses set_user_preferences() to update the value of a user preference.
 
 setup_users ()
 Sets up this report's user criteria to restrict the selection of users to display.
 
 ungraded_counts ()
 Get ungraded grade items info and sum of all grade items in a course.
 

Static Public Member Functions

static calculate_average (grade_item $gradeitem, array $info)
 Calculate average grade for a given grade item.
 
static get_additional_context (context_course $context, int $courseid, array $element, grade_plugin_return $gpr, string $mode, stdClass $templatecontext, bool $otherplugins=false)
 Add additional links specific to plugin.
 
static get_gradable_users (int $courseid, ?int $groupid=null)
 Load a valid list of gradable users in a course.
 
static supports_mygrades ()
 Shows support for being used as a 'Grades' report.
 

Public Attributes

string $baseurl
 base url for sorting by first/last name.
 
context $context
 The context.
 
object $course
 The course.
 
int $courseid
 The courseid.
 
int $currentgroup
 The current group being displayed.
 
string $currentgroupname
 The current groupname being displayed.
 
object $gpr
 Grade plugin return tracking object.
 
string $gradebookroles
 The roles for this report.
 
string $group_selector
 A HTML select element used to select the current group.
 
int $groupmode
 Current course group mode $groupmode.
 
grade_tree $gtree
 The grade_tree object.
 
int $page
 Current page (for paging).
 
string $pbarurl
 base url for paging.
 
array $prefs = array()
 User preferences related to this report.
 
array $showtotalsifcontainhidden = []
 show course/category totals if they contain hidden items $showtotalsifcontainhidden
 
stdClass $user
 To store user data $user.
 

Protected Member Functions

 blank_hidden_total ($courseid, $course_item, $finalgrade)
 Optionally blank out course/category totals if they contain any hidden items.
 
 blank_hidden_total_and_adjust_bounds ($courseid, $course_item, $finalgrade)
 Optionally blank out course/category totals if they contain any hidden items.
 
 get_sort_arrow (string $direction='down', ?moodle_url $sortlink=null)
 Returns an arrow icon inside an tag, for the purpose of sorting a column.
 
 get_users_search_sql (array $mappings, array $userfields)
 Prepare SQL where clause and associated parameters for any user searching being performed.
 
 setup_groups ()
 Sets up this object's group variables, mainly to restrict the selection of users to display.
 

Protected Attributes

string $groupsql
 An SQL fragment used to add linking information to the group tables.
 
string $groupwheresql
 An SQL constraint to append to the queries used by this object to build the report.
 
array $groupwheresql_params = array()
 The ordered params for $groupwheresql $groupwheresql_params.
 
string $preferences_page
 To store a link to preferences page $preferences_page.
 
int int $userid = -1
 If the user is wanting to show only one particular user their id will be placed here.
 
string string $usersearch = ''
 If the user is wanting to search for a particular user within searchable fields their needle will be placed here.
 
string $userwheresql
 An SQL constraint to append to the queries used by this object to build the report.
 
array $userwheresql_params = array()
 The ordered params for $userwheresql $userwheresql_params.
 

Detailed Description

An abstract class containing variables and methods used by all or most reports.

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

Constructor & Destructor Documentation

◆ __construct()

grade_report::__construct ( $courseid,
$gpr,
$context,
$page = null )

Constructor.

Sets local copies of user preferences and initialises grade_tree.

Parameters
int$courseid
object$gprgrade plugin return tracking object
string$context
int$pageThe current page being viewed (when report is paged)

Member Function Documentation

◆ blank_hidden_total()

grade_report::blank_hidden_total ( $courseid,
$course_item,
$finalgrade )
protected

Optionally blank out course/category totals if they contain any hidden items.

Deprecated
since Moodle 2.8 - Call blank_hidden_total_and_adjust_bounds instead.
Parameters
string$courseidthe course id
string$course_iteman instance of grade_item
string$finalgradethe grade for the course_item
Return values
stringThe new final grade

◆ blank_hidden_total_and_adjust_bounds()

grade_report::blank_hidden_total_and_adjust_bounds ( $courseid,
$course_item,
$finalgrade )
protected

Optionally blank out course/category totals if they contain any hidden items.

Parameters
string$courseidthe course id
string$course_iteman instance of grade_item
string$finalgradethe grade for the course_item
Return values
array[]containing values for 'grade', 'grademax', 'grademin', 'aggregationstatus' and 'aggregationweight'

◆ calculate_average()

static grade_report::calculate_average ( grade_item $gradeitem,
array $info )
static

Calculate average grade for a given grade item.

Based on calculate_averages function from grade/report/user/lib.php

Parameters
grade_item$gradeitemGrade item
array$infoUngraded grade items counts and report preferences.
Return values
arrayAverage grade and meancount.

◆ get_additional_context()

static grade_report::get_additional_context ( context_course $context,
int $courseid,
array $element,
grade_plugin_return $gpr,
string $mode,
stdClass $templatecontext,
bool $otherplugins = false )
static

Add additional links specific to plugin.

Parameters
context_course$contextCourse context
int$courseidCourse ID
array$elementAn array representing an element in the grade_tree
grade_plugin_return$gprA grade_plugin_return object
string$modeMode (user or grade item)
stdClass$templatecontextTemplate context
bool$otherpluginsIf we need to insert links to other plugins
Return values
?stdClassUpdated template context

◆ get_gradable_users()

static grade_report::get_gradable_users ( int $courseid,
?int $groupid = null )
static

Load a valid list of gradable users in a course.

Parameters
int$courseidThe course ID.
int | null$groupidThe group ID (optional).
Return values
arrayA list of enrolled gradable users.

◆ get_lang_string()

grade_report::get_lang_string ( $strcode,
$section = null )

First checks the cached language strings, then returns match if found, or uses get_string() to get it from the DB, caches it then returns it.

Deprecated
since 4.2
Todo
MDL-77307 This will be deleted in Moodle 4.6.
Parameters
string$strcode
string$sectionOptional language section
Return values
string

◆ get_numusers()

grade_report::get_numusers ( $groups = true,
$users = false )

Fetches and returns a count of all the users that will be shown on this page.

Parameters
boolean$groupsinclude groups limit
boolean$usersinclude users limit - default false, used for searching purposes
Return values
intCount of users

◆ get_pref()

grade_report::get_pref ( $pref,
$objectid = null )

Given the name of a user preference (without grade_report_ prefix), locally saves then returns the value of that preference.

If the preference has already been fetched before, the saved value is returned. If the preference is not set at the User level, the $CFG equivalent is given (site default). Can be called statically, but then doesn't benefit from caching

Parameters
string$prefThe name of the preference (do not include the grade_report_ prefix)
int$objectidAn optional itemid or categoryid to check for a more fine-grained preference
Return values
mixedThe value of the preference

◆ get_sort_arrow()

grade_report::get_sort_arrow ( string $direction = 'down',
?moodle_url $sortlink = null )
protected

Returns an arrow icon inside an tag, for the purpose of sorting a column.

Parameters
string$direction
moodle_url | null$sortlink

◆ get_users_search_sql()

grade_report::get_users_search_sql ( array $mappings,
array $userfields )
protected

Prepare SQL where clause and associated parameters for any user searching being performed.

This mostly came from core_user\table\participants_search with some slight modifications four our use case.

Parameters
array$mappingsArray of field mappings (fieldname => SQL code for the value)
array$userfieldsAn array that we cast from user profile fields to search within.
Return values
arraySQL query data in the format ['where' => '', 'params' => []].

◆ item_types()

grade_report::item_types ( )

Get grade item type names in a course to use in filter dropdown.

Return values
arrayItem types.

◆ process_action()

grade_report::process_action ( $target,
$action )
abstract

Processes a single action against a category, grade_item or grade.

Parameters
string$targetSortorder
string$actionWhich action to take (edit, delete etc...)
Return values

Reimplemented in grade_report_grader, grade_report_overview, grade_report_summary, gradereport_singleview\report\singleview, and gradereport_user\report\user.

◆ process_data()

grade_report::process_data ( $data)
abstract

Handles form data sent by this report for this report.

Abstract method to implement in all children. @abstract

Parameters
array$data
Return values
mixedTrue or array of errors

Reimplemented in grade_report_grader, grade_report_overview, grade_report_summary, gradereport_singleview\report\singleview, and gradereport_user\report\user.

◆ set_pref()

grade_report::set_pref ( $pref,
$pref_value = 'default',
$itemid = null )

Uses set_user_preferences() to update the value of a user preference.

If 'default' is given as the value, the preference will be removed in favour of a higher-level preference.

Parameters
string$prefThe name of the preference.
mixed$pref_valueThe value of the preference.
int$itemidAn optional itemid to which the preference will be assigned
Return values
boolSuccess or failure.

◆ setup_groups()

grade_report::setup_groups ( )
protected

Sets up this object's group variables, mainly to restrict the selection of users to display.

Reimplemented in gradereport_singleview\report\singleview.

◆ supports_mygrades()

static grade_report::supports_mygrades ( )
static

Shows support for being used as a 'Grades' report.

Reimplemented in grade_report_overview.

◆ ungraded_counts()

grade_report::ungraded_counts ( )

Get ungraded grade items info and sum of all grade items in a course.

Based on calculate_averages function from grade/report/user/lib.php

Return values
arrayUngraded grade items counts with report preferences.

Member Data Documentation

◆ $baseurl

string grade_report::$baseurl

base url for sorting by first/last name.

$baseurl

◆ $context

context grade_report::$context

The context.

$context

◆ $course

object grade_report::$course

The course.

$course

◆ $courseid

int grade_report::$courseid

The courseid.

$courseid

◆ $currentgroup

int grade_report::$currentgroup

The current group being displayed.

$currentgroup

◆ $currentgroupname

string grade_report::$currentgroupname

The current groupname being displayed.

$currentgroupname

◆ $gpr

object grade_report::$gpr

Grade plugin return tracking object.

$gpr

◆ $gradebookroles

string grade_report::$gradebookroles

The roles for this report.

$gradebookroles

◆ $group_selector

string grade_report::$group_selector

A HTML select element used to select the current group.

$group_selector

◆ $groupsql

string grade_report::$groupsql
protected

An SQL fragment used to add linking information to the group tables.

$groupsql

◆ $groupwheresql

string grade_report::$groupwheresql
protected

An SQL constraint to append to the queries used by this object to build the report.

$groupwheresql

◆ $gtree

grade_tree grade_report::$gtree

The grade_tree object.

$gtree

◆ $page

int grade_report::$page

Current page (for paging).

$page

◆ $pbarurl

string grade_report::$pbarurl

base url for paging.

$pbarurl

◆ $prefs

array grade_report::$prefs = array()

User preferences related to this report.

$prefs

◆ $userid

int int grade_report::$userid = -1
protected

If the user is wanting to show only one particular user their id will be placed here.

$userid

◆ $usersearch

string string grade_report::$usersearch = ''
protected

If the user is wanting to search for a particular user within searchable fields their needle will be placed here.

$usersearch

◆ $userwheresql

string grade_report::$userwheresql
protected

An SQL constraint to append to the queries used by this object to build the report.

$userwheresql


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