Elgg  Version 6.1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Elgg\Notifications\NotificationEventHandler Class Reference

Notification Event Handler handles preparation of a notification. More...

Inheritance diagram for Elgg\Notifications\NotificationEventHandler:
Elgg\Notifications\CreateCommentEventHandler Elgg\Notifications\InstantNotificationEventHandler Elgg\Notifications\MakeAdminUserEventHandler Elgg\Notifications\MentionsEventHandler Elgg\Notifications\RemoveAdminUserEventHandler Elgg\Notifications\UnbanUserEventHandler

Public Member Functions

 __construct (NotificationEvent $event, NotificationsService $service, array $params=[])
 Constructor. More...
 
 send ()
 Process the event. More...
 
 getSubscriptions ()
 Returns subscriptions for the event. More...
 
 getMethods ()
 Returns methods to be used for this notification. More...
 

Static Public Member Functions

static isConfigurableByUser ()
 Is this event configurable by the user on the notification settings page. More...
 
static isConfigurableForEntity (\ElggEntity $entity)
 Can this event be configured for a specific entity. More...
 

Protected Member Functions

 prepareSubscriptions ()
 Returns subscriptions. More...
 
 filterMutedSubscriptions ()
 Should muted subscribers be filtered. More...
 
 getNotificationSubsciptionExclusionGUIDs ()
 Get an array of GUIDs to not get the subscription records for. More...
 
 excludeOwnerSubscribers ()
 Exclude the NotificationEvent object owner_guid when fetching the subscription records for this notification. More...
 
 excludeContainerSubscribers ()
 Exclude the NotificationEvent object container_guid when fetching the subscription records for this notification. More...
 
 excludeEntitySubscribers ()
 Exclude the NotificationEvent object guid when fetching the subscription records for this notification. More...
 
 sendNotifications (array $subscriptions, array $params=[])
 Sends the notifications based on subscriptions. More...
 
 sendNotification (int $guid, string $method, array $params=[])
 Send a notification to a subscriber. More...
 
 deliverNotification (Notification $notification, string $method)
 Deliver a notification. More...
 
 prepareNotification (array $params)
 Prepares a notification for delivery. More...
 
 getNotificationSubject (\ElggUser $recipient, string $method)
 Get subject for the notification. More...
 
 getNotificationBody (\ElggUser $recipient, string $method)
 Get body for the notification. More...
 
 getNotificationSummary (\ElggUser $recipient, string $method)
 Return the summary for a notification. More...
 
 getNotificationURL (\ElggUser $recipient, string $method)
 Returns the url related to this notification. More...
 
 getEventActor ()
 Get the acting user from the notification event. More...
 
 getEventEntity ()
 Get the entity from the notification event. More...
 
 addMuteLink ()
 Add a mute link in the email notification. More...
 

Static Protected Member Functions

static isConfigurableForUser (\ElggUser $user)
 Can this event be configured for a specific user. More...
 
static isConfigurableForGroup (\ElggGroup $group)
 Can this event be configured for a specific group. More...
 

Protected Attributes

 $event
 
 $service
 
 $params = []
 

Detailed Description

Notification Event Handler handles preparation of a notification.

Since
4.0

Definition at line 14 of file NotificationEventHandler.php.

Constructor & Destructor Documentation

Elgg\Notifications\NotificationEventHandler::__construct ( NotificationEvent  $event,
NotificationsService  $service,
array  $params = [] 
)

Constructor.

Parameters
NotificationEvent$eventevent to handle
NotificationsService$serviceservice that handles the events
array$paramsadditional params for event handling

Definition at line 34 of file NotificationEventHandler.php.

Member Function Documentation

Elgg\Notifications\NotificationEventHandler::addMuteLink ( )
protected

Add a mute link in the email notification.

Returns
bool

Definition at line 543 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::deliverNotification ( Notification  $notification,
string  $method 
)
finalprotected

Deliver a notification.

Parameters
Notification$notificationNotification to deliver
string$methodMethod to use for delivery
Returns
bool

Definition at line 300 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::excludeContainerSubscribers ( )
protected

Exclude the NotificationEvent object container_guid when fetching the subscription records for this notification.

Returns
bool
See also
NotificationEventHandler::getSubscriptions();

Definition at line 148 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::excludeEntitySubscribers ( )
protected

Exclude the NotificationEvent object guid when fetching the subscription records for this notification.

Returns
bool
See also
NotificationEventHandler::getSubscriptions();

Definition at line 158 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::excludeOwnerSubscribers ( )
protected

Exclude the NotificationEvent object owner_guid when fetching the subscription records for this notification.

Returns
bool
See also
NotificationEventHandler::getSubscriptions();

Definition at line 138 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::filterMutedSubscriptions ( )
protected

Should muted subscribers be filtered.

