Moodle APIs
3.8
Moodle 3.8.6 (Build: 20201109)
|
Public Member Functions | |
eval_cron_field ($field, $min, $max) | |
Take a cron field definition and return an array of valid numbers with the range min-max. More... | |
execute () | |
Checks all course-level rule subscriptions and activates/deactivates based on current course access. More... | |
get_component () | |
Getter for $component. More... | |
get_cron_lock () | |
Get the current lock for the entire cron. More... | |
get_day () | |
Getter for $day. More... | |
get_day_of_week () | |
Getter for $dayofweek. More... | |
get_disabled () | |
Getter for $disabled. More... | |
get_fail_delay () | |
Getter for $faildelay. More... | |
get_hour () | |
Getter for $hour. More... | |
get_last_run_time () | |
Get the last run time for this scheduled task. More... | |
get_lock () | |
Get the current lock for this task. More... | |
get_minute () | |
Getter for $minute. More... | |
get_month () | |
Getter for $month. More... | |
get_name () | |
Get a descriptive name for this task. More... | |
get_next_run_time () | |
Get the next run time for this task. More... | |
get_next_scheduled_time () | |
Calculate when this task should next be run based on the schedule. More... | |
get_run_if_component_disabled () | |
Override this function if you want this scheduled task to run, even if the component is disabled. More... | |
is_blocking () | |
Getter for $blocking. More... | |
is_customised () | |
Has this task been changed from it's default config? More... | |
set_blocking ($blocking) | |
Setter for $blocking. More... | |
set_component ($component) | |
Setter for $component. More... | |
set_cron_lock (\core\lock\lock $lock) | |
Set the current lock for the entire cron process. More... | |
set_customised ($customised) | |
Has this task been changed from it's default config? More... | |
set_day ($day) | |
Setter for $day. More... | |
set_day_of_week ($dayofweek) | |
Setter for $dayofweek. More... | |
set_disabled ($disabled) | |
Setter for $disabled. More... | |
set_fail_delay ($faildelay) | |
Setter for $faildelay. More... | |
set_hour ($hour) | |
Setter for $hour. More... | |
set_last_run_time ($lastruntime) | |
Set the last run time for this scheduled task. More... | |
set_lock (\core\lock\lock $lock) | |
Set the current lock for this task. More... | |
set_minute ($minute) | |
Setter for $minute. More... | |
set_month ($month) | |
Setter for $month. More... | |
set_next_run_time ($nextruntime) | |
Set the next run time for this task. More... | |
Public Attributes | |
const | DAYOFWEEKMAX = 6 |
Maximum dayofweek value. | |
const | DAYOFWEEKMIN = 0 |
Minimum dayofweek value. | |
const | HOURMAX = 23 |
Maximum hour value. | |
const | HOURMIN = 0 |
Minimum hour value. | |
const | MINUTEMAX = 59 |
Maximum minute value. | |
const | MINUTEMIN = 0 |
Minimum minute value. | |
Protected Member Functions | |
get_course_from_rowdata ($rowdata) | |
Returns a partial course record, created from properties of the supplied recordset row object. More... | |
get_subscription_from_rowdata ($rowdata) | |
Returns a partial subscription record, created from properties of the supplied recordset row object. More... | |
get_user_from_rowdata ($rowdata) | |
Returns a partial user record, created from properties of the supplied recordset row object. More... | |
is_user_setup ($user) | |
Determines whether a user is fully set up, using cached results where possible. More... | |
user_can_access_course ($user, $course, $capability) | |
Determines a user's access to a course with a given capability, using cached results where possible. More... | |
Protected Attributes | |
array | $courseaccesscache = array() |
2d static cache, indexed by courseid and userid, storing whether a user can access the course with the 'tool/monitor:subscribe' capability. | |
array | $userssetupcache = array() |
1d static cache, indexed by userid, storing whether or not the user has been fully set up. | |
|
inherited |
Take a cron field definition and return an array of valid numbers with the range min-max.
string | $field | - The field definition. |
int | $min | - The minimum allowable value. |
int | $max | - The maximum allowable value. |
array(int) |
tool_monitor\task\check_subscriptions::execute | ( | ) |
Checks all course-level rule subscriptions and activates/deactivates based on current course access.
The ordering of checks within the task is important for optimisation purposes. The aim is to be able to make a decision about whether to activate/deactivate each subscription without making unnecessary checks. The ordering roughly follows the context model, starting with system and user checks and moving down to course and course-module only when necessary.
For example, if the user is suspended, then any active subscription is made inactive right away. I.e. there is no need to check site-level, course-level or course-module-level permissions. Likewise, if a subscriptions is site-level, there is no need to check course-level and course-module-level permissions.
The task performs the following checks, in this order:
Reimplemented from core\task\task_base.
|
inherited |
Getter for $component.
string |
|
protected |
Returns a partial course record, created from properties of the supplied recordset row object.
Intended to return a minimal record for specific use within this class and in subsequent access control calls only.
stdClass | $rowdata | the row object. |
stdClass | a partial course record. |
|
inherited |
Get the current lock for the entire cron.
core |
|
inherited |
Getter for $day.
string |
|
inherited |
Getter for $dayofweek.
string |
|
inherited |
Getter for $disabled.
bool |
|
inherited |
Getter for $faildelay.
int |
|
inherited |
Getter for $hour.
string |
|
inherited |
Get the last run time for this scheduled task.
int |
|
inherited |
Get the current lock for this task.
core |
|
inherited |
Getter for $minute.
string |
|
inherited |
Getter for $month.
string |
tool_monitor\task\check_subscriptions::get_name | ( | ) |
Get a descriptive name for this task.
string | name of the task. |
Reimplemented from core\task\scheduled_task.
|
inherited |
Get the next run time for this task.
int | timestamp |
|
inherited |
Calculate when this task should next be run based on the schedule.
int::$nextruntime,. |
|
inherited |
Override this function if you want this scheduled task to run, even if the component is disabled.
bool |
|
protected |
Returns a partial subscription record, created from properties of the supplied recordset row object.
Intended to return a minimal record for specific use within this class and in subsequent access control calls only.
stdClass | $rowdata | the row object. |
stdClass | a partial subscription record. |
|
protected |
Returns a partial user record, created from properties of the supplied recordset row object.
Intended to return a minimal record for specific use within this class and in subsequent access control calls only.
stdClass | $rowdata | the row object. |
stdClass | a partial user record. |
|
inherited |
Getter for $blocking.
bool |
|
inherited |
Has this task been changed from it's default config?
bool |
|
protected |
Determines whether a user is fully set up, using cached results where possible.
stdClass | $user | the user record. |
bool | true if the user is fully set up, false otherwise. |
|
inherited |
Setter for $blocking.
bool | $blocking |
|
inherited |
Setter for $component.
string | $component |
|
inherited |
Set the current lock for the entire cron process.
core\lock\lock | $lock |
|
inherited |
Has this task been changed from it's default config?
bool |
|
inherited |
Setter for $day.
string | $day |
|
inherited |
Setter for $dayofweek.
string | $dayofweek |
|
inherited |
Setter for $disabled.
bool | $disabled |
|
inherited |
Setter for $faildelay.
int | $faildelay |
|
inherited |
Setter for $hour.
Accepts a special 'R' value which will be translated to a random hour.
string | $hour |
|
inherited |
Set the last run time for this scheduled task.
int | $lastruntime |
|
inherited |
Set the current lock for this task.
core\lock\lock | $lock |
|
inherited |
Setter for $minute.
Accepts a special 'R' value which will be translated to a random minute.
string | $minute |
|
inherited |
Setter for $month.
string | $month |
|
inherited |
Set the next run time for this task.
int | $nextruntime |
|
protected |
Determines a user's access to a course with a given capability, using cached results where possible.
stdClass | $user | the user record. |
stdClass | $course | the course record. |
string | $capability | the capability to check. |
bool | true if the user can access the course with the specified capability, false otherwise. |