Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
mod_forum\task\send_user_digests Class Reference

Adhoc task to send moodle forum digests for the specified user. More...

Inheritance diagram for mod_forum\task\send_user_digests:
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

 add_discussion_footer ($discussion)
 Add the footer for this discussion.
 
 add_discussion_header ($discussion, $forum, $course)
 Add the header for this discussion.
 
 add_message_header ()
 Add the header to this message.
 
 add_post_body ($author, $post, $discussion, $forum, $cm, $course)
 Add the body of this post.
 
 empty_queue (int $userid, int $timemodified)
 Empty the queue of posts for this user.
 
 fill_digest_cache ()
 Fill the cron digest cache.
 
 get_default_concurrency_limit ()
 Returns default concurrency limit for this task.
 
 get_maildigest ($forumid)
 Get the forum digest type for the specified forum, failing back to the default setting for the current user if not specified.
 
 get_post_author ($userid, $course, $forum, $cm, $context)
 Fetch and initialise the post author.
 
 get_renderer ($maildigest, $html=false)
 Helper to fetch the required renderer, instantiating as required.
 
 prepare_data (int $timenow)
 Prepare the data for this run.
 
 send_mail ()
 Send the composed message to the user.
 

Protected Attributes

bool $allowhtml = true
 Whether the user has requested HTML or not.
 
bool[] $canpostto = []
 Whether the user can post in each forum.
 
stdClass[] $courses = []
 Courses with posts them.
 
string $discussionhtml = ''
 The HTML content for the current discussion being processed.
 
stdClass[] $discussions = []
 Discussions with posts them.
 
string $discussiontext = ''
 The plaintext content for the current discussion being processed.
 
stdClass[] $forumdigesttypes = []
 A list of any per-forum digest preference that this user holds.
 
stdClass[] $forums = []
 Forums with posts them.
 
int[] $markpostsasread = []
 A list of post IDs to be marked as read for this user.
 
string $notificationhtml = ''
 The HTML content of the whole message.
 
string $notificationtext = ''
 The plaintext content of the whole message.
 
stdClass[] $posts = []
 The posts to be sent.
 
string $postsubject = ''
 The subject of the message.
 
stdClass $recipient
 A shortcut to $USER.
 
renderer[][] $renderers
 A cache of the different types of renderer, stored both by target (HTML, or Text), and type.
 
int $sentcount = 0
 The number of messages sent in this digest.
 
stdClass[] $users = []
 The various authors.
 
bool[] $viewfullnames = []
 Whether the user can view fullnames for each forum.
 

Detailed Description

Adhoc task to send moodle forum digests for the specified user.

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

Member Function Documentation

◆ add_discussion_footer()

mod_forum\task\send_user_digests::add_discussion_footer ( $discussion)
protected

Add the footer for this discussion.

Parameters
stdClass$discussionThe discussion to add the footer for

◆ add_discussion_header()

mod_forum\task\send_user_digests::add_discussion_header ( $discussion,
$forum,
$course )
protected

Add the header for this discussion.

Parameters
stdClass$discussionThe discussion to add the footer for
stdClass$forumThe forum that the discussion belongs to
stdClass$courseThe course that the forum belongs to

◆ add_post_body()

mod_forum\task\send_user_digests::add_post_body ( $author,
$post,
$discussion,
$forum,
$cm,
$course )
protected

Add the body of this post.

Parameters
stdClass$authorThe author of the post
stdClass$postThe post being sent
stdClass$discussionThe discussion that the post is in
stdClass$forumThe forum that the discussion belongs to
cminfo$cmThe cminfo object for the forum
stdClass$courseThe course that the forum belongs to

◆ empty_queue()

mod_forum\task\send_user_digests::empty_queue ( int $userid,
int $timemodified )
protected

Empty the queue of posts for this user.

Parameters
int$useriduser id which queue elements are going to be removed.
int$timemodifiedup time limit of the queue elements to be removed.

◆ execute()

mod_forum\task\send_user_digests::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_maildigest()

mod_forum\task\send_user_digests::get_maildigest ( $forumid)
protected

Get the forum digest type for the specified forum, failing back to the default setting for the current user if not specified.

Parameters
int$forumid
Return values
int

◆ 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_digests::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_digests::get_renderer ( $maildigest,
$html = false )
protected

Helper to fetch the required renderer, instantiating as required.

Parameters
int$maildigestThe type of mail digest being sent
bool$htmlWhether to fetch the HTML renderer
Return values
core_renderer

◆ 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.

◆ prepare_data()

mod_forum\task\send_user_digests::prepare_data ( int $timenow)
protected

Prepare the data for this run.

Note: This will also remove posts from the queue.

Parameters
int$timenow

◆ 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

Member Data Documentation

◆ $renderers

renderer [][] mod_forum\task\send_user_digests::$renderers
protected
Initial value:
= [
'html' => [],
'text' => [],
]

A cache of the different types of renderer, stored both by target (HTML, or Text), and type.


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