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());
- }
- }
|