Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
|
Class providing an API for the grader report building and displaying. More...
Public Member Functions | |
__construct ($courseid, $gpr, $context, $page=null, $sortitemid=null) | |
Constructor. More... | |
get_grade_table ($displayaverages=false) | |
Depending on the style of report (fixedstudents vs traditional one-table), arranges the rows of data in one or two tables, and returns the output of these tables in HTML. More... | |
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. More... | |
get_left_avg_row ($rows=array(), $colspan=1, $groupavg=false) | |
Builds and return the headers for the rows of averages, for the left part of the grader report. More... | |
get_left_icons_row ($rows=array(), $colspan=1) | |
Builds and return the row of icons for the left side of the report. More... | |
get_left_range_row ($rows=array(), $colspan=1) | |
Builds and return the header for the row of ranges, for the left part of the grader report. More... | |
get_left_rows ($displayaverages) | |
Builds and returns the rows that will make up the left part of the grader report This consists of student names and icons, links to user reports and id numbers, as well as header cells for these columns. More... | |
get_numusers ($groups=true, $users=false) | |
Fetches and returns a count of all the users that will be shown on this page. More... | |
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. More... | |
get_right_avg_row ($rows=array(), $grouponly=false) | |
Builds and return the row of averages for the right part of the grader report. More... | |
get_right_icons_row ($rows=array()) | |
Builds and return the row of icons when editing is on, for the right part of the grader report. More... | |
get_right_range_row ($rows=array()) | |
Builds and return the row of ranges for the right part of the grader report. More... | |
get_right_rows ($displayaverages) | |
Builds and returns the rows that will make up the right part of the grader report. More... | |
get_sort_arrows (array $extrafields=array()) | |
Refactored function for generating HTML of sorting links with matching arrows. More... | |
get_students_per_page () | |
Returns the maximum number of students to be displayed on each page. More... | |
get_toggles_html () | |
Gets html toggle. More... | |
load_final_grades () | |
we supply the userids in this query, and get all the grades pulls out all the grades, this does not need to worry about paging | |
load_users () | |
pulls out the userids of the users to be display, and sorts them | |
print_toggle ($type) | |
Prints html toggle. More... | |
process_action ($target, $action) | |
Processes a single action against a category, grade_item or grade. More... | |
process_data ($data) | |
Processes the data sent by the form (grades and feedbacks). More... | |
set_pref ($pref, $pref_value='default', $itemid=null) | |
Uses set_user_preferences() to update the value of a user preference. More... | |
setup_users () | |
Sets up this report's user criteria to restrict the selection of users to display. | |
Static Public Member Functions | |
static | do_process_action ($target, $action, $courseid=null) |
Processes a single action against a category, grade_item or grade. More... | |
static | supports_mygrades () |
Shows support for being used as a 'Grades' report. More... | |
Public Attributes | |
string | $baseurl |
base url for sorting by first/last name. More... | |
boolean | $canviewhidden |
Capability check caching $canviewhidden. | |
array | $collapsed |
List of collapsed categories from user preference $collapsed. | |
context | $context |
The context. More... | |
object | $course |
The course. More... | |
int | $courseid |
The courseid. More... | |
int | $currentgroup |
The current group being displayed. More... | |
string | $currentgroupname |
The current groupname being displayed. More... | |
object | $gpr |
Grade plugin return tracking object. More... | |
string | $gradebookroles |
The roles for this report. More... | |
array | $grades |
The final grades. More... | |
array | $gradeserror = array() |
Array of errors for bulk grades updating. More... | |
string | $group_selector |
A HTML select element used to select the current group. More... | |
int | $groupmode |
Current course group mode $groupmode. | |
grade_tree | $gtree |
The grade_tree object. More... | |
array | $lang_strings = array() |
Array of cached language strings (using get_string() all the time takes a long time!). More... | |
int | $page |
Current page (for paging). More... | |
string | $pbarurl |
base url for paging. More... | |
array | $prefs = array() |
User preferences related to this report. More... | |
int | $rowcount = 0 |
A count of the rows, used for css classes. More... | |
int | $sortitemid |
The id of the grade_item by which this report will be sorted. More... | |
int | $sortorder |
Sortorder used in the SQL selections. More... | |
string | $userselect |
An SQL fragment affecting the search for users. More... | |
array | $userselectparams = array() |
The bound params for $userselect $userselectparams. | |
Protected Member Functions | |
blank_hidden_total ($courseid, $course_item, $finalgrade) | |
Optionally blank out course/category totals if they contain any hidden items. More... | |
blank_hidden_total_and_adjust_bounds ($courseid, $course_item, $finalgrade) | |
Optionally blank out course/category totals if they contain any hidden items. More... | |
get_allgradeitems () | |
Load all grade items. | |
get_collapsing_icon ($element) | |
Given a category element returns collapsing +/- icon if available. More... | |
get_course_header ($element) | |
Given element category, create a collapsible icon and course header. More... | |
get_icons ($element) | |
Given a grade_category, grade_item or grade_grade, this function figures out the state of the object and builds then returns a div with the icons needed for the grader report. More... | |
get_sort_arrow ($direction='move', $sortlink=null) | |
Returns an arrow icon inside an tag, for the purpose of sorting a column. More... | |
setup_groups () | |
Sets up this object's group variables, mainly to restrict the selection of users to display. | |
Static Protected Member Functions | |
static | filter_collapsed_categories ($courseid, $collapsed) |
From the list of categories that this user prefers to collapse choose ones that belong to the current course. More... | |
static | get_collapsed_preferences ($courseid) |
Returns the list of categories that this user wants to collapse or display aggregatesonly. More... | |
static | set_collapsed_preferences ($courseid, $collapsed) |
Sets the list of categories that user wants to see collapsed in user preferences. More... | |
Protected Attributes | |
int | $feedback_trunc_length = 50 |
Length at which feedback will be truncated (to the nearest word) and an ellipsis be added. More... | |
string | $groupsql |
An SQL fragment used to add linking information to the group tables. More... | |
string | $groupwheresql |
An SQL constraint to append to the queries used by this object to build the report. More... | |
array | $groupwheresql_params = array() |
The ordered params for $groupwheresql $groupwheresql_params. | |
bool | $overridecat |
Allow category grade overriding $overridecat. | |
string | $userwheresql |
An SQL constraint to append to the queries used by this object to build the report. More... | |
array | $userwheresql_params = array() |
The ordered params for $userwheresql $userwheresql_params. | |
Class providing an API for the grader report building and displaying.
@uses grade_report
grade_report_grader::__construct | ( | $courseid, | |
$gpr, | |||
$context, | |||
$page = null , |
|||
$sortitemid = null |
|||
) |
Constructor.
Sets local copies of user preferences and initialises grade_tree.
int | $courseid | |
object | $gpr | grade plugin return tracking object |
string | $context | |
int | $page | The current page being viewed (when report is paged) |
int | $sortitemid | The id of the grade_item by which to sort the table |
|
protectedinherited |
Optionally blank out course/category totals if they contain any hidden items.
string | $courseid | the course id |
string | $course_item | an instance of grade_item |
string | $finalgrade | the grade for the course_item |
string | The new final grade |
|
protectedinherited |
Optionally blank out course/category totals if they contain any hidden items.
string | $courseid | the course id |
string | $course_item | an instance of grade_item |
string | $finalgrade | the grade for the course_item |
array[] | containing values for 'grade', 'grademax', 'grademin', 'aggregationstatus' and 'aggregationweight' |
|
static |
Processes a single action against a category, grade_item or grade.
string | $target | eid ({type}{id}, e.g. c4 for category4) |
string | $action | Which action to take (edit, delete etc...) |
int | $courseid | affected course. |
|
staticprotected |
From the list of categories that this user prefers to collapse choose ones that belong to the current course.
This function serves two purposes. Mainly it helps migrating from user preference style when all courses were stored in one preference. Also it helps to remove the settings for categories that were removed if the array for one course grows too big.
int | $courseid | |
array | $collapsed |
array |
|
staticprotected |
Returns the list of categories that this user wants to collapse or display aggregatesonly.
This method also migrates on request from the old format of storing user preferences when they were stored in one preference for all courses causing DB error when trying to insert very big value.
int | $courseid |
array |
|
protected |
Given a category element returns collapsing +/- icon if available.
|
protected |
Given element category, create a collapsible icon and course header.
array | $element |
string | HTML |
grade_report_grader::get_grade_table | ( | $displayaverages = false | ) |
Depending on the style of report (fixedstudents vs traditional one-table), arranges the rows of data in one or two tables, and returns the output of these tables in HTML.
boolean | $displayaverages | whether to display average rows in the table |
string | HTML |
|
protected |
Given a grade_category, grade_item or grade_grade, this function figures out the state of the object and builds then returns a div with the icons needed for the grader report.
array | $element |
string | HTML |
|
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.
string | $strcode | |
string | $section | Optional language section |
string |
grade_report_grader::get_left_avg_row | ( | $rows = array() , |
|
$colspan = 1 , |
|||
$groupavg = false |
|||
) |
Builds and return the headers for the rows of averages, for the left part of the grader report.
array | $rows | The Array of rows for the left part of the report |
int | $colspan | The number of columns this cell has to span |
bool | $groupavg | If true, returns the row for group averages, otherwise for overall averages |
array | Array of rows for the left part of the report |
grade_report_grader::get_left_icons_row | ( | $rows = array() , |
|
$colspan = 1 |
|||
) |
Builds and return the row of icons for the left side of the report.
It only has one cell that says "Controls"
array | $rows | The Array of rows for the left part of the report |
int | $colspan | The number of columns this cell has to span |
array | Array of rows for the left part of the report |
grade_report_grader::get_left_range_row | ( | $rows = array() , |
|
$colspan = 1 |
|||
) |
Builds and return the header for the row of ranges, for the left part of the grader report.
array | $rows | The Array of rows for the left part of the report |
int | $colspan | The number of columns this cell has to span |
array | Array of rows for the left part of the report |
grade_report_grader::get_left_rows | ( | $displayaverages | ) |
Builds and returns the rows that will make up the left part of the grader report This consists of student names and icons, links to user reports and id numbers, as well as header cells for these columns.
It also includes the fillers required for the categories displayed on the right side of the report.
boolean | $displayaverages | whether to display average rows in the table |
array | Array of html_table_row objects |
|
inherited |
Fetches and returns a count of all the users that will be shown on this page.
boolean | $groups | include groups limit |
boolean | $users | include users limit - default false, used for searching purposes |
int | Count of users |
|
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
string | $pref | The name of the preference (do not include the grade_report_ prefix) |
int | $objectid | An optional itemid or categoryid to check for a more fine-grained preference |
mixed | The value of the preference |
grade_report_grader::get_right_avg_row | ( | $rows = array() , |
|
$grouponly = false |
|||
) |
Builds and return the row of averages for the right part of the grader report.
array | $rows | Whether to return only group averages or all averages. |
bool | $grouponly | Whether to return only group averages or all averages. |
array | Array of rows for the right part of the report |
grade_report_grader::get_right_icons_row | ( | $rows = array() | ) |
Builds and return the row of icons when editing is on, for the right part of the grader report.
array | $rows | The Array of rows for the right part of the report |
array | Array of rows for the right part of the report |
grade_report_grader::get_right_range_row | ( | $rows = array() | ) |
Builds and return the row of ranges for the right part of the grader report.
array | $rows | The Array of rows for the right part of the report |
array | Array of rows for the right part of the report |
grade_report_grader::get_right_rows | ( | $displayaverages | ) |
Builds and returns the rows that will make up the right part of the grader report.
boolean | $displayaverages | whether to display average rows in the table |
array | Array of html_table_row objects |
|
protectedinherited |
Returns an arrow icon inside an tag, for the purpose of sorting a column.
string | $direction | |
moodle_url | $sortlink |
grade_report_grader::get_sort_arrows | ( | array | $extrafields = array() | ) |
Refactored function for generating HTML of sorting links with matching arrows.
Returns an array with 'studentname' and 'idnumber' as keys, with HTML ready to inject into a table header cell.
array | $extrafields | Array of extra fields being displayed, such as user idnumber |
array | An associative array of HTML sorting links+arrows |
grade_report_grader::get_students_per_page | ( | ) |
Returns the maximum number of students to be displayed on each page.
int | The maximum number of students to display per page |
grade_report_grader::get_toggles_html | ( | ) |
Gets html toggle.
grade_report_grader::print_toggle | ( | $type | ) |
Prints html toggle.
unknown | $type |
grade_report_grader::process_action | ( | $target, | |
$action | |||
) |
Processes a single action against a category, grade_item or grade.
string | $target | eid ({type}{id}, e.g. c4 for category4) |
string | $action | Which action to take (edit, delete etc...) |
Reimplemented from grade_report.
grade_report_grader::process_data | ( | $data | ) |
Processes the data sent by the form (grades and feedbacks).
Caller is responsible for all access control checks
array | $data | form submission (with magic quotes) |
array | empty array if success, array of warnings if something fails. |
Reimplemented from grade_report.
|
staticprotected |
Sets the list of categories that user wants to see collapsed in user preferences.
This method may filter or even trim the list if it does not fit in DB field.
int | $courseid | |
array | $collapsed |
|
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.
string | $pref | The name of the preference. |
mixed | $pref_value | The value of the preference. |
int | $itemid | An optional itemid to which the preference will be assigned |
bool | Success or failure. |
|
staticinherited |
Shows support for being used as a 'Grades' report.
Reimplemented in grade_report_overview.
|
inherited |
base url for sorting by first/last name.
$baseurl
|
inherited |
The context.
$context
|
inherited |
The course.
$course
|
inherited |
The courseid.
$courseid
|
inherited |
The current group being displayed.
$currentgroup
|
inherited |
The current groupname being displayed.
$currentgroupname
|
protected |
Length at which feedback will be truncated (to the nearest word) and an ellipsis be added.
TODO replace this by a report preference $feedback_trunc_length
|
inherited |
Grade plugin return tracking object.
$gpr
|
inherited |
The roles for this report.
$gradebookroles
array grade_report_grader::$grades |
The final grades.
$grades
array grade_report_grader::$gradeserror = array() |
Array of errors for bulk grades updating.
$gradeserror
|
inherited |
A HTML select element used to select the current group.
$group_selector
|
protectedinherited |
An SQL fragment used to add linking information to the group tables.
$groupsql
|
protectedinherited |
An SQL constraint to append to the queries used by this object to build the report.
$groupwheresql
|
inherited |
The grade_tree object.
$gtree
|
inherited |
Array of cached language strings (using get_string() all the time takes a long time!).
$lang_strings
|
inherited |
Current page (for paging).
$page
|
inherited |
base url for paging.
$pbarurl
|
inherited |
User preferences related to this report.
$prefs
int grade_report_grader::$rowcount = 0 |
A count of the rows, used for css classes.
$rowcount
int grade_report_grader::$sortitemid |
The id of the grade_item by which this report will be sorted.
$sortitemid
int grade_report_grader::$sortorder |
Sortorder used in the SQL selections.
$sortorder
string grade_report_grader::$userselect |
An SQL fragment affecting the search for users.
$userselect
|
protectedinherited |
An SQL constraint to append to the queries used by this object to build the report.
$userwheresql