Moodle PHP Documentation 4.4
Moodle 4.4.1 (Build: 20240610) (db07c09afc5)
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_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

 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_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_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_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

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

◆ 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

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

◆ __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: