Differences Between: [Versions 310 and 400] [Versions 311 and 400] [Versions 39 and 400] [Versions 400 and 401] [Versions 400 and 402] [Versions 400 and 403]
Definition of a class to represent an individual user's grade
Copyright: | 2006 Nicolas Connault |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 1255 lines (48 kb) |
Included or required: | 0 times |
Referenced: | 1 time |
Includes or requires: | 1 file lib/grade/grade_object.php |
grade_grade:: (40 methods):
fetch_users_grades()
load_grade_item()
is_editable()
is_locked()
is_overridden()
get_datesubmitted()
get_aggregationweight()
set_aggregationweight()
get_aggregationstatus()
set_aggregationstatus()
get_grade_min_and_max()
get_grade_min()
get_grade_max()
get_dategraded()
set_overridden()
is_excluded()
set_excluded()
set_locked()
check_locktime_all()
set_locktime()
get_locktime()
is_hidden()
is_hiddenuntil()
get_hidden()
set_hidden()
fetch()
fetch_all()
standardise_score()
flatten_dependencies_array()
get_hiding_affected()
is_passed()
update()
add_feedback_files()
update_feedback_files()
delete_feedback_files()
delete()
notify_changed()
get_aggregation_hint()
copy_feedback_files()
get_context()
Class: grade_grade - X-Ref
grade_grades is an object mapped to DB table {prefix}grade_gradesfetch_users_grades($grade_item, $userids, $include_missing=true) X-Ref |
Returns array of grades for given grade_item+users return: array userid=>grade_grade array param: grade_item $grade_item param: array $userids param: bool $include_missing include grades that do not exist yet |
load_grade_item() X-Ref |
Loads the grade_item object referenced by $this->itemid and saves it as $this->grade_item for easy access return: grade_item The grade_item instance referenced by $this->itemid |
is_editable() X-Ref |
Is grading object editable? return: bool |
is_locked() X-Ref |
Check grade lock status. Uses both grade item lock and grade lock. Internally any date in locked field (including future ones) means locked, the date is stored for logging purposes only. return: bool True if locked, false if not |
is_overridden() X-Ref |
Checks if grade overridden return: bool True if grade is overriden |
get_datesubmitted() X-Ref |
Returns timestamp of submission related to this grade, null if not submitted. return: int Timestamp |
get_aggregationweight() X-Ref |
Returns the weight this grade contributed to the aggregated grade return: float|null |
set_aggregationweight($aggregationweight) X-Ref |
Set aggregationweight. return: void param: float $aggregationweight |
get_aggregationstatus() X-Ref |
Returns the info on how this value was used in the aggregated grade return: string One of 'dropped', 'excluded', 'novalue', 'used' or 'extra' |
set_aggregationstatus($aggregationstatus) X-Ref |
Set aggregationstatus flag return: void param: string $aggregationstatus |
get_grade_min_and_max() X-Ref |
Returns the minimum and maximum number of points this grade is graded with respect to. return: array A list containing, in order, the minimum and maximum number of points. |
get_grade_min() X-Ref |
Returns the minimum number of points this grade is graded with. return: float The minimum number of points |
get_grade_max() X-Ref |
Returns the maximum number of points this grade is graded with respect to. return: float The maximum number of points |
get_dategraded() X-Ref |
Returns timestamp when last graded, null if no grade present return: int |
set_overridden($state, $refresh = true) X-Ref |
Set the overridden status of grade return: bool true is db state changed param: bool $state requested overridden state param: bool $refresh refresh grades from external activities if needed |
is_excluded() X-Ref |
Checks if grade excluded from aggregation functions return: bool True if grade is excluded from aggregation |
set_excluded($state) X-Ref |
Set the excluded status of grade return: bool True is database state changed param: bool $state requested excluded state |
set_locked($lockedstate, $cascade=false, $refresh=true) X-Ref |
Lock/unlock this grade. return: bool True if successful, false if can not set new lock state for grade param: int $lockedstate 0, 1 or a timestamp int(10) after which date the item will be locked. param: bool $cascade Ignored param param: bool $refresh Refresh grades when unlocking |
check_locktime_all($items) X-Ref |
Lock the grade if needed. Make sure this is called only when final grades are valid return: void param: array $items array of all grade item ids |
set_locktime($locktime) X-Ref |
Set the locktime for this grade. return: void param: int $locktime timestamp for lock to activate |
get_locktime() X-Ref |
Get the locktime for this grade. return: int $locktime timestamp for lock to activate |
is_hidden() X-Ref |
Check grade hidden status. Uses data from both grade item and grade. return: bool true if hidden, false if not |
is_hiddenuntil() X-Ref |
Check grade hidden status. Uses data from both grade item and grade. return: bool true if hiddenuntil, false if not |
get_hidden() X-Ref |
Check grade hidden status. Uses data from both grade item and grade. return: int 0 means visible, 1 hidden always, timestamp hidden until |
set_hidden($hidden, $cascade=false) X-Ref |
Set the hidden status of grade, 0 mean visible, 1 always hidden, number means date to hide until. param: int $hidden new hidden status param: bool $cascade ignored |
fetch($params) X-Ref |
Finds and returns a grade_grade instance based on params. return: grade_grade Returns a grade_grade instance or false if none found param: array $params associative arrays varname=>value |
fetch_all($params) X-Ref |
Finds and returns all grade_grade instances based on params. return: array array of grade_grade instances or false if none found. param: array $params associative arrays varname=>value |
standardise_score($rawgrade, $source_min, $source_max, $target_min, $target_max) X-Ref |
Given a float value situated between a source minimum and a source maximum, converts it to the corresponding value situated between a target minimum and a target maximum. Thanks to Darlene for the formula :-) return: float Converted value param: float $rawgrade param: float $source_min param: float $source_max param: float $target_min param: float $target_max |
flatten_dependencies_array(&$dependson, &$dependencydepth) X-Ref |
Given an array like this: $a = array(1=>array(2, 3), 2=>array(4), 3=>array(1), 4=>array()) this function fully resolves the dependencies so each value will be an array of the all items this item depends on and their dependencies (and their dependencies...). It should not explode if there are circular dependencies. The dependency depth array will list the number of branches in the tree above each leaf. return: array Flattened array param: array $dependson Array to flatten param: array $dependencydepth Array of itemids => depth. Initially these should be all set to 1. |
get_hiding_affected(&$grade_grades, &$grade_items) X-Ref |
Return array of grade item ids that are either hidden or indirectly depend on hidden grades, excluded grades are not returned. THIS IS A REALLY BIG HACK! to be replaced by conditional aggregation of hidden grades in 2.0 return: array This is an array of following arrays: param: array $grade_grades all course grades of one user, & used for better internal caching param: array $grade_items array of grade items, & used for better internal caching |
is_passed($grade_item = null) X-Ref |
Returns true if the grade's value is superior or equal to the grade item's gradepass value, false otherwise. return: bool param: grade_item $grade_item An optional grade_item of which gradepass value we can use, saves having to load the grade_grade's grade_item |
update($source=null, $isbulkupdate = false) X-Ref |
In addition to update() as defined in grade_object rounds the float numbers using php function, the reason is we need to compare the db value with computed number to skip updates if possible. return: bool success param: string $source from where was the object inserted (mod/forum, manual, etc.) param: bool $isbulkupdate If bulk grade update is happening. |
add_feedback_files(int $historyid = null) X-Ref |
Handles adding feedback files in the gradebook. param: int|null $historyid |
update_feedback_files(int $historyid = null) X-Ref |
Handles updating feedback files in the gradebook. param: int|null $historyid |
delete_feedback_files() X-Ref |
Handles deleting feedback files in the gradebook. |
delete($source = null) X-Ref |
Deletes the grade_grade instance from the database. return: bool Returns true if the deletion was successful, false otherwise. param: string $source The location the deletion occurred (mod/forum, manual, etc.). |
notify_changed($deleted, $isbulkupdate = false) X-Ref |
Used to notify the completion system (if necessary) that a user's grade has changed, and clear up a possible score cache. param: bool $deleted True if grade was actually deleted param: bool $isbulkupdate If bulk grade update is happening. |
get_aggregation_hint() X-Ref |
Get some useful information about how this grade_grade is reflected in the aggregation for the grade_category. For example this could be an extra credit item, and it could be dropped because it's in the X lowest or highest. return: array(status, weight) - A keyword and a numerical weight that represents how this grade was included in the aggregation. |
copy_feedback_files(context $context, string $filearea, int $itemid) X-Ref |
Handles copying feedback files to a specified gradebook file area. param: context $context param: string $filearea param: int $itemid |
get_context() X-Ref |
Determine the correct context for this grade_grade. return: context |