X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fatomgroupnoticefeed.php;h=4e7f992662d53657fa6677018a902fdbe0dbb71d;hb=bbaf9d7f425b7b59f6e910a757c318ea2a420369;hp=b4810d04a082630cea2ce2b6b94d68b7944b5693;hpb=2260d6ec7c1f2b9c63196a4d8c6c99750a89eb10;p=quix0rs-gnu-social.git diff --git a/lib/atomgroupnoticefeed.php b/lib/atomgroupnoticefeed.php index b4810d04a0..4e7f992662 100644 --- a/lib/atomgroupnoticefeed.php +++ b/lib/atomgroupnoticefeed.php @@ -50,12 +50,13 @@ class AtomGroupNoticeFeed extends AtomNoticeFeed * Constructor * * @param Group $group the group for the feed + * @param User $cur the current authenticated user, if any * @param boolean $indent flag to turn indenting on or off * * @return void */ - function __construct($group, $indent = true) { - parent::__construct($indent); + function __construct($group, $cur = null, $indent = true) { + parent::__construct($cur, $indent); $this->group = $group; // TRANS: Title in atom group notice feed. %s is a group name. @@ -84,8 +85,14 @@ class AtomGroupNoticeFeed extends AtomNoticeFeed $this->setId($self); $this->setSelfLink($self); - $this->addAuthorRaw($group->asAtomAuthor()); - $this->setActivitySubject($group->asActivitySubject()); + // For groups, we generate an author _AND_ an + // Versions of StatusNet under 0.9.7 treat as a person + // XXX: remove this workaround in future versions + + $ao = ActivityObject::fromGroup($group); + + $this->addAuthorRaw($ao->asString('author'). + $ao->asString('activity:subject')); $this->addLink($group->homeUrl()); } @@ -95,4 +102,23 @@ class AtomGroupNoticeFeed extends AtomNoticeFeed return $this->group; } + function initFeed() + { + parent::initFeed(); + + $attrs = array(); + + if (!empty($this->cur)) { + $attrs['member'] = $this->cur->isMember($this->group) + ? 'true' : 'false'; + $attrs['blocked'] = Group_block::isBlocked( + $this->group, + $this->cur->getProfile() + ) ? 'true' : 'false'; + } + + $attrs['member_count'] = $this->group->getMemberCount(); + + $this->element('statusnet:group_info', $attrs, null); + } }