Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
mod_forum\task\send_user_notifications Class Reference

Adhoc task to send user forum notifications. More...

Inheritance diagram for mod_forum\task\send_user_notifications:
core\task\adhoc_task core\task\task_base

Public Member Functions

 execute ()
 Send out messages.
 
 get_attempts_available ()
 Get the remaining attempts of the task.
 
 get_component ()
 Getter for $component.
 
 get_concurrency_limit ()
 Returns effective concurrency limit for this task.
 
 get_cron_lock ()
 Get the current lock for the entire cron.
 
 get_custom_data ()
 Getter for $customdata.
 
 get_custom_data_as_string ()
 Alternate getter for $customdata.
 
 get_fail_delay ()
 Getter for $faildelay.
 
 get_hostname ()
 Getter for $hostname.
 
 get_id ()
 Getter for $id.
 
 get_lock ()
 Get the current lock for this task.
 
 get_name ()
 Provide default implementation of the task name for backward compatibility.
 
 get_next_run_time ()
 Get the next run time for this task.
 
 get_pid ()
 Getter for $pid.
 
 get_runtime ()
 Returns task runtime.
 
 get_runtime_result ()
 Returns if the task has been running for too long.
 
 get_timestarted ()
 Getter for $timestarted.
 
 get_userid ()
 Getter for $userid.
 
replacement is_blocking ()
 
 is_component_enabled ()
 Informs whether the task's component is enabled.
 
 release_concurrency_lock ()
 Release the concurrency lock for this task type.
 
 retry_until_success ()
 Used to indicate if the task should be re-run if it fails.
 
 set_attempts_available (int $attemptsavailable)
 Set the remaining attempts of the task.
 
replacement set_blocking ($blocking)
 
 set_component ($component)
 Setter for $component.
 
 set_concurrency_lock (\core\lock\lock $lock)
 Sets concurrency task lock.
 
 set_cron_lock (\core\lock\lock $lock)
 Set the current lock for the entire cron process.
 
 set_custom_data ($customdata)
 Setter for $customdata.
 
 set_custom_data_as_string ($customdata)
 Alternate setter for $customdata.
 
 set_fail_delay ($faildelay)
 Setter for $faildelay.
 
 set_hostname ($hostname=null)
 Setter for $hostname.
 
 set_id ($id)
 Setter for $id.
 
 set_lock (\core\lock\lock $lock)
 Set the current lock for this task.
 
 set_next_run_time ($nextruntime)
 Set the next run time for this task.
 
 set_pid ($pid=null)
 Setter for $pid.
 
 set_timestarted ($timestarted=null)
 Setter for $timestarted.
 
 set_userid ($userid)
 Setter for $userid.
 

Public Attributes

replacement : null
 Setter for $blocking.
 
replacement : null
 Getter for $blocking.
 
replacement reason: 'Blocking tasks are no longer supported'
 
replacement since: '4.4'
 

Protected Member Functions

 can_post ($course, $forum, $discussion, $post, $cm, $context)
 Check whether the user can post.
 
 can_view_fullnames ($course, $forum, $discussion, $post, $cm, $context)
 Check whether the user can view full names of other users.
 
 get_default_concurrency_limit ()
 Returns default concurrency limit for this task.
 
 get_message_headers ($course, $forum, $discussion, $post, $a, $message)
 Get the list of message headers.
 
 get_post_author ($userid, $course, $forum, $cm, $context)
 Fetch and initialise the post author.
 
 get_renderer ($html=false)
 Helper to fetch the required renderer, instantiating as required.
 
 get_reply_address ($course, $forum, $discussion, $post, $cm, $context)
 Get a no-reply address for this user to reply to the current post.
 
 minimise_user_record (\stdClass $user)
 Removes properties from user record that are not necessary for sending post notifications.
 
 prepare_data (array $postids)
 Prepare all data for this run.
 
 send_post ($course, $forum, $discussion, $post, $cm, $context)
 Send the specified post for the current user.
 

Protected Attributes

bool[] $canpostto = []
 Whether the user can post in each discussion.
 
int[] $courseforums = []
 List of IDs for forums in each course.
 
stdClass[] $courses = []
 List of courses the messages are in, indexed by courseid.
 
stdClass[] $discussions = []
 List of discussions the messages are in, indexed by forumid.
 
stdClass[] $forumdiscussions = []
 List of IDs for discussions in each forum.
 
stdClass[] $forums = []
 List of forums the messages are in, indexed by courseid.
 
core message inbound address_manager $inboundmanager
 The inbound message address manager.
 
stdClass[] $posts = []
 List of posts the messages are in, indexed by discussionid.
 
stdClass $recipient
 A shortcut to $USER.
 
renderer[] $renderers = []
 The renderers.
 
