correct Pascal's commit a little
authorPierre Habouzit (MadCoder <pierre.habouzit@m4x.org>
Tue, 11 Jan 2005 06:18:04 +0000 (06:18 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:27:24 +0000 (23:27 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-275

ChangeLog
htdocs/alias.php
htdocs/fiche.php
htdocs/vcard.php
templates/alias.tpl
templates/fiche.tpl
upgrade/0.9.4/30_melix.sql [new file with mode: 0644]

index 65a07af..b32d8ce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -35,6 +35,9 @@ Bug/Wish :
        * Core :
                - #245: Use PEAR::Date to avoid 1970-2038 php limitations.                      -MC
 
+       * Emails :
+               - #229: Possibility to show our melix address.                                          -Car
+
        * Misc :
                - #65: broken links.                                                                                            -MC
        
index 0363a7b..e4b14ec 100644 (file)
@@ -31,12 +31,12 @@ $page->assign('demande', AliasReq::get_unique_request($uid));
 
 //Récupération des alias éventuellement existants
 $res = $globals->xdb->query(
-        "SELECT  alias, visibility
-           FROM  virtual
+        "SELECT  alias, emails_alias_pub
+           FROM  auth_user_quick, 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);
+                 AND alias LIKE '%@{$globals->mail->alias_dom}' AND user_id = {?}", 
+        $forlife.'@'.$globals->mail->domain, $forlife.'@'.$globals->mail->domain2, Session::getInt('uid'));
 list($alias, $visibility) = $res->fetchOneRow();
 $page->assign('actuel', $alias);
 
@@ -84,18 +84,18 @@ 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';
+    $globals->xdb->execute("UPDATE auth_user_quick SET emails_alias_pub = 'public' WHERE user_id = {?}", Session::getInt('uid'));
+    $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';
+    $globals->xdb->execute("UPDATE auth_user_quick SET emails_alias_pub = 'private' WHERE user_id = {?}", Session::getInt('uid'));
+    $visibility = 'private';
 }
 
 if ($visibility == 'public') {
-       $page->assign('mail_public', true);
+    $page->assign('mail_public', true);
 }
 
 $page->run();
index 3f3ac10..acf01d2 100644 (file)
@@ -81,10 +81,10 @@ $res = $globals->xdb->query(
        "SELECT alias
           FROM virtual
      INNER JOIN virtual_redirect USING(vid)
+     INNER JOIN auth_user_quick  ON ( user_id = {?} AND emails_alias_pub = 'public' )
           WHERE ( redirect={?} OR redirect={?} )
-               AND alias LIKE '%@{$globals->mail->alias_dom}'
-               AND visibility = 'public'",
-       $user['forlife'].'@'.$globals->mail->domain, $user['forlife'].'@'.$globals->mail->domain2);
+               AND alias LIKE '%@{$globals->mail->alias_dom}'",
+        Session::getInt('uid'), $user['forlife'].'@'.$globals->mail->domain, $user['forlife'].'@'.$globals->mail->domain2);
 $page->assign('virtualalias', $res->fetchOneCell());
 $page->run();
 
index e29b4cc..79a115e 100644 (file)
@@ -45,10 +45,10 @@ $res = $globals->xdb->query(
        "SELECT alias
           FROM virtual
      INNER JOIN virtual_redirect USING(vid)
+     INNER JOIN auth_user_quick  ON ( user_id = {?} AND emails_alias_pub = 'public' )
          WHERE ( redirect={?} OR redirect={?} )
-               AND alias LIKE '%@{$globals->mail->alias_dom}'
-               AND visibility = 'public'",
-       $user['forlife'].'@'.$globals->mail->domain, $user['forlife'].'@'.$globals->mail->domain2);
+               AND alias LIKE '%@{$globals->mail->alias_dom}'",
+        Session::getInt('uid'), $user['forlife'].'@'.$globals->mail->domain, $user['forlife'].'@'.$globals->mail->domain2);
 $user['virtualalias'] = $res->fetchOneCell();
 
 $page->assign_by_ref('vcard', $user);
index 1adfba4..b3e39ff 100644 (file)
   </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}
+<form action="?visible={if $mail_public}private{else}public{/if}" method='post'>
+  <table class="flags">
+    <tr>
+      <td class="vert">
+        <input type="checkbox" {if $mail_public}checked="checked"{/if} onclick="this.form.submit()" />
+      </td>
+      <td>
+        Ton alias est actuellement : <strong>{$actuel}</strong>. 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}
+      </td>
+    </tr>
+  </table>
+</form>
     
 {else}
   <p>
index ab18528..3896d02 100644 (file)
@@ -61,13 +61,13 @@ function chgMainWinLoc( strPage ) {
           {elseif !$x.inscrit}
           Le compte de cette personne n'est pas actif (personne non inscrite ou exclue).
           {else}
+          {if $virtualalias}
+          <a href="mailto:{$virtualalias}">{$virtualalias}</a><br />
+          {/if}
           <a href="mailto:{$x.bestalias}@polytechnique.org">{$x.bestalias}@polytechnique.org</a>
           {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">
diff --git a/upgrade/0.9.4/30_melix.sql b/upgrade/0.9.4/30_melix.sql
new file mode 100644 (file)
index 0000000..79ac536
--- /dev/null
@@ -0,0 +1 @@
+alter table auth_user_quick add column emails_alias_pub enum('public', 'private') not null default 'private';