X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FGroup_member.php;h=30b79bb9318ae1bb3319cf114439866b68ed68d7;hb=bf121a695a13c2b30abf57ea86afbe1e6c2420a7;hp=c40d06a1db0ebf99c61ea22ad80b438ac3cf1eff;hpb=49611af76de5fca165edd79acefa09851706f8cd;p=quix0rs-gnu-social.git diff --git a/classes/Group_member.php b/classes/Group_member.php index c40d06a1db..30b79bb931 100644 --- a/classes/Group_member.php +++ b/classes/Group_member.php @@ -26,6 +26,16 @@ class Group_member extends Memcached_DataObject return Memcached_DataObject::pkeyGet('Group_member', $kv); } + /** + * Method to add a user to a group. + * In most cases, you should call Profile->joinGroup() instead. + * + * @param integer $group_id Group to add to + * @param integer $profile_id Profile being added + * + * @return Group_member new membership object + */ + static function join($group_id, $profile_id) { $member = new Group_member(); @@ -42,7 +52,7 @@ class Group_member extends Memcached_DataObject throw new Exception(_("Group join failed.")); } - return true; + return $member; } static function leave($group_id, $profile_id) @@ -92,6 +102,31 @@ class Group_member extends Memcached_DataObject return $group; } + /** + * Get stream of memberships by member + * + * @param integer $memberId profile ID of the member to fetch for + * @param integer $offset offset from start of stream to get + * @param integer $limit number of memberships to get + * + * @return Group_member stream of memberships, use fetch() to iterate + */ + + static function byMember($memberId, $offset=0, $limit=GROUPS_PER_PAGE) + { + $membership = new Group_member(); + + $membership->profile_id = $memberId; + + $membership->orderBy('created DESC'); + + $membership->limit($offset, $limit); + + $membership->find(); + + return $membership; + } + function asActivity() { $member = $this->getMember(); @@ -118,6 +153,13 @@ class Group_member extends Memcached_DataObject $member->getBestName(), $group->getBestName()); + $url = common_local_url('AtomPubShowMembership', + array('profile' => $member->id, + 'group' => $group->id)); + + $act->selfLink = $url; + $act->editLink = $url; + return $act; } }