diff options
author | Evan Prodromou <evan@status.net> | 2010-12-13 13:50:39 -0500 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-12-13 13:50:39 -0500 |
commit | a93f0fea618f189cedd0093f77437369d306db95 (patch) | |
tree | 942097ee9079ccb2994ef7c462ba4517d597efc0 | |
parent | 156bd011afac0d5f4a37669c09e70a9b63d077ee (diff) |
membership stream method and return membership from join() in Group_member class
-rw-r--r-- | classes/Group_member.php | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/classes/Group_member.php b/classes/Group_member.php index e513f6f3b..2cf31cf12 100644 --- a/classes/Group_member.php +++ b/classes/Group_member.php @@ -26,6 +26,15 @@ class Group_member extends Memcached_DataObject return Memcached_DataObject::pkeyGet('Group_member', $kv); } + /** + * Method to add a user to a group. + * + * @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 +51,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 +101,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(); |