array $users = []
 List of users.
 
bool[] $viewfullnames = []
 Whether the user can view fullnames for each forum.
 

Detailed Description

Adhoc task to send user forum notifications.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ can_post()

mod_forum\task\send_user_notifications::can_post ( $course,
$forum,
$discussion,
$post,
$cm,
$context )
protected

Check whether the user can post.

Parameters
stdClass$course
stdClass$forum
stdClass$discussion
stdClass$post
stdClass$cm
context$context
Return values
bool

◆ can_view_fullnames()

mod_forum\task\send_user_notifications::can_view_fullnames ( $course,
$forum,
$discussion,
$post,
$cm,
$context )
protected

Check whether the user can view full names of other users.

Parameters
stdClass$course
stdClass$forum
stdClass$discussion
stdClass$post
stdClass$cm
context$context
Return values
bool

◆ execute()

mod_forum\task\send_user_notifications::execute ( )

Send out messages.

Exceptions
moodle_exception

Reimplemented from core\task\task_base.

◆ get_attempts_available()

core\task\adhoc_task::get_attempts_available ( )
inherited

Get the remaining attempts of the task.

Return values
intNumber of the remaining attempts of the task.

◆ get_component()

core\task\task_base::get_component ( )
inherited

Getter for $component.

Return values
string

◆ get_concurrency_limit()

core\task\adhoc_task::get_concurrency_limit ( )
finalinherited

Returns effective concurrency limit for this task.

Return values
inteffective concurrency limit for this task

◆ get_cron_lock()

core\task\task_base::get_cron_lock ( )
inherited

Get the current lock for the entire cron.

Return values
core\lock\lock

◆ get_custom_data()

core\task\adhoc_task::get_custom_data ( )
inherited

Getter for $customdata.

Return values
mixed(anything that can be handled by json_decode).

◆ get_custom_data_as_string()

core\task\adhoc_task::get_custom_data_as_string ( )
inherited

Alternate getter for $customdata.

Return values
stringthis is the raw json encoded version.

◆ get_default_concurrency_limit()

core\task\adhoc_task::get_default_concurrency_limit ( )
protectedinherited

Returns default concurrency limit for this task.

Return values
intdefault concurrency limit

◆ get_fail_delay()

core\task\task_base::get_fail_delay ( )
inherited

Getter for $faildelay.

Return values
int

◆ get_hostname()

core\task\task_base::get_hostname ( )
inherited

Getter for $hostname.

Return values
string

◆ get_id()

core\task\adhoc_task::get_id ( )
inherited

Getter for $id.

Return values
int|null\$id

◆ get_lock()

core\task\task_base::get_lock ( )
inherited

Get the current lock for this task.

Return values
core\lock\lock

◆ get_message_headers()

mod_forum\task\send_user_notifications::get_message_headers ( $course,
$forum,
$discussion,
$post,
$a,
$message )
protected

Get the list of message headers.

Parameters
stdClass$course
stdClass$forum
stdClass$discussion
stdClass$post
stdClass$aThe list of strings for this post
core\message\message$messageThe message to be sent
Return values
stdClass

◆ get_name()

core\task\adhoc_task::get_name ( )
inherited

Provide default implementation of the task name for backward compatibility.

Extending classes are expected to implement this method to provide a descriptive name for the task (shown to admins)

Return values
string

Reimplemented from core\task\task_base.

Reimplemented in core\task\badges_adhoc_task, core_reportbuilder\task\send_schedule, and quiz_statistics\task\recalculate.

◆ get_next_run_time()

core\task\task_base::get_next_run_time ( )
inherited

Get the next run time for this task.

Return values
inttimestamp

◆ get_pid()

core\task\task_base::get_pid ( )
inherited

Getter for $pid.

Return values
int

◆ get_post_author()

mod_forum\task\send_user_notifications::get_post_author ( $userid,
$course,
$forum,
$cm,
$context )
protected

Fetch and initialise the post author.

Parameters
int$useridThe id of the user to fetch
stdClass$course
stdClass$forum
stdClass$cm
context$context
Return values
stdClass

◆ get_renderer()

mod_forum\task\send_user_notifications::get_renderer ( $html = false)
protected

Helper to fetch the required renderer, instantiating as required.

Parameters
bool$htmlWhether to fetch the HTML renderer
Return values
core_renderer

◆ get_reply_address()

mod_forum\task\send_user_notifications::get_reply_address ( $course,
$forum,
$discussion,
$post,
$cm,
$context )
protected

Get a no-reply address for this user to reply to the current post.

Parameters
stdClass$course
stdClass$forum
stdClass$discussion
stdClass$post
stdClass$cm
context$context
Return values
string

◆ get_runtime()

core\task\task_base::get_runtime ( )
inherited

Returns task runtime.

