From: Stéphane Jacob
Date: Mon, 16 May 2011 09:03:03 +0000 (+0200)
Subject: Stores if a user wants her unsubscription to be remembered.
X-Git-Tag: xorg/1.1.2~86
X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=49056fe2c32629b7b63b7936e6d9a25562fe5b5a;p=platal.git
Stores if a user wants her unsubscription to be remembered.
Signed-off-by: Stéphane Jacob
---
diff --git a/classes/group.php b/classes/group.php
index c2ae53f..d17562c 100644
--- a/classes/group.php
+++ b/classes/group.php
@@ -151,11 +151,11 @@ class Group
$group_id, $uid);
}
- static public function unsubscribe($group_id, $uid)
+ static public function unsubscribe($group_id, $uid, $remember)
{
- XDB::execute('INSERT INTO group_former_members (asso_id, uid, unsubsciption_date)
- VALUES ({?}, {?}, NOW())',
- $group_id, $uid);
+ XDB::execute('INSERT INTO group_former_members (asso_id, uid, remember, unsubsciption_date)
+ VALUES ({?}, {?}, {?}, NOW())',
+ $group_id, $uid, $remember);
XDB::execute('DELETE FROM group_members
WHERE uid = {?} AND asso_id = {?}',
$uid, $group_id);
diff --git a/modules/xnetgrp.php b/modules/xnetgrp.php
index 814fdcc..d3ecad4 100644
--- a/modules/xnetgrp.php
+++ b/modules/xnetgrp.php
@@ -955,10 +955,10 @@ class XnetGrpModule extends PLModule
$page->assign('users', $users);
}
- function unsubscribe(PlUser $user)
+ function unsubscribe(PlUser $user, $remember = false)
{
global $globals;
- Group::unsubscribe($globals->asso('id'), $user->id());
+ Group::unsubscribe($globals->asso('id'), $user->id(), $remember);
if ($globals->asso('notif_unsub')) {
$mailer = new PlMailer('xnetgrp/unsubscription-notif.mail.tpl');
@@ -1025,7 +1025,7 @@ class XnetGrpModule extends PLModule
$hasSingleGroup = ($user->groupCount() == 1);
- if ($this->unsubscribe($user)) {
+ if ($this->unsubscribe($user, Post::b('remember'))) {
$page->trigSuccess('Tu as été désinscrit du groupe avec succès.');
} else {
$page->trigWarning('Tu as été désinscrit du groupe, mais des erreurs se sont produites lors des désinscriptions des alias et des listes de diffusion.');
diff --git a/templates/xnetgrp/membres-del.tpl b/templates/xnetgrp/membres-del.tpl
index 004a356..1ad940a 100644
--- a/templates/xnetgrp/membres-del.tpl
+++ b/templates/xnetgrp/membres-del.tpl
@@ -52,6 +52,9 @@
et le désabonner de toutes les listes de diffusion du groupe ?
{/if}
+ {if $self}
+
+ {/if}
diff --git a/upgrade/1.1.2/01_groups.sql b/upgrade/1.1.2/01_groups.sql
index 4f999db..334b768 100644
--- a/upgrade/1.1.2/01_groups.sql
+++ b/upgrade/1.1.2/01_groups.sql
@@ -1,6 +1,9 @@
+DROP TABLE IF EXISTS group_former_members;
+
CREATE TABLE group_former_members (
asso_id SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
uid INT(11) UNSIGNED NOT NULL DEFAULT 0,
+ remember BOOLEAN NOT NULL DEFAULT FALSE,
unsubsciption_date DATE NOT NULL,
PRIMARY KEY (asso_id, uid),
KEY uid (uid),