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.
+
+
+ {else}
+ privé et n'apparaît nulle part sur le site.
+
+
+ {/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