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

Class providing an API for the overview report building and displaying. More...

Inheritance diagram for grade_report_overview:
grade_report

Public Member Functions

 __construct ($userid, $gpr, $context)
 Constructor.
 
 fill_table ($activitylink=false, $studentcoursesonly=false)
 Fill the table for displaying.
 
 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.
 
 print_table ($return=false)
 Prints or returns the HTML from the flexitable.
 
 print_teacher_table ()
 Print a table to show courses that the user is able to grade.
 
 process_action ($target, $action)
 Processes a single action against a category, grade_item or grade.
 
 process_data ($data)
 Processes the data sent by the form (grades and feedbacks).
 
 regrade_all_courses_if_needed (bool $frontend=false)
 Regrades all courses if needed.
 
 set_pref ($pref, $pref_value='default', $itemid=null)
 Uses set_user_preferences() to update the value of a user preference.
 
 setup_courses_data ($studentcoursesonly)
 Set up the courses grades data for the report.
 
 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.
 
 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 check_access ($systemcontext, $context, $personalcontext, $course, $userid)
 Check if the user can access the report.
 
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 ()
 This report supports being set as the 'grades' report.
 
static viewed ($context, $courseid, $userid)
 Trigger the grade_report_viewed event.
 

Public Attributes

string $baseurl
 base url for sorting by first/last name.
 
context $context
 The context.
 
object $course
 The course.
 
int $courseid
 The courseid.
 
array $courses
 The user's courses $courses.
 
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 $showrank
 Show student ranks within each course.
 
array $showtotalsifcontainhidden = []
 show course/category totals if they contain hidden items $showtotalsifcontainhidden
 
array $studentcourseids
 An array of course ids that the user is a student in.
 
object $table
 A flexitable to hold the data.
 
array $teachercourses
 An array of courses that the user is a teacher in.
 
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

Class providing an API for the overview report building and displaying.

@uses grade_report

Constructor & Destructor Documentation

◆ __construct()

grade_report_overview::__construct ( $userid,
$gpr,
$context )

Constructor.

Sets local copies of user preferences and initialises grade_tree.

Parameters
int$userid
object$gprgrade plugin return tracking object
string$context

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.

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.

◆ check_access()

static grade_report_overview::check_access ( $systemcontext,
$context,
$personalcontext,
$course,
$userid )
static

Check if the user can access the report.

Parameters
stdClass$systemcontextsystem context
stdClass$contextcourse context
stdClass$personalcontextpersonal context
stdClass$coursecourse object
int$useriduserid
Return values
booltrue if the user can access the report
Since
Moodle 3.2

◆ fill_table()

grade_report_overview::fill_table ( $activitylink = false,
$studentcoursesonly = false )

Fill the table for displaying.

Parameters
bool$activitylinkIf this report link to the activity report or the user report.
bool$studentcoursesonlyOnly show courses that the user is a student of.

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

◆ item_types()

grade_report::item_types ( )
inherited

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

Return values
arrayItem types.

◆ print_table()

grade_report_overview::print_table ( $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

◆ process_action()

grade_report_overview::process_action ( $target,
$action )

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 from grade_report.

◆ process_data()

grade_report_overview::process_data ( $data)

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

Parameters
array$data
Return values
boolSuccess or Failure (array of errors).

Reimplemented from grade_report.

◆ regrade_all_courses_if_needed()

grade_report_overview::regrade_all_courses_if_needed ( bool $frontend = false)

Regrades all courses if needed.

If $frontend is true, this may show a progress bar and redirect back to the page (possibly several times if multiple courses need it). Otherwise, it will not return until all the courses have been updated.

Parameters
bool$frontendTrue if we are running front-end code and can safely redirect back

◆ 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_courses_data()

grade_report_overview::setup_courses_data ( $studentcoursesonly)

Set up the courses grades data for the report.

Parameters
bool$studentcoursesonlyOnly show courses that the user is a student of.
Return values
arrayof course grades information

◆ 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.

◆ supports_mygrades()

static grade_report_overview::supports_mygrades ( )
static

This report supports being set as the 'grades' report.

Reimplemented from grade_report.

◆ ungraded_counts()

grade_report::ungraded_counts ( )
inherited

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.

◆ viewed()

static grade_report_overview::viewed ( $context,
$courseid,
$userid )
static

Trigger the grade_report_viewed event.

Parameters
stdClass$contextcourse context
int$courseidcourse id
int$useriduser id
Since
Moodle 3.2

Member Data Documentation

◆ $baseurl

string grade_report::$baseurl
inherited

base url for sorting by first/last name.

$baseurl

◆ $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

◆ $gtree

grade_tree grade_report::$gtree
inherited

The grade_tree object.

$gtree

◆ $page

int grade_report::$page
inherited

Current page (for paging).

$page

◆ $pbarurl

string grade_report::$pbarurl
inherited

base url for paging.

$pbarurl

◆ $prefs

array grade_report::$prefs = array()
inherited

User preferences related to this report.

$prefs

◆ $showrank

array grade_report_overview::$showrank

Show student ranks within each course.

$showrank

◆ $studentcourseids

array grade_report_overview::$studentcourseids

An array of course ids that the user is a student in.

$studentcourseids

◆ $table

object grade_report_overview::$table

A flexitable to hold the data.

$table

◆ $teachercourses

array grade_report_overview::$teachercourses

An array of courses that the user is a teacher in.

$teachercourses

◆ $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


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