Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
gradereport_user\report\user Class Reference
Inheritance diagram for gradereport_user\report\user:
grade_report

Public Member Functions

 __construct (int $courseid, ?object $gpr, object $context, int $userid, bool $viewasuser=null)
 Constructor.
 
 fill_contributions_column (array $element)
 This function is called after the table has been built and the aggregationhints have been collected.
 
 fill_table ()
 Provide an entry point to build the table.
 
 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.
 
 inject_rowspans (array &$element)
 Recurse through a tree of elements setting the rowspan property on each element.
 
 item_types ()
 Get grade item type names in a course to use in filter dropdown.
 
 output_report_zerostate ()
 Build the html for the zero state of the user report.
 
 print_table (bool $return=false)
 Prints or returns the HTML from the flexitable.
 
 process_action ($target, $action)
 Stub function.
 
 process_data ($data)
 Processes the data sent by the form (grades and feedbacks).
 
 set_pref ($pref, $pref_value='default', $itemid=null)
 Uses set_user_preferences() to update the value of a user preference.
 
 setup_table ()
 Prepares the headers and attributes of the flexitable.
 
 setup_users ()
 Sets up this report's user criteria to restrict the selection of users to display.
 
 show_only_active ()
 To check if we only need to include active enrolments.
 
 ungraded_counts (bool $grouponly=false, bool $includehiddengrades=false, $showonlyactiveenrol=true)
 Get ungraded grade items info and sum of all grade items in a course.
 
 viewed ()
 Trigger the grade_report_viewed event.
 

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
 
bool $canviewhidden
 
int $columncount = 0
 Used for proper column indentation.
 
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.
 
int $decimals = 2
 Decimal points to use for values in the report, default 2.
 
void $evenodd
 
object $gpr
 Grade plugin return tracking object.
 
string $gradebookroles
 The roles for this report.
 
array $gradeitemsdata = []
 An array containing the grade items data for external usage (web services, ajax, etc...)
 
string $group_selector
 A HTML select element used to select the current group.
 
int $groupmode
 Current course group mode $groupmode.
 
void $gseq
 Flat structure similar to grade tree.
 
grade_tree $gtree
 The grade tree structure.
 
int $maxdepth
 
int $page
 Current page (for paging).
 
string $pbarurl
 
array $prefs = array()
 User preferences related to this report.
 
int $rangedecimals = 0
 The number of decimal places to round range to, default 0.
 
false $showaverage = false
 Show average grades in the report, default false.
 
bool $showcontributiontocoursetotal = true
 Show the calculated contribution to the course total column.
 
bool $showfeedback = true
 Show grade feedback in the report, default true.
 
bool $showgrade = true
 Show grades in the report, default true.
 
void $showhiddenitems
 Show hidden items even when user does not have required cap.
 
bool $showlettergrade = false
 Show letter grades in the report, default false.
 
void $showpercentage
 show grade percentages
 
bool $showrange = true
 Show range.
 
void $showrank
 show student ranks
 
array $showtotalsifcontainhidden = []
 show course/category totals if they contain hidden items $showtotalsifcontainhidden
 
bool $showweight = true
 Show grade weighting in the report, default true.
 
string null $switch
 
object $table
 A flexitable to hold the data.
 
array $tablecolumns = []
 An array of table columns.
 
array $tabledata = []
 An array containing rows of data for the table.
 
array $tableheaders = []
 An array of table headers.
 
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.
 
 format_average_cell (grade_item $gradeitem, ?array $aggr=null, ?bool $shownumberofgrades=null)
 Returns a row of grade items averages.
 
 format_averages (array $ungradedcounts)
 Returns a row of grade items averages.
 
 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

array $aggregationhints = []
 An array that collects the aggregationhints for every grade_item.
 
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.
 
course_modinfo $modinfo = null
 The modinfo object to be used.
 
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.
 
boolean $viewasuser = false
 View as user.
 

Constructor & Destructor Documentation

◆ __construct()

gradereport_user\report\user::__construct ( int $courseid,
?object $gpr,
object $context,
int $userid,
bool $viewasuser = null )

Constructor.

Sets local copies of user preferences and initialises grade_tree.

Parameters
int$courseid
null | object$gprgrade plugin return tracking object
object$context
int$useridThe id of the user
bool$viewasuserSet this to true when the current user is a mentor/parent of the targetted user.

Member Function Documentation

◆ blank_hidden_total()

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

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

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

Calculate average grade for a given grade item.

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

◆ fill_contributions_column()

gradereport_user\report\user::fill_contributions_column ( array $element)

This function is called after the table has been built and the aggregationhints have been collected.

We need this info to walk up the list of parents of each grade_item.

Parameters
array$element- An array containing the table data for the current row.

◆ fill_table()

gradereport_user\report\user::fill_table ( )

Provide an entry point to build the table.

Return values
bool

◆ format_average_cell()

