* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: admin_trombino.php,v 1.2 2004-08-31 10:03:29 x2000habouzit Exp $
+ $Id: admin_trombino.php,v 1.3 2004-09-02 22:27:05 x2000habouzit Exp $
***************************************************************************/
require("auto.prepend.inc.php");
new_admin_page('admin/admin_trombino.tpl');
-$q = $globals->db->query("SELECT username,promo FROM auth_user_md5 WHERE user_id = '" . $_REQUEST["uid"] . "'");
-list($username, $promo) = mysql_fetch_row($q);
+$q = $globals->db->query("SELECT a.alias,promo
+ FROM auth_user_md5 AS u
+ INNER JOIN aliases AS a ON ( u.user_id = a.id AND type='a_vie' )
+ WHERE user_id = '{$_REQUEST['uid']}'");
+list($forlife, $promo) = mysql_fetch_row($q);
if (isset($_REQUEST["action"])) {
switch ($_REQUEST["action"]) {
case "ecole":
header("Content-type: image/jpeg");
- readfile("/home/web/trombino/photos".$promo."/".$username.".jpg");
+ readfile("/home/web/trombino/photos".$promo."/".$forlife.".jpg");
exit;
break;
}
}
-$page->assign('username', $username);
+$page->assign('forlife', $forlife);
$page->run();
?>
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: emails.php,v 1.4 2004-08-31 10:03:28 x2000habouzit Exp $
+ $Id: emails.php,v 1.5 2004-09-02 22:27:05 x2000habouzit Exp $
***************************************************************************/
require("auto.prepend.inc.php");
new_skinned_page('emails.tpl',AUTH_COOKIE);
// on regarde si on a affaire à un homonyme
-$res = $globals->db->query("SELECT username!=loginbis AND loginbis!='',alias FROM auth_user_md5 WHERE username = '".$_SESSION["username"]."'");
-list($is_homonyme,$alias) = mysql_fetch_row($res);
-mysql_free_result($res);
-$page->assign('is_homonyme', $is_homonyme);
-$page->assign('alias', $alias);
-
+$sql = "SELECT alias, (type='a_vie') AS a_vie
+ FROM aliases
+ WHERE id='{$_SESSION['uid']}'
+ ORDER BY type!='a_vie'";
+$page->mysql_assign($sql, 'aliases');
$sql = "SELECT email
FROM emails
// on regarde si l'utilisateur a un alias et si oui on l'affiche !
-$sql = "SELECT domain FROM groupex.aliases WHERE id=12 AND email like '".$_SESSION['username']."'";
+$sql = "SELECT domain FROM groupex.aliases WHERE id=12 AND email like '".$_SESSION['forlife']."'";
$result = $globals->db->query($sql);
if ($result && list($aliases) = mysql_fetch_row($result))
$page->assign('melix', substr($aliases,0,-3));
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: newsletter.php,v 1.5 2004-08-31 10:03:28 x2000habouzit Exp $
+ $Id: newsletter.php,v 1.6 2004-09-02 22:27:05 x2000habouzit Exp $
***************************************************************************/
require("auto.prepend.inc.php");
if (isset($_REQUEST['send_mail'])) {
require('diogenes.mailer.inc.php');
$mymail = new DiogenesMailer("info_newsletter@polytechnique.org",
- $_SESSION['username']."@polytechnique.org",
+ $_SESSION['forlife']."@polytechnique.org",
"[polytechnique.org] ".$nl_titre);
$mymail->addHeader("From: \"Equipe polytechnique.org\" <info_newsletter@polytechnique.org>");
$mymail->setBody("Suite à ta demande sur le site web, nous te réexpédions cette lettre d'informations archivée.\r\n\r\n".strip_tags($nl_text));
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: pattecassee.php,v 1.6 2004-08-31 10:03:28 x2000habouzit Exp $
+ $Id: pattecassee.php,v 1.7 2004-09-02 22:27:05 x2000habouzit Exp $
***************************************************************************/
require("auto.prepend.inc.php");
$email = valide_email($_GET['email']);
// vérifications d'usage
$sel = $globals->db->query(
- "SELECT e.uid, a.username
- FROM emails AS e
- INNER JOIN auth_user_md5 AS a ON e.uid = a.user_id
- WHERE e.email='$email'");
+ "SELECT e.uid, a.alias
+ FROM emails AS e
+ INNER JOIN auth_user_md5 AS u ON e.uid = u.user_id
+ INNER JOIN aliases AS a ON e.uid = a.id
+ WHERE e.email='$email'");
if (list($uid, $dest) = mysql_fetch_row($sel)) {
// envoi du mail
$message = "Bonjour !
Ce mail a été généré automatiquement par le service de patte cassée de
-Polytechnique.org car un autre utilisateur, "
-.$_SESSION["prenom"]." ".$_SESSION["nom"].",
+Polytechnique.org car un autre utilisateur, {$_SESSION['prenom']} {$_SESSION['nom']},
nous a signalé qu'en t'envoyant un mail, il avait reçu un message d'erreur
-indiquant que ton adresse de redirection " . $email . "
+indiquant que ton adresse de redirection $email
ne fonctionnait plus !
Nous te suggérons de vérifier cette adresse, et le cas échéant de mettre
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: routage-mail.php,v 1.4 2004-08-31 22:01:30 x2000habouzit Exp $
+ $Id: routage-mail.php,v 1.5 2004-09-02 22:27:05 x2000habouzit Exp $
***************************************************************************/
require("auto.prepend.inc.php");
new_skinned_page('routage-mail.tpl',AUTH_MDP);
require("email.classes.inc.php");
-$redirect = new Redirect();
+$redirect = new Redirect($_SESSION['uid']);
if (isset($_REQUEST['emailop'])) {
if ($_REQUEST['emailop']=="retirer" && isset($_REQUEST['num'])) {
}
elseif (isset($_REQUEST['emails_actifs']) && is_array($_REQUEST['emails_actifs'])
&& isset($_REQUEST['emails_rewrite']) && is_array($_REQUEST['emails_rewrite'])) {
- $page->assign('retour',
- $redirect->modify_email($_REQUEST['emails_actifs'],$_REQUEST['emails_rewrite']));
+ $page->assign('retour', $redirect->modify_email($_REQUEST['emails_actifs'],$_REQUEST['emails_rewrite']));
}
}
-$sql = "SELECT domain FROM groupex.aliases WHERE id=12 AND email like'".$_SESSION['username']."'";
+$sql = "SELECT domain FROM groupex.aliases WHERE id=12 AND email like'".$_SESSION['forlife']."'";
$res = $globals->db->query($sql);
list($grx) = mysql_fetch_row($res);
$page->assign('grx',$grx);
$page->assign('domaine',substr($grx,0,-3));
-$sql = "SELECT alias FROM auth_user_md5 WHERE user_id=".$_SESSION["uid"];
-$res = $globals->db->query($sql);
-list($alias) = mysql_fetch_row($res);
-$page->assign('alias',$alias);
-foreach ($redirect->emails as $mail)
- $emails[] = $mail;
-$page->assign('emails',$emails);
+
+$page->mysql_assign("SELECT alias FROM aliases WHERE id=".$_SESSION["uid"], 'alias');
+$page->assign('emails',$redirect->emails);
$page->run();
?>
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: trombipromo.php,v 1.4 2004-08-31 10:03:29 x2000habouzit Exp $
+ $Id: trombipromo.php,v 1.5 2004-09-02 22:27:05 x2000habouzit Exp $
***************************************************************************/
require("auto.prepend.inc.php");
list($pnb) = mysql_fetch_row($res);
$page->assign('pnb', $pnb);
-$sql = "SELECT promo,user_id,username,nom,prenom
- FROM auth_user_md5 AS u
- RIGHT JOIN photo AS p ON u.user_id=p.uid
+$sql = "SELECT promo,user_id,a.alias AS forlife,nom,prenom
+ FROM photo AS p
+ INNER JOIN auth_user_md5 AS u ON u.user_id=p.uid
+ INNER JOIN aliases AS a ON ( u.user_id=a.id AND a.type='a_vie' )
$where
ORDER BY promo,nom,prenom LIMIT $offset,$limit";
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: email.classes.inc.php,v 1.2 2004-08-31 11:16:48 x2000habouzit Exp $
+ $Id: email.classes.inc.php,v 1.3 2004-09-02 22:27:06 x2000habouzit Exp $
***************************************************************************/
require("xorg.misc.inc.php");
$this->active = $this->filtre;
}
- function set($flag) {
+ function set($flag,$uid) {
global $globals;
if (!$this->{$flag}) {
$globals->db->query("update emails set flags = CONCAT_WS(',',flags,'".$this->{'flag_'.$flag}.
- "') where uid={$_SESSION['uid']} and num=".$this->num);
+ "') where uid=$uid and num=".$this->num);
if ($flag=='active')
$_SESSION['log']->log("email_on",$this->email);
$this->{$flag} = true;
}
}
- function deset($flag) {
+ function deset($flag,$uid) {
global $globals;
if ($this->{$flag}) {
$globals->db->query("update emails set flags = flags &
~(1 << (FIND_IN_SET('".$this->{'flag_'.$flag}."',flags)-1))
- where uid={$_SESSION['uid']} and num=".$this->num);
+ where uid=$uid and num=".$this->num);
if ($flag=='active')
$_SESSION['log']->log("email_off",$this->email);
$this->{$flag} = false;
class Redirect {
var $flag_active = 'active';
var $emails;
+ var $uid;
- function Redirect() {
+ function Redirect($_uid) {
global $globals;
+ $this->uid=$_uid;
$result = $globals->db->query("select num, email,
FIND_IN_SET('active',flags),FIND_IN_SET('filtre',flags),
FIND_IN_SET('rewrite',flags), FIND_IN_SET('m4x',flags), FIND_IN_SET('mtic',flags)
- from emails where uid = {$_SESSION['uid']}");
+ from emails where uid = $_uid");
while ($row = mysql_fetch_row($result)) {
$num = $row[0];
if ($num!=0)
global $globals;
if (!$this->other_active($num))
return ERROR_INACTIVE_REDIRECTION;
- $globals->db->query("delete from emails where uid={$_SESSION['uid']} and num='$num'");
+ $globals->db->query("delete from emails where uid={$this->uid} and num='$num'");
$_SESSION['log']->log("email_del",$this->emails[$num]->email);
unset($this->emails[$num]);
return SUCCESS;
$mtic = 1;
}
$newnum = $this->freenum();
- $globals->db->query("insert into emails (uid,num,email,flags) VALUES({$_SESSION['uid']},'$newnum','$email','$flags')");
+ $globals->db->query("insert into emails (uid,num,email,flags) VALUES({$this->uid},'$newnum','$email','$flags')");
$_SESSION['log']->log("email_add",$email);
$this->emails[$newnum] = new Email(array($newnum,$email,1,1,1,0,$mtic));
return SUCCESS;
global $globals;
foreach($this->emails as $num=>$mail) {
if ($emails_rewrite[$num] != 'no')
- $this->emails[$num]->set('rewrite');
+ $this->emails[$num]->set('rewrite',$this->uid);
else
$this->emails[$num]->deset('rewrite');
if ($emails_rewrite[$num] == 'm4x')
- $this->emails[$num]->set('m4x');
+ $this->emails[$num]->set('m4x',$this->uid);
else
$this->emails[$num]->deset('m4x');
if(in_array($num,$emails_actifs))
- $this->emails[$num]->set('active');
+ $this->emails[$num]->set('active',$this->uid);
else
$this->emails[$num]->deset('active');
}
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: admin_trombino.tpl,v 1.2 2004-08-31 11:25:39 x2000habouzit Exp $
+ $Id: admin_trombino.tpl,v 1.3 2004-09-02 22:27:06 x2000habouzit Exp $
***************************************************************************}
{dynamic}
<p>
-Photo actuelle de {$username}
+Photo actuelle de {$forlife}
</p>
-<img src="../getphoto.php?x={$smarty.request.uid}" />
+<img src="../getphoto.php?x={$smarty.request.uid}" alt="[ PHOTO ]" />
<br />
<p>
</p>
<form action="{$smarty.server.PHP_SELF}" method="post" enctype="multipart/form-data">
- <input type="hidden" name="uid" value="{$smarty.request.uid}" />
- <input type="hidden" name="action" value="valider" />
- <input name="userfile" type="file" size="20" maxlength="150" />
- <input type="submit" value="Envoyer" />
+ <div>
+ <input type="hidden" name="uid" value="{$smarty.request.uid}" />
+ <input type="hidden" name="action" value="valider" />
+ <input name="userfile" type="file" size="20" maxlength="150" />
+ <input type="submit" value="Envoyer" />
+ </div>
</form>
{/dynamic}
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: emails.tpl,v 1.3 2004-08-31 11:25:38 x2000habouzit Exp $
+ $Id: emails.tpl,v 1.4 2004-09-02 22:27:06 x2000habouzit Exp $
***************************************************************************}
<table class="bicol">
<tr>
- <th>Mes adresses polytechniciennes à vie {if !$is_homonyme}*{/if}</th>
+ <th>Mes adresses polytechniciennes à vie</th>
</tr>
<tr class="impair">
<td>
- Tes adresses polytechniciennes sont
- <strong>{$smarty.session.username}@polytechnique.org</strong> et
- <strong>{$smarty.session.username}@m4x.org</strong>
+ Tes adresses polytechniciennes sont :
+ <ul>
+ {foreach from=$aliases item=a}
+ <li>{if $a.a_vie}(*){/if} <strong>{$a.alias}</strong>@polytechnique.org</li>
+ <li>{if $a.a_vie}(*){/if} <strong>{$a.alias}</strong>@m4x.org</li>
+ {/foreach}
+ </ul>
+ </td>
+ </tr>
+ <tr class="pair">
+ <td>
(M4X signifie <em>mail for X</em>, son intérêt est de te doter d'une adresse à vie
moins "voyante" que l'adresse @polytechnique.org).
- {if $alias}
- Tu disposes également des adresses {$alias}@polytechnique.org et {$alias}@m4x.org
- {/if}
</td>
</tr>
- <tr class="pair">
+ <tr class="impair">
<td>
Elles seront prochainement <strong>complétées d'une adresse @polytechnique.edu</strong>,
plus lisible dans les pays du monde où "Polytechnique" n'évoque pas grand chose,
</tr>
</table>
+<p class="smaller">
+(*) les adresses mails marquées de (*) te sont réservées à vie (et même plus).
+les autres sont sujettes à être supprimées (en cas d'homonymie, ou de changement de nom d'épouse pour les femmes)
+</p>
+
+
<br />
<table class="bicol">
<tr>
<th>Où est-ce que je reçois le courrier qui m'y est adressé ?</th>
</tr>
- <tr>
+ <tr class="pair">
<td>
Actuellement, tout courrier électronique qui t'y est adressé, est envoyé
{if $nb_mails eq 1} à l'adresse {else} aux adresses {/if}
- {section name=mail loop=$mails}
- <strong>{$mails[mail].email}</strong>{if $smarty.section.mail.last}.{else}, {/if}
- {/section}
- <br />
+ <ul>
+ {section name=mail loop=$mails}
+ <li><strong>{$mails[mail].email}</strong>{if $smarty.section.mail.last}.{else}, {/if}</li>
+ {/section}
+ </ul>
Si tu souhaites <strong>modifier ce reroutage de ton courrier,</strong>
<a href="{"routage-mail.php"|url}">il te suffit de te rendre ici !</a>
</td>
<tr>
<th colspan="2">Antivirus, antispam</th>
</tr>
- <tr>
+ <tr class="impair">
<td class="half">
Tous les courriers qui te sont envoyés sur tes adresses polytechniciennes sont
<strong>filtrés par un logiciel antivirus</strong> très performant. Il te protège de ces
<tr>
<th>Un alias sympatique : melix !</th>
</tr>
- <tr class="impair">
+ <tr class="pair">
<td>
Tu peux ouvrir en supplément une adresse synonyme de ton adresse @polytechnique.org,
sur les domaines @melix.org et @melix.net (melix = Mél X).
</td>
</tr>
- <tr class="pair">
+ <tr class="impair">
<td>
{if $melix}
Tu disposes à l'heure actuelle des adresses <strong>{$melix}net</strong> et <strong>{$melix}org</strong>.
</tr>
</table>
-
-{if !$is_homonyme}
-<p class="smaller">
-* Tu les garderas toute ta vie, sauf si un jour un homonyme d'une autre promotion
-s'inscrit à Polytechnique.org (les cas d'homonymie sont <em>très</em> rares),
-auquel cas ces adresses deviendraient
-{$smarty.session.username}{$smarty.session.promo|regex_replace:"/^../":""}@polytechnique.org et
-{$smarty.session.username}{$smarty.session.promo|regex_replace:"/^../":""}@m4x.org
-</p>
-{/if}
-
{/dynamic}
{* vim:set et sw=2 sts=2 sws=2: *}
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: routage-mail.tpl,v 1.5 2004-08-31 22:01:32 x2000habouzit Exp $
+ $Id: routage-mail.tpl,v 1.6 2004-09-02 22:27:06 x2000habouzit Exp $
***************************************************************************}
{dynamic}
{if $retour == $smarty.const.ERROR_INACTIVE_REDIRECTION}
<p class="erreur">
Tu ne peux pas avoir aucune adresse de redirection active, sinon ton adresse
- {$smarty.session.username}@polytechnique.org ne fonctionnerait plus.
+ {$smarty.session.forlife}@polytechnique.org ne fonctionnerait plus.
</p>
{/if}
{if $retour == $smarty.const.ERROR_INVALID_EMAIL}
{/if}
{if $retour == $smarty.const.ERROR_LOOP_EMAIL}
<p class="erreur">
- Erreur: {$smarty.session.username}@polytechnique.org doit renvoyer vers un email
+ Erreur: {$smarty.session.forlife}@polytechnique.org doit renvoyer vers un email
existant valide. En particulier, il ne peut pas être renvoyé vers lui-même,
ni son équivalent en m4x.org, ni vers son équivalent polytechnique.edu.
</p>
Tes adresses de redirection
</div>
<p>
- Tu configures ici les adresses emails vers lesquelles tes adresses {if $grx neq ""}<strong>{$grx}</strong>, <strong>{$domaine}org</strong>, {/if}{if $alias neq ""}<strong>{$alias}@polytechnique.org</strong>, <strong>{$alias}@m4x.org</strong>,{/if}<strong>{$smarty.session.username}@polytechnique.org</strong> et <strong>{$smarty.session.username}@m4x.org</strong> sont redirigées.
+ Tu configures ici les adresses emails vers lesquelles tes adresses (listées ci-dessous) sont dirigées :
</p>
+ <ul>
+ {if $grx neq ""}<li><strong>{$grx}</strong>, <strong>{$domaine}org</strong></li>{/if}
+ {foreach from=$alias item=a}
+ <li><strong>{$a.alias}@polytechnique.org</strong></li>
+ {/foreach}
+ </ul>
<p>
Le routage est en place pour les adresses dont la case "Actif" est cochée.
Si tu modifies souvent ton routage, tu as tout intérêt à rentrer toutes les
<th>Réécriture</th>
<th> </th>
</tr>
- {section name=i loop=$emails}
+ {foreach from=$emails item=e}
<tr class="{cycle values="pair,impair"}">
- <td><strong>{$emails[i]->email}</strong></td>
- <td><input type="checkbox" name="emails_actifs[]" value="{$emails[i]->num}" {if
- $emails[i]->active}checked="checked"{/if} /></td>
+ <td><strong>{$e->email}</strong></td>
<td>
- <select name="emails_rewrite[{$emails[i]->num}]">
- <option value="poly" {if $emails[i]->rewrite == 1 and $emails[i]->m4x == 0}selected="selected"{/if}>
- polytechnique.org
- </option>
- <option value="m4x" {if $emails[i]->m4x == 1}selected="selected"{/if}>
- m4x.org
- </option>
- <option value="no" {if $emails[i]->rewrite == 0}selected="selected"{/if}>
- aucune
- </option>
+ <input type="checkbox" name="emails_actifs[]" value="{$e->num}" {if $e->active}checked="checked"{/if} /></td>
+ <td>
+ <select name="emails_rewrite[{$e->num}]">
+ <option value="poly" {if $e->rewrite == 1 and $e->m4x == 0}selected="selected"{/if}>
+ polytechnique.org</option>
+ <option value="m4x" {if $e->rewrite == 1 and $e->m4x == 1}selected="selected"{/if}>
+ m4x.org</option>
+ <option value="no" {if $e->rewrite == 0}selected="selected"{/if}>
+ aucune</option>
</select>
</td>
- <td><a href="{$smarty.server.PHP_SELF}?emailop=retirer&num={$emails[i]->num}">retirer</a></td>
+ <td><a href="{$smarty.server.PHP_SELF}?emailop=retirer&num={$e->num}">retirer</a></td>
</tr>
- {/section}
+ {/foreach}
</table>
<br />
<input type="submit" value="Mettre à jour les emails actifs" name="emailop" />
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: trombipromo.tpl,v 1.5 2004-08-31 11:25:39 x2000habouzit Exp $
+ $Id: trombipromo.tpl,v 1.6 2004-09-02 22:27:06 x2000habouzit Exp $
***************************************************************************}
<tr>
{/if}
<td class="center">
- <a href="javascript:x()" onclick="popWin('fiche.php?user={$p.username}')">
+ <a href="javascript:x()" onclick="popWin('fiche.php?user={$p.forlife}')">
<img src="getphoto.php?x={$p.user_id}" width="110" alt=" [ PHOTO ] " />
</a>
- {mailto address="`$p.username`@polytechnique.org" text="`$p.prenom` `$p.nom`"}
+ {mailto address="`$p.forlife`@polytechnique.org" text="`$p.prenom` `$p.nom`"}
{if $smarty.request.xpromo eq 'all'}{$p.promo}{/if}
{if $smarty.session.perms eq 'admin'}<br /><a href="admin/admin_trombino.php?uid={$p.user_id}">[admin]</a>{/if}
</td>