Elgg  Version master
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\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 ($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...
 
 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 13 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 31 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 515 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 281 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 145 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 155 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 135 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::filterMutedSubscriptions ( )
protected

Should muted subscribers be filtered.

Returns
bool
Since
4.1

Definition at line 89 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getMethods ( )
final

Returns methods to be used for this notification.

Returns
array

Definition at line 164 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 394 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 348 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 107 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 436 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 448 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getSubscriptions ( )

Returns subscriptions for the event.

Returns
array

Definition at line 98 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 459 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 473 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 506 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 492 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 310 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::prepareSubscriptions ( )
finalprotected

Returns subscriptions.

Returns
array

Definition at line 70 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::send ( )
final

Process the event.

Returns
array delivery information

Definition at line 46 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 216 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::sendNotifications (   $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 187 of file NotificationEventHandler.php.

Member Data Documentation

Elgg\Notifications\NotificationEventHandler::$event
protected

Definition at line 16 of file NotificationEventHandler.php.

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

Definition at line 22 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::$service
protected

Definition at line 19 of file NotificationEventHandler.php.


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