public function testGetSubscriptionsForContainerWithProperInput() { $container_guid = 132; $methods = array('apples', 'bananas'); $queryResult = array($this->createObjectFromArray(array('guid' => '22', 'methods' => 'notifyapples')), $this->createObjectFromArray(array('guid' => '567', 'methods' => 'notifybananas,notifyapples'))); $subscriptions = array(22 => array('apples'), 567 => array('bananas', 'apples')); $this->db->expects($this->once())->method('getData')->will($this->returnValue($queryResult)); $service = new Elgg_Notifications_SubscriptionsService($this->db); $service->methods = $methods; $this->assertEquals($subscriptions, $service->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'), * ); * * @param int $container_guid GUID of the entity acting as a container * @return array User GUIDs (keys) and their subscription types (values). * @since 1.9 * @todo deprecate once new subscriptions system has been added */ function elgg_get_subscriptions_for_container($container_guid) { $methods = _elgg_services()->notifications->getMethods(); $db = _elgg_services()->db; $subs = new Elgg_Notifications_SubscriptionsService($db, $methods); return $subs->getSubscriptionsForContainer($container_guid); }