Elgg  Version 4.x
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...
 

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 12 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 30 of file NotificationEventHandler.php.

Member Function Documentation

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 279 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 144 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 154 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 134 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::filterMutedSubscriptions ( )
protected

Should muted subscribers be filtered.

Returns
bool
Since
4.1

Definition at line 88 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getMethods ( )
final

Returns methods to be used for this notification.

Returns
array

Definition at line 163 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 393 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 347 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 106 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 435 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 447 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::getSubscriptions ( )

Returns subscriptions for the event.

Returns
array

Definition at line 97 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 458 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 472 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 505 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 491 of file NotificationEventHandler.php.

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

Prepares a notification for delivery.

Parameters
array$paramsParameters to initialize notification with
Exceptions

Definition at line 309 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::prepareSubscriptions ( )
finalprotected

Returns subscriptions.

Returns
array

Definition at line 69 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::send ( )
final

Process the event.

Returns
array delivery information

Definition at line 45 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 215 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 186 of file NotificationEventHandler.php.

Member Data Documentation

Elgg\Notifications\NotificationEventHandler::$event
protected

Definition at line 15 of file NotificationEventHandler.php.

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

Definition at line 21 of file NotificationEventHandler.php.

Elgg\Notifications\NotificationEventHandler::$service
protected

Definition at line 18 of file NotificationEventHandler.php.


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