From: Stéphane Jacob Date: Fri, 13 May 2011 23:15:43 +0000 (+0200) Subject: Stores group unsubscriptions. X-Git-Tag: xorg/1.1.2~92 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=3a299a1ae21c912f6f68eaebf469309f9683df47;p=platal.git Stores group unsubscriptions. Signed-off-by: Stéphane Jacob --- diff --git a/classes/group.php b/classes/group.php index c79b0d3..c2ae53f 100644 --- a/classes/group.php +++ b/classes/group.php @@ -140,6 +140,26 @@ class Group $data['id']); return new Group(array_merge($data, array('positions' => $positions))); } + + static public function subscribe($group_id, $uid) + { + XDB::execute('DELETE FROM group_former_members + WHERE uid = {?} AND asso_id = {?}', + $uid, $group_id); + XDB::execute('INSERT IGNORE INTO group_members (asso_id, uid) + VALUES ({?}, {?})', + $group_id, $uid); + } + + static public function unsubscribe($group_id, $uid) + { + XDB::execute('INSERT INTO group_former_members (asso_id, uid, unsubsciption_date) + VALUES ({?}, {?}, NOW())', + $group_id, $uid); + XDB::execute('DELETE FROM group_members + WHERE uid = {?} AND asso_id = {?}', + $uid, $group_id); + } } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: diff --git a/modules/xnetgrp.php b/modules/xnetgrp.php index 29daade..40138cd 100644 --- a/modules/xnetgrp.php +++ b/modules/xnetgrp.php @@ -530,9 +530,8 @@ class XnetGrpModule extends PLModule { global $globals; $this->removeSubscriptionRequest($user->id()); - XDB::execute("INSERT IGNORE INTO group_members (asso_id, uid) - VALUES ({?}, {?})", - $globals->asso('id'), $user->id()); + Group::subscribe($globals->asso('id'), $user->id()); + if (XDB::affectedRows() == 1) { $mailer = new PlMailer(); $mailer->addTo($user->forlifeEmail()); @@ -947,9 +946,7 @@ class XnetGrpModule extends PLModule function unsubscribe(PlUser $user) { global $globals; - XDB::execute("DELETE FROM group_members - WHERE uid = {?} AND asso_id = {?}", - $user->id(), $globals->asso('id')); + Group::unsubscribe($globals->asso('id'), $user->id()); if ($globals->asso('notif_unsub')) { $mailer = new PlMailer('xnetgrp/unsubscription-notif.mail.tpl');