Elgg  Version 1.9
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Elgg_Notifications_SubscriptionsService Class Reference

Public Member Functions

 __construct (Elgg_Database $db, array $methods=array())
 Constructor. More...
 
 getSubscriptions (Elgg_Notifications_Event $event)
 Get the subscriptions for this notification event. More...
 
 getSubscriptionsForContainer ($container_guid)
 Get the subscriptions for the content created inside this container. More...
 
 addSubscription ($userGuid, $method, $targetGuid)
 Subscribe a user to notifications about a target entity. More...
 
 removeSubscription ($userGuid, $method, $targetGuid)
 Unsubscribe a user to notifications about a target entity. More...
 

Public Attributes

const RELATIONSHIP_PREFIX = 'notify'
 Elgg has historically stored subscriptions as relationships with the prefix 'notify'. More...
 
 $methods
 

Protected Member Functions

 getSubscriptionRecords ($container_guid)
 Get subscription records from the database. More...
 
 getMethodRelationships ()
 Get the relationship names for notifications. More...
 

Protected Attributes

 $db
 

Detailed Description

Definition at line 12 of file SubscriptionsService.php.

Constructor & Destructor Documentation

Elgg_Notifications_SubscriptionsService::__construct ( Elgg_Database  $db,
array  $methods = array() 
)

Constructor.

Parameters
Elgg_Database$dbDatabase object
array$methodsNotification delivery method names

Definition at line 34 of file SubscriptionsService.php.

Member Function Documentation

Elgg_Notifications_SubscriptionsService::addSubscription (   $userGuid,
  $method,
  $targetGuid 
)

Subscribe a user to notifications about a target entity.

This method will return false if the subscription already exists.

Parameters
int$userGuidThe GUID of the user to subscribe to notifications
string$methodThe delivery method of the notifications
int$targetGuidThe entity to receive notifications about
Returns
boolean

Definition at line 115 of file SubscriptionsService.php.

Elgg_Notifications_SubscriptionsService::getMethodRelationships ( )
protected

Get the relationship names for notifications.

Returns
array

Definition at line 170 of file SubscriptionsService.php.

Elgg_Notifications_SubscriptionsService::getSubscriptionRecords (   $container_guid)
protected

Get subscription records from the database.

Records are an object with two vars: guid and methods with the latter being a comma-separated list of subscription relationship names.

Parameters
int$container_guidThe GUID of the subscription target
Returns
array

Definition at line 145 of file SubscriptionsService.php.

Elgg_Notifications_SubscriptionsService::getSubscriptions ( Elgg_Notifications_Event  $event)

Get the subscriptions for this notification event.

The return array is of the form:

array( <user guid>=""> => array('email', 'sms', 'ajax'), );

Parameters
Elgg_Notifications_Event$eventNotification event
Returns
array

Definition at line 51 of file SubscriptionsService.php.

Elgg_Notifications_SubscriptionsService::getSubscriptionsForContainer (   $container_guid)

Get the subscriptions for the content created inside this container.

The return array is of the form:

array( <user guid>=""> => array('email', 'sms', 'ajax'), );

Parameters
int$container_guidGUID of the entity acting as a container
Returns
array User GUIDs (keys) and their subscription types (values).

Definition at line 87 of file SubscriptionsService.php.

Elgg_Notifications_SubscriptionsService::removeSubscription (   $userGuid,
  $method,
  $targetGuid 
)

Unsubscribe a user to notifications about a target entity.

Parameters
int$userGuidThe GUID of the user to unsubscribe to notifications
string$methodThe delivery method of the notifications to stop
int$targetGuidThe entity to stop receiving notifications about
Returns
boolean

Definition at line 131 of file SubscriptionsService.php.

Member Data Documentation

Elgg_Notifications_SubscriptionsService::$db
protected

Definition at line 26 of file SubscriptionsService.php.

Elgg_Notifications_SubscriptionsService::$methods

Definition at line 23 of file SubscriptionsService.php.

const Elgg_Notifications_SubscriptionsService::RELATIONSHIP_PREFIX = 'notify'

Elgg has historically stored subscriptions as relationships with the prefix 'notify'.

Definition at line 17 of file SubscriptionsService.php.


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