From be02bdebd6deb679122864525d6d1e6b65f2d0fb Mon Sep 17 00:00:00 2001 From: Pascal Corpet Date: Tue, 11 Jan 2005 01:06:09 +0000 Subject: [PATCH] Bug 229 : melix dans la vcard et ailleurs git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-273 --- htdocs/alias.php | 21 +++++++++++++++++++-- htdocs/fiche.php | 10 ++++++++++ htdocs/vcard.php | 12 ++++++++++++ templates/alias.tpl | 20 ++++++++++++++++++++ templates/fiche.tpl | 3 +++ templates/vcard.tpl | 3 +++ 6 files changed, 67 insertions(+), 2 deletions(-) diff --git a/htdocs/alias.php b/htdocs/alias.php index fe5e67d..0363a7b 100644 --- a/htdocs/alias.php +++ b/htdocs/alias.php @@ -31,13 +31,14 @@ $page->assign('demande', AliasReq::get_unique_request($uid)); //Récupération des alias éventuellement existants $res = $globals->xdb->query( - "SELECT alias + "SELECT alias, visibility FROM virtual INNER JOIN virtual_redirect USING(vid) WHERE ( redirect={?} OR redirect= {?} ) AND alias LIKE '%@{$globals->mail->alias_dom}'", $forlife.'@'.$globals->mail->domain, $forlife.'@'.$globals->mail->domain2); -$page->assign('actuel', $res->fetchOneCell()); +list($alias, $visibility) = $res->fetchOneRow(); +$page->assign('actuel', $alias); //Si l'utilisateur vient de faire une damande if (Env::has('alias') and Env::has('raison')) { @@ -81,5 +82,21 @@ if (Env::has('alias') and Env::has('raison')) { } } +// montrer son alias +elseif ((Env::get('visible') == 'public') && ($visibility != 'public')) { + $globals->xdb->execute("UPDATE virtual SET visibility = 'public' WHERE alias = {?}", $alias); + $visibility = 'public'; +} + +// cacher son alias +elseif ((Env::get('visible') == 'private') && ($visibility != 'private')) { + $globals->xdb->execute("UPDATE virtual SET visibility = 'private' WHERE alias = {?}", $alias); + $visibility = 'private'; +} + +if ($visibility == 'public') { + $page->assign('mail_public', true); +} + $page->run(); ?> diff --git a/htdocs/fiche.php b/htdocs/fiche.php index ffe0389..3f3ac10 100644 --- a/htdocs/fiche.php +++ b/htdocs/fiche.php @@ -76,6 +76,16 @@ if($user['x'] < 160){ $page->assign('photo_url', $photo); $page->assign_by_ref('x', $user); +// alias virtual +$res = $globals->xdb->query( + "SELECT alias + FROM virtual + INNER JOIN virtual_redirect USING(vid) + WHERE ( redirect={?} OR redirect={?} ) + AND alias LIKE '%@{$globals->mail->alias_dom}' + AND visibility = 'public'", + $user['forlife'].'@'.$globals->mail->domain, $user['forlife'].'@'.$globals->mail->domain2); +$page->assign('virtualalias', $res->fetchOneCell()); $page->run(); ?> diff --git a/htdocs/vcard.php b/htdocs/vcard.php index 6e2997b..e29b4cc 100644 --- a/htdocs/vcard.php +++ b/htdocs/vcard.php @@ -39,6 +39,18 @@ $page->register_function('format_adr', 'format_adr'); $login = get_user_forlife(Env::get('x')); $user = get_user_details($login); + +// alias virtual +$res = $globals->xdb->query( + "SELECT alias + FROM virtual + INNER JOIN virtual_redirect USING(vid) + WHERE ( redirect={?} OR redirect={?} ) + AND alias LIKE '%@{$globals->mail->alias_dom}' + AND visibility = 'public'", + $user['forlife'].'@'.$globals->mail->domain, $user['forlife'].'@'.$globals->mail->domain2); +$user['virtualalias'] = $res->fetchOneCell(); + $page->assign_by_ref('vcard', $user); header("Pragma: "); diff --git a/templates/alias.tpl b/templates/alias.tpl index 905d3e8..1adfba4 100644 --- a/templates/alias.tpl +++ b/templates/alias.tpl @@ -33,10 +33,30 @@ Adresses e-mail personnalisées +{if $actuel} +

+ Ton alias est actuellement : {$actuel}. Il est pour l'instant + {if $mail_public} + public et apparaît donc sur ta fiche. +

+

+ Cacher mon alias +

+ {else} + privé et n'apparaît nulle part sur le site. +

+

+ Rendre mon alias public +

+ {/if} + +{else}

Pour plus de convivialité dans l'utilisation de tes mails, tu peux choisir une adresse e-mail discrète et personnalisée. Ce nouvel e-mail peut par exemple correspondre à ton surnom.

+{/if} +

Pour de plus amples informations sur ce service, nous t'invitons à consulter cette documentation qui répondra diff --git a/templates/fiche.tpl b/templates/fiche.tpl index 8cf5d5f..ab18528 100644 --- a/templates/fiche.tpl +++ b/templates/fiche.tpl @@ -65,6 +65,9 @@ function chgMainWinLoc( strPage ) { {if $bestalias neq $x.forlife}
{$x.forlife}@polytechnique.org {/if} + {if $virtualalias}
+ {$virtualalias} + {/if} {/if}

diff --git a/templates/vcard.tpl b/templates/vcard.tpl index 3dcf446..c84d9e3 100644 --- a/templates/vcard.tpl +++ b/templates/vcard.tpl @@ -29,6 +29,9 @@ EMAIL;TYPE=internet:{$vcard.bestalias}@polytechnique.org {if $vcard.bestalias neq $vcard.forlife} EMAIL;TYPE=internet:{$vcard.forlife}@polytechnique.org {/if} +{if $vcard.virtualalias} +EMAIL;TYPE=internet:{$vcard.virtualalias} +{/if} {if $vcard.mobile} TEL;TYPE=cell;ENCODING=QUOTED-PRINTABLE:{$vcard.mobile|qp_enc} {/if} -- 2.1.4