Returns
bool
Since
4.1

Definition at line 92 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getEventActor ( )
protected

Get the acting user from the notification event.

Returns
null|
Since
6.1

Definition at line 465 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getEventEntity ( )
protected

Get the entity from the notification event.

Returns
null|
Since
6.1

Definition at line 477 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getMethods ( )
final

Returns methods to be used for this notification.

Returns
array

Definition at line 167 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getNotificationBody ( \ElggUser  $recipient,
string  $method 
)
protected

Get body for the notification.

Plugin can define a subtype specific body simply by providing a translation for the string "notification:<action>:<type>:<subtype>:body".

The arguments passed into the translation are:

  1. Recipient's name
  2. Name of the user who triggered the notification
  3. Title of the content
  4. Name of the content's container
  5. The actual content (entity's 'description' field)
  6. URL to the content

Argument swapping can be used to change the order of the parameters. See http://php.net/manual/en/function.sprintf.php#example-5427

Parameters
\ElggUser$recipientNotification recipient
string$methodMethod
Returns
string Notification body in the recipient's language

Definition at line 406 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getNotificationSubject ( \ElggUser  $recipient,
string  $method 
)
protected

Get subject for the notification.

Plugins can define a subtype specific subject simply by providing a translation for the string "notification:<action>:<type>:<subtype>:subject".

Parameters
\ElggUser$recipientNotification recipient
string$methodMethod
Returns
string Notification subject in the recipient's language

Definition at line 367 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getNotificationSubsciptionExclusionGUIDs ( )
finalprotected

Get an array of GUIDs to not get the subscription records for.

Returns
int[]

Definition at line 110 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getNotificationSummary ( \ElggUser  $recipient,
string  $method 
)
protected

Return the summary for a notification.

Parameters
\ElggUser$recipientNotification recipient
string$methodMethod
Returns
string

Definition at line 441 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getNotificationURL ( \ElggUser  $recipient,
string  $method 
)
protected

Returns the url related to this notification.

Parameters
\ElggUser$recipientNotification recipient
string$methodMethod
Returns
string

Definition at line 453 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getSubscriptions ( )

Returns subscriptions for the event.

Returns
array

Definition at line 101 of file NotificationEventHandler.php.

static Elgg\Notifications\NotificationEventHandler::isConfigurableByUser ( )
static

Is this event configurable by the user on the notification settings page.

Returns
bool

Definition at line 488 of file NotificationEventHandler.php.

static Elgg\Notifications\NotificationEventHandler::isConfigurableForEntity ( \ElggEntity  $entity)
staticfinal

Can this event be configured for a specific entity.

For example this can be based on a group tools option which is enabled or not

Parameters
\ElggEntity$entitythe entity to check for
Returns
bool
Since
4.1

Definition at line 502 of file NotificationEventHandler.php.

static Elgg\Notifications\NotificationEventHandler::isConfigurableForGroup ( \ElggGroup  $group)
staticprotected

Can this event be configured for a specific group.

For example this can be based on a group tools option which is enabled or not

Parameters
\ElggGroup$groupthe group to check for
Returns
bool
Since
4.1

Definition at line 534 of file NotificationEventHandler.php.

static Elgg\Notifications\NotificationEventHandler::isConfigurableForUser ( \ElggUser  $user)
staticprotected

Can this event be configured for a specific user.

Parameters
\ElggUser$userthe user to check for
Returns
bool
Since
4.1

Definition at line 520 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::prepareNotification ( array  $params)
finalprotected

Prepares a notification for delivery.

Parameters
array$paramsParameters to initialize notification with
Returns
Notification
Exceptions
RuntimeException

Definition at line 329 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::prepareSubscriptions ( )
finalprotected

Returns subscriptions.

Returns
array

Definition at line 73 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::send ( )
final

Process the event.

Returns
array delivery information

Definition at line 49 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::sendNotification ( int  $guid,
string  $method,
array  $params = [] 
)
finalprotected

Send a notification to a subscriber.

Parameters
int$guidThe guid of the subscriber
string$methodThe notification method
array$paramsDefault notification params
Returns
bool

Definition at line 234 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::sendNotifications ( array  $subscriptions,
array  $params = [] 
)
finalprotected

Sends the notifications based on subscriptions.

Returns an array in the form: [ 25 => [ 'email' => true, 'sms' => false, ], 55 => [], ]

Parameters
array$subscriptionsSubscriptions for this event
array$paramsDefault notification parameters
Returns
array

Definition at line 190 of file NotificationEventHandler.php.

Member Data Documentation

Elgg\Notifications\NotificationEventHandler::$event
protected

Definition at line 19 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::$params = []
protected

Definition at line 25 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::$service
protected

Definition at line 22 of file NotificationEventHandler.php.


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