Bug 229 : melix dans la vcard et ailleurs
authorPascal Corpet <pascal.corpet@m4x.org>
Tue, 11 Jan 2005 01:06:09 +0000 (01:06 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:27:23 +0000 (23:27 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-273

htdocs/alias.php
htdocs/fiche.php
htdocs/vcard.php
templates/alias.tpl
templates/fiche.tpl
templates/vcard.tpl

index fe5e67d..0363a7b 100644 (file)
@@ -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();
 ?>
index ffe0389..3f3ac10 100644 (file)
@@ -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();
 
 ?>
index 6e2997b..e29b4cc 100644 (file)
@@ -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: ");
index 905d3e8..1adfba4 100644 (file)
     Adresses e-mail personnalisées
   </h1>
 
+{if $actuel}
+  <p>
+    Ton alias est actuellement : <strong>{$actuel}</strong>. Il est pour l'instant
+    {if $mail_public}
+      public et apparaît donc sur ta fiche.
+  </p>
+  <h3>
+    <a href='?visible=private'>Cacher mon alias</a>
+  </h3>
+    {else}
+      privé et n'apparaît nulle part sur le site.
+  </p>
+  <h3>
+    <a href='?visible=public'>Rendre mon alias public</a>
+  </h3>
+    {/if}
+    
+{else}
   <p>
     Pour plus de <strong>convivialité</strong> 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.
   </p>
+{/if}
+
   <p>
     Pour de plus amples informations sur ce service, nous t'invitons à consulter
     <a href="{rel}/docs/doc_melix.php">cette documentation</a> qui répondra
index 8cf5d5f..ab18528 100644 (file)
@@ -65,6 +65,9 @@ function chgMainWinLoc( strPage ) {
           {if $bestalias neq $x.forlife}<br />
           <a href="mailto:{$x.forlife}@polytechnique.org">{$x.forlife}@polytechnique.org</a>
           {/if}
+          {if $virtualalias}<br />
+          <a href="mailto:{$virtualalias}">{$virtualalias}</a>
+          {/if}
           {/if}
         </div>
         <div class="mob">
index 3dcf446..c84d9e3 100644 (file)
@@ -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}