Return values
int

◆ get_runtime_result()

core\task\task_base::get_runtime_result ( )
inherited

Returns if the task has been running for too long.

Return values
result

◆ get_timestarted()

core\task\task_base::get_timestarted ( )
inherited

Getter for $timestarted.

Return values
int

◆ get_userid()

core\task\adhoc_task::get_userid ( )
inherited

Getter for $userid.

Return values
int|null\$userid

◆ is_component_enabled()

core\task\task_base::is_component_enabled ( )
inherited

Informs whether the task's component is enabled.

Return values
booltrue when enabled. false otherwise.

◆ minimise_user_record()

mod_forum\task\send_user_notifications::minimise_user_record ( \stdClass $user)
protected

Removes properties from user record that are not necessary for sending post notifications.

Parameters
stdClass$user

◆ prepare_data()

mod_forum\task\send_user_notifications::prepare_data ( array $postids)
protected

Prepare all data for this run.

Take all post ids, and fetch the relevant authors, discussions, forums, and courses for them.

Parameters
int[]$postidsThe list of post IDs

◆ retry_until_success()

core\task\adhoc_task::retry_until_success ( )
inherited

Used to indicate if the task should be re-run if it fails.

By default, tasks will be retried until they succeed, other tasks can override this method to change this behaviour.

Return values
booltrue if the task should be retried until it succeeds, false otherwise.

Reimplemented in core\task\asynchronous_restore_task, and core_course\task\course_delete_modules.

◆ send_post()

mod_forum\task\send_user_notifications::send_post ( $course,
$forum,
$discussion,
$post,
$cm,
$context )
protected

Send the specified post for the current user.

Parameters
stdClass$course
stdClass$forum
stdClass$discussion
stdClass$post
stdClass$cm
context$context

◆ set_attempts_available()

core\task\adhoc_task::set_attempts_available ( int $attemptsavailable)
inherited

Set the remaining attempts of the task.

Parameters
int$attemptsavailableNumber of the remaining attempts of the task.

◆ set_component()

core\task\task_base::set_component ( $component)
inherited

Setter for $component.

Parameters
string$component

◆ set_concurrency_lock()

core\task\adhoc_task::set_concurrency_lock ( \core\lock\lock $lock)
finalinherited

Sets concurrency task lock.

Parameters
core\lock\lock$lockconcurrency lock to be set

◆ set_cron_lock()

core\task\task_base::set_cron_lock ( \core\lock\lock $lock)
inherited

Set the current lock for the entire cron process.

Parameters
core\lock\lock$lock

◆ set_custom_data()

core\task\adhoc_task::set_custom_data ( $customdata)
inherited

Setter for $customdata.

Parameters
mixed$customdata(anything that can be handled by json_encode)

◆ set_custom_data_as_string()

core\task\adhoc_task::set_custom_data_as_string ( $customdata)
inherited

Alternate setter for $customdata.

Expects the data as a json_encoded string.

Parameters
string$customdatajson_encoded string

◆ set_fail_delay()

core\task\task_base::set_fail_delay ( $faildelay)
inherited

Setter for $faildelay.

Parameters
int$faildelay

◆ set_hostname()

core\task\task_base::set_hostname ( $hostname = null)
inherited

Setter for $hostname.

Parameters
string$hostname

◆ set_id()

core\task\adhoc_task::set_id ( $id)
inherited

Setter for $id.

Parameters
int | null$id

◆ set_lock()

core\task\task_base::set_lock ( \core\lock\lock $lock)
inherited

Set the current lock for this task.

Parameters
core\lock\lock$lock

◆ set_next_run_time()

core\task\task_base::set_next_run_time ( $nextruntime)
inherited

Set the next run time for this task.

Parameters
int$nextruntime

◆ set_pid()

core\task\task_base::set_pid ( $pid = null)
inherited

Setter for $pid.

Parameters
int$pid

◆ set_timestarted()

core\task\task_base::set_timestarted ( $timestarted = null)
inherited

Setter for $timestarted.

Parameters
int$timestarted

◆ set_userid()

core\task\adhoc_task::set_userid ( $userid)
inherited

Setter for $userid.

Parameters
int | null$userid

Member Data Documentation

◆ __pad0__

replacement core\task\task_base::__pad0__
inherited

Setter for $blocking.

Please note that task blocking is no longer supported. If you are using it in older versions of Moodle you are strongly advised to rewrite your code as has a detrimental impact upon performance.

Deprecated
since Moodle 4.4 See MDL-67667
Todo
Remove in MDL-81509

◆ __pad1__

replacement core\task\task_base::__pad1__
inherited

Getter for $blocking.

Return values
bool
Deprecated
since Moodle 4.4 See MDL-67667
Todo
Remove in MDL-81509

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