diff options
author | Sarven Capadisli <csarven@status.net> | 2010-01-13 13:37:04 +0000 |
---|---|---|
committer | Sarven Capadisli <csarven@status.net> | 2010-01-13 13:37:04 +0000 |
commit | 543026b8d1411c7d71a6482d0649ab3523f489b8 (patch) | |
tree | b4e4ac6a8f89411faf7a0cfd11fbe63a4a344a03 /classes/Group_member.php | |
parent | 21512910c1d882b62f921154209e6f3c4792f03b (diff) | |
parent | c26246c4c3eb7fb4002e7280c0421ed2fa96b767 (diff) |
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
Diffstat (limited to 'classes/Group_member.php')
-rw-r--r-- | classes/Group_member.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/classes/Group_member.php b/classes/Group_member.php index 069b2c7a1..7b1760f76 100644 --- a/classes/Group_member.php +++ b/classes/Group_member.php @@ -25,4 +25,41 @@ class Group_member extends Memcached_DataObject { return Memcached_DataObject::pkeyGet('Group_member', $kv); } + + static function join($group_id, $profile_id) + { + $member = new Group_member(); + + $member->group_id = $group_id; + $member->profile_id = $profile_id; + $member->created = common_sql_now(); + + $result = $member->insert(); + + if (!$result) { + common_log_db_error($member, 'INSERT', __FILE__); + throw new Exception(_("Group join failed.")); + } + + return true; + } + + static function leave($group_id, $profile_id) + { + $member = Group_member::pkeyGet(array('group_id' => $group_id, + 'profile_id' => $profile_id)); + + if (empty($member)) { + throw new Exception(_("Not part of group.")); + } + + $result = $member->delete(); + + if (!$result) { + common_log_db_error($member, 'INSERT', __FILE__); + throw new Exception(_("Group leave failed.")); + } + + return true; + } } |