| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- <?php
 
- namespace ColdTrick\ContentSubscriptions;
 
- class EntityMenu {
 
- 	
 
- 	/**
 
- 	 * Add a subscribe/unsubscribe link to the supported entity types
 
- 	 *
 
- 	 * @param string          $hook         the name of the hook
 
- 	 * @param string          $type         the type of the hook
 
- 	 * @param \ElggMenuItem[] $return_value the current menu items
 
- 	 * @param array           $params       supplied params
 
- 	 *
 
- 	 * @return void|\ElggMenuItem[]
 
- 	 */
 
- 	public static function register($hook, $type, $return_value, $params) {
 
- 		
 
- 		if (!elgg_is_logged_in()) {
 
- 			return;
 
- 		}
 
- 		
 
- 		if (empty($params) || !is_array($params)) {
 
- 			return;
 
- 		}
 
- 		
 
- 		$entity = elgg_extract('entity', $params);
 
- 		if (empty($entity) || !content_subscriptions_can_subscribe($entity)) {
 
- 			return;
 
- 		}
 
- 		
 
- 		$subscribed = false;
 
- 		if (content_subscriptions_check_subscription($entity->getGUID())) {
 
- 			$subscribed = true;
 
- 		}
 
- 		
 
- 		$methods = content_subscriptions_get_notification_settings();
 
- 		if (!empty($methods)) {
 
- 			$return_value[] = \ElggMenuItem::factory([
 
- 				'name' => 'content_subscription_subscribe',
 
- 				'text' => elgg_echo('content_subscriptions:subscribe'),
 
- 				'href' => "action/content_subscriptions/subscribe?entity_guid={$entity->getGUID()}",
 
- 				'is_action' => true,
 
- 				'priority' => 100,
 
- 				'item_class' => $subscribed ? 'hidden' : '',
 
- 			]);
 
- 		}
 
- 		
 
- 		$return_value[] = \ElggMenuItem::factory([
 
- 			'name' => 'content_subscription_unsubscribe',
 
- 			'text' => elgg_echo('content_subscriptions:unsubscribe'),
 
- 			'href' => "action/content_subscriptions/subscribe?entity_guid={$entity->getGUID()}",
 
- 			'is_action' => true,
 
- 			'priority' => 101,
 
- 			'item_class' => $subscribed ? '' : 'hidden',
 
- 		]);
 
- 		
 
- 		return $return_value;
 
- 	}
 
- }
 
 
  |