| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 
							- <?php
 
- namespace ColdTrick\Questions;
 
- class ContentSubscriptions {
 
- 	
 
- 	/**
 
- 	 * Add questions to Content Subscriptions supported types
 
- 	 *
 
- 	 * @param string $hook         the name of the hook
 
- 	 * @param string $type         the type of the hook
 
- 	 * @param array  $return_value current return value
 
- 	 * @param array  $params       supplied params
 
- 	 *
 
- 	 * @return void|array
 
- 	 */
 
- 	public static function getEntityTypes($hook, $type, $return_value, $params) {
 
- 		
 
- 		if (!is_array($return_value)) {
 
- 			// someone blocked all
 
- 			return;
 
- 		}
 
- 		
 
- 		$return_value['object'][] = \ElggQuestion::SUBTYPE;
 
- 		
 
- 		return $return_value;
 
- 	}
 
- 	
 
- 	/**
 
- 	 * Subscribe to a question when you create an answer
 
- 	 *
 
- 	 * @param string      $event
 
- 	 * @param string      $type
 
- 	 * @param \ElggObject $object
 
- 	 *
 
- 	 * @return void
 
- 	 */
 
- 	public static function createAnswer($event, $type, \ElggObject $object) {
 
- 		
 
- 		if (!elgg_is_active_plugin('content_subscriptions')) {
 
- 			return;
 
- 		}
 
- 		
 
- 		if (!($object instanceof \ElggAnswer)) {
 
- 			return;
 
- 		}
 
- 		
 
- 		$owner = $object->getOwnerEntity();
 
- 		$question = $object->getContainerEntity();
 
- 		
 
- 		if (!content_subscriptions_can_subscribe($question, $owner->getGUID())) {
 
- 			return;
 
- 		}
 
- 		
 
- 		// subscribe to the question
 
- 		content_subscriptions_autosubscribe($question->getGUID(), $owner->getGUID());
 
- 	}
 
- 	
 
- 	/**
 
- 	 * Subscribe to a question when you create a comment on an answer
 
- 	 *
 
- 	 * @param string      $event
 
- 	 * @param string      $type
 
- 	 * @param \ElggObject $object
 
- 	 *
 
- 	 * @return void
 
- 	 */
 
- 	public static function createCommentOnAnswer($event, $type, \ElggObject $object) {
 
- 		
 
- 		if (!elgg_is_active_plugin('content_subscriptions')) {
 
- 			return;
 
- 		}
 
- 		
 
- 		if (!($object instanceof \ElggComment)) {
 
- 			return;
 
- 		}
 
- 		
 
- 		$answer = $object->getContainerEntity();
 
- 		if (!($answer instanceof \ElggAnswer)) {
 
- 			return;
 
- 		}
 
- 		
 
- 		$owner = $object->getOwnerEntity();
 
- 		$question = $answer->getContainerEntity();
 
- 		if (!content_subscriptions_can_subscribe($question, $owner->getGUID())) {
 
- 			return;
 
- 		}
 
- 		
 
- 		// subscribe to the question
 
- 		content_subscriptions_autosubscribe($question->getGUID(), $owner->getGUID());
 
- 	}
 
- }
 
 
  |