gradereport_user\report\user::format_average_cell ( grade_item $gradeitem,
?array $aggr = null,
?bool $shownumberofgrades = null )
protected

Returns a row of grade items averages.

Parameters
grade_item$gradeitemGrade item.
array | null$aggrAverage value and meancount information.
bool | null$shownumberofgradesWhether to show number of grades.
Return values
html_table_cellFormatted average cell.

Reimplemented from grade_report.

◆ format_averages()

grade_report::format_averages ( array $ungradedcounts)
protectedinherited

Returns a row of grade items averages.

Parameters
array$ungradedcountsUngraded grade items counts with report preferences.
Return values
html_table_rowRow with averages

◆ 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 )
staticinherited

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

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

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

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

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

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

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' => []].

◆ inject_rowspans()

gradereport_user\report\user::inject_rowspans ( array & $element)

Recurse through a tree of elements setting the rowspan property on each element.

Parameters
array$elementEither the top element or, during recursion, the current element
Return values
intThe number of elements processed

◆ item_types()

grade_report::item_types ( )
inherited

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

Return values
arrayItem types.

◆ output_report_zerostate()

gradereport_user\report\user::output_report_zerostate ( )

Build the html for the zero state of the user report.

Return values
stringHTML to display

◆ print_table()

gradereport_user\report\user::print_table ( bool $return = false)

Prints or returns the HTML from the flexitable.

Parameters
bool$returnWhether or not to return the data instead of printing it directly.
Return values
string|void

◆ process_action()

gradereport_user\report\user::process_action ( $target,
$action )

Stub function.

Parameters
string$target
string$action
Return values
void

Reimplemented from grade_report.

◆ process_data()

gradereport_user\report\user::process_data ( $data)

Processes the data sent by the form (grades and feedbacks).

Parameters
array$dataTake in some data to provide to the base function.
Return values
voidSuccess or Failure (array of errors).

Reimplemented from grade_report.

◆ set_pref()

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

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

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

Reimplemented in gradereport_singleview\report\singleview.

◆ show_only_active()

grade_report::show_only_active ( )
inherited

To check if we only need to include active enrolments.

Return values
bool

Reimplemented in grade_report_summary.

◆ supports_mygrades()

static grade_report::supports_mygrades ( )
staticinherited

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

Reimplemented in grade_report_overview.

◆ ungraded_counts()

grade_report::ungraded_counts ( bool $grouponly = false,
bool $includehiddengrades = false,
$showonlyactiveenrol = true )
inherited

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

Parameters
bool$grouponlyIf we want to compute group average only.
bool$includehiddengradesInclude hidden grades.
bool$showonlyactiveenrolWhether to only include active enrolments.
Return values
arrayUngraded grade items counts with report preferences.

◆ viewed()

gradereport_user\report\user::viewed ( )

Trigger the grade_report_viewed event.

Since
Moodle 2.9

Member Data Documentation

◆ $aggregationhints

array gradereport_user\report\user::$aggregationhints = []
protected

An array that collects the aggregationhints for every grade_item.

The hints contain grade, grademin, grademax status, weight and parent.

◆ $context

context grade_report::$context
inherited

The context.

$context

◆ $course

object grade_report::$course
inherited

The course.

$course

◆ $courseid

int grade_report::$courseid
inherited

The courseid.

$courseid

◆ $currentgroup

int grade_report::$currentgroup
inherited

The current group being displayed.

$currentgroup

◆ $currentgroupname

string grade_report::$currentgroupname
inherited

The current groupname being displayed.

$currentgroupname

◆ $gpr

object grade_report::$gpr
inherited

Grade plugin return tracking object.

$gpr

◆ $gradebookroles

string grade_report::$gradebookroles
inherited

The roles for this report.

$gradebookroles

◆ $group_selector

string grade_report::$group_selector
inherited

A HTML select element used to select the current group.

$group_selector

◆ $groupsql

string grade_report::$groupsql
protectedinherited

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

$groupsql

◆ $groupwheresql

string grade_report::$groupwheresql
protectedinherited

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

$groupwheresql

◆ $page

int grade_report::$page
inherited

Current page (for paging).

$page

◆ $prefs

array grade_report::$prefs = array()
inherited

User preferences related to this report.

$prefs

◆ $table

object gradereport_user\report\user::$table

A flexitable to hold the data.

$table

◆ $userid

int int grade_report::$userid = -1
protectedinherited

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

$userid

◆ $usersearch

string string grade_report::$usersearch = ''
protectedinherited

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
protectedinherited

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

$userwheresql

◆ $viewasuser

boolean gradereport_user\report\user::$viewasuser = false
protected

View as user.

When this is set to true, the visibility checks, and capability checks will be applied to the user whose grades are being displayed. This is very useful when a mentor/parent is viewing the report of their mentee because they need to have access to the same information, but not more, not less.


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