Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
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_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.
 
 is_blocking ()
 Getter for $blocking.
 
 is_component_enabled ()
 Informs whether the task's component is enabled.
 
 release_concurrency_lock ()
 Release the concurrency lock for this task type.
 
 set_blocking ($blocking)
 Setter for $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.
 

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_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_blocking()

core\task\task_base::is_blocking ( )
inherited

Getter for $blocking.

Return values
bool

◆ 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

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

core\task\task_base::set_blocking ( $blocking)
inherited

Setter for $blocking.

Parameters
bool$blocking

◆ 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

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