From: Pierre Habouzit (MadCoder Date: Thu, 28 Apr 2005 09:47:37 +0000 (+0000) Subject: membres update is now OK, remains members add X-Git-Tag: xorg/old~163 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=591102e3064a710e8be3e97e02830ededde1720e;p=platal.git membres update is now OK, remains members add git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-599 --- diff --git a/ChangeLog b/ChangeLog index 654fc3f..aa9445d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,12 +3,14 @@ VERSION 0.9.6 -- May 2004 New : - * Profule : + * Profile : - Stayed down students (orange) management. -Car * Search : - Last improvements (clean code for search now !). -MC + * Polytechnique.net in now in plat/al ! -MC + Bug/Wish : * Admin : @@ -19,6 +21,9 @@ Bug/Wish : Fixes (from 0.9.5 branch) : + * Search : + - #304: next/prev links were missing if #pages was 2. -MC + ================================================================================ VERSION 0.9.5 07 Apr 2004 diff --git a/htdocs.net/groupe/membres-edit.php b/htdocs.net/groupe/membres-edit.php index 9d181da..064d6bc 100644 --- a/htdocs.net/groupe/membres-edit.php +++ b/htdocs.net/groupe/membres-edit.php @@ -17,12 +17,12 @@ "SELECT user_id AS uid, u.promo, u.nom, u.prenom, b.alias, CONCAT(b.alias, '@m4x.org') AS email, CONCAT(b.alias, '@polytechnique.org') AS email2, - m.perms='admin', m.origine + m.perms='admin' AS perms, m.origine FROM auth_user_md5 AS u INNER JOIN aliases AS a ON ( u.user_id = a.id AND a.type != 'homonyme' ) INNER JOIN aliases AS b ON ( u.user_id = b.id AND b.type = 'a_vie' ) - INNER JOIN groupex.membres AS m ON ( m.uid = u.user_id ) - WHERE a.alias = {?} AND u.user_id < 50000", $mbox); + INNER JOIN groupex.membres AS m ON ( m.uid = u.user_id AND asso_id={?}) + WHERE a.alias = {?} AND u.user_id < 50000", $globals->asso('id'), $mbox); $user = $res->fetchOneAssoc(); } else { $res = $globals->xdb->query( @@ -41,15 +41,63 @@ $user = get_infos(Env::get('edit')); if (empty($user)) { header("Location: annuaire.php"); } - $page->assign('user', $user); require 'lists.inc.php'; $client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'), $globals->asso('mail_domain')); - if (false) { - // TODO : deal with form + if (Post::has('change')) { + + if ($user['origine'] != 'X') + { + $globals->xdb->query('UPDATE groupex.membres SET prenom={?}, nom={?}, email={?} WHERE uid={?} AND asso_id={?}', + Post::get('prenom'), Post::get('nom'), Post::get('email'), $user['uid'], $globals->asso('id')); + $user['nom'] = Post::get('nom'); + $user['prenom'] = Post::get('prenom'); + $user['email'] = Post::get('email'); + $user['email2'] = Post::get('email'); + } + + $perms = Post::getInt('is_admin'); + if ($user['perms'] != $perms) { + $globals->xdb->query('UPDATE groupex.membres SET perms={?} WHERE uid={?} AND asso_id={?}', + $perms ? 'admin' : 'membre', $user['uid'], $globals->asso('id')); + $user['perms'] = $perms; + $page->trig('permissions modifiées'); + } + + foreach (Env::getMixed('ml1',array()) as $ml => $state) { + $ask = empty($_REQUEST['ml2'][$ml]) ? 0 : 2; + if ($ask == $state) continue; + if ($state == '1') { + $page->trig("{$user['prenom']} {$user['nom']} a actuellement une demande d'inscription en cours sur $ml@ !!!"); + } elseif ($ask) { + $client->mass_subscribe($ml, Array($user['email2'])); + $page->trig("{$user['prenom']} {$user['nom']} a été abonné à $ml@"); + } else { + $client->mass_unsubscribe($ml, Array($user['email2'])); + $page->trig("{$user['prenom']} {$user['nom']} a été désabonné de $ml@"); + } + } + + foreach (Env::getMixed('ml3', array()) as $ml => $state) { + $ask = !empty($_REQUEST['ml4'][$ml]); + if($state == $ask) continue; + if($ask) { + $globals->xdb->query("INSERT INTO virtual_redirect (vid,redirect) + SELECT vid,{?} FROM virtual WHERE alias={?}", + $user['email'], $ml); + $page->trig("{$user['prenom']} {$user['nom']} a été abonné à $ml"); + } else { + $globals->xdb->query("DELETE FROM virtual_redirect + USING virtual_redirect + INNER JOIN virtual USING(vid) + WHERE redirect={?} AND alias={?}", $user['email'], $ml); + $page->trig("{$user['prenom']} {$user['nom']} a été désabonné de $ml"); + } + } } + $page->assign('user', $user); $listes = $client->get_lists($user['email2']); $page->assign('listes', $listes); diff --git a/templates/xnet/groupe/membres-edit.tpl b/templates/xnet/groupe/membres-edit.tpl index 76069c0..213a1ad 100644 --- a/templates/xnet/groupe/membres-edit.tpl +++ b/templates/xnet/groupe/membres-edit.tpl @@ -24,10 +24,10 @@ Édition du profil de {$user.prenom} {$user.nom} {if $user.origine eq 'X'} (X{$user.promo}) - Voir la fiche + Voir la fiche {/if} - Suppression du compte - Ecrire un mail + Suppression du compte + Ecrire un mail
@@ -37,9 +37,9 @@ Permissions : - + + @@ -90,7 +90,7 @@ {$liste.list} {if $liste.priv} {/if} - {if $liste.own} {/if} + {if $liste.own} *{/if} {$liste.desc} @@ -124,8 +124,8 @@ {/foreach} -
+