* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: homonymes.php,v 1.3 2004-09-01 17:59:07 x2000habouzit Exp $
+ $Id: homonymes.php,v 1.4 2004-09-05 17:39:42 x2000habouzit Exp $
***************************************************************************/
require("auto.prepend.inc.php");
$target = isset($_REQUEST['target']) ? $_REQUEST['target'] : 0;
if ($target) {
- $res = $globals->db->query("SELECT prenom,username,loginbis FROM auth_user_md5 WHERE user_id='$target'");
- if (! list($prenom,$username,$loginbis) = mysql_fetch_row($res)) {
+ $res = $globals->db->query("SELECT prenom,a.alias AS forlife,h.alias AS loginbis
+ FROM auth_user_md5 AS u
+ INNER JOIN aliases AS a ON (a.id=u.user_id AND a.type='a_vie')
+ INNER JOIN aliases AS h ON (h.id=u.user_id AND h.expire!='')
+ WHERE user_id='$target'");
+ if (! list($prenom,$forlife,$loginbis) = mysql_fetch_row($res)) {
$target=0;
} else {
$page->assign('prenom',$prenom);
- $page->assign('username',$username);
- $page->assign('loginbis',$loginbis);
+ $page->assign('forlife',$forlife);
+ $page->assign('loginbis',$loginbis);
}
}
// on examine l'op a effectuer
switch ($op) {
case 'mail':
- $mymail = new DiogenesMailer($cc,$username,"Dans 2 semaines, suppression de $loginbis@polytechnique.org",false,$cc);
+ $mymail = new DiogenesMailer($cc,$forlife,"Dans 2 semaines, suppression de $loginbis@polytechnique.org",false,$cc);
$mymail->addHeader($FROM);
$mymail->setBody(stripslashes($_REQUEST['mailbody']));
$mymail->send();
$op = 'list';
break;
case 'correct':
- $globals->db->query("REPLACE INTO aliases VALUES ('$loginbis', 'homonyme', 0)");
- $mymail = new DiogenesMailer($cc,$username,"Mise en place du robot $loginbis@polytechnique.org",false,$cc);
+ $globals->db->query("UPDATE aliases SET type='homonyme',expire='NOW()' WHERE alias='$loginbis'");
+ $globals->db->query("REPLACE INTO homonymes (homonyme_id,user_id) VALUES('$target','$target')");
+ $mymail = new DiogenesMailer($cc,$forlife,"Mise en place du robot $loginbis@polytechnique.org",false,$cc);
$mymail->addHeader($FROM);
$mymail->setBody(stripslashes($_REQUEST['mailbody']));
$mymail->send();
break;
}
}
+
if ($op == 'list') {
- $res = $globals->db->query("SELECT loginbis FROM auth_user_md5 WHERE loginbis!='' GROUP BY loginbis ORDER BY loginbis");
+ $res = $globals->db->query("SELECT a.alias AS homonyme,s.id AS user_id,s.alias AS forlife,
+ promo,prenom,nom,
+ IF(h.homonyme_id=s.id, a.expire, NULL) AS expire,
+ IF(h.homonyme_id=s.id, a.type, NULL) AS type
+ FROM aliases AS a
+ LEFT JOIN homonymes AS h ON (h.homonyme_id = a.id)
+ INNER JOIN aliases AS s ON (s.id = h.user_id AND s.type='a_vie')
+ INNER JOIN auth_user_md5 AS u ON (s.id=u.user_id)
+ WHERE a.type='homonyme' OR a.expire!=''
+ ORDER BY a.alias,promo");
$hnymes = Array();
- while (list($loginbis) = mysql_fetch_row($res)) $hnymes[$loginbis] = Array();
- mysql_free_result($res);
-
- $res = $globals->db->query("SELECT loginbis,user_id,username,promo,prenom,nom,alias,date_mise_alias_temp AS date FROM auth_user_md5 WHERE loginbis!='' ORDER BY promo");
- while ($tab = mysql_fetch_assoc($res)) $hnymes[$tab['loginbis']][] = $tab;
+ while ($tab = mysql_fetch_assoc($res)) {
+ $hnymes[$tab['homonyme']][] = $tab;
+ }
mysql_free_result($res);
$page->assign_by_ref('hnymes',$hnymes);
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: homonymes.tpl,v 1.5 2004-08-31 11:25:39 x2000habouzit Exp $
+ $Id: homonymes.tpl,v 1.6 2004-09-05 17:39:42 x2000habouzit Exp $
***************************************************************************}
{dynamic}
{if $op eq 'mail'}
-<p class="erreur">mail envoyé à {$username}</p>
+<p class="erreur">mail envoyé à {$forlife}</p>
{elseif $op eq 'correct'}
-<p class="erreur">mail envoyé à {$username}, alias supprimé</p>
+<p class="erreur">mail envoyé à {$forlife}, alias supprimé</p>
{/if}
{if $op eq 'list' || $op eq 'mail' || $op eq 'correct'}
<table class="bicol">
<tr>
- <th>username</th>
- <th>date de l'alias</th>
+ <th>alias concerné</th>
+ <th>date de péremption de l'alias</th>
<th>op</th>
</tr>
{foreach from=$hnymes key=login item=row}
{foreach from=$row item=user}
<tr class="impair">
<td>
- {if $user.alias eq $login}
- <span class="erreur"><strong>{$user.username}</strong></span>
+ {if $user.type eq 'alias'}
+ <span class="erreur"><strong>{$user.forlife}</strong></span>
{else}
- {$user.username}
+ {$user.forlife}
{/if}
</td>
- <td>{$user.date}</td>
+ <td>{$user.expire|date_format:"%d %b %Y"}</td>
<td>
- <a href="javascript:x()" onclick="popWin('../fiche.php?user={$user.username}')">fiche</a>
- <a href="javascript:x()" onclick="popWin('utilisateurs.php?login={$user.username}&select=1')">edit</a>
- {if $user.alias eq $login}
+ <a href="javascript:x()" onclick="popWin('../fiche.php?user={$user.forlife}')">fiche</a>
+ <a href="utilisateurs.php?login={$user.forlife}">edit</a>
+ {if $user.type eq 'alias'}
<a href="?op=mail-conf&target={$user.user_id}">mailer</a>
<a href="?op=correct-conf&target={$user.user_id}">corriger</a>
{/if}
{elseif $op eq 'mail-conf'}
<form method="post" action="{$smarty.server.PHP_SELF}">
- <input type="hidden" name="target" value="{$target}" />
- <input type="hidden" name="op" value="mail" />
<table class="bicol">
<tr>
<th>Envoyer un mail pour prévenir l'utilisateur</th>
Comme nous t'en avons informé par mail il y a quelques temps,
pour respecter nos engagements en terme d'adresses e-mail devinables,
-tu te verras bientôt attribuer de façon définitive l'adresse
-{$username}@polytechnique.org.
+tu te verras bientôt retirer l'alias {$loginbis}@polytechnique.org pour
+ne garder que {$forlife}@polytechnique.org.
Toute personne qui écrira à {$loginbis}@polytechnique.org recevra la
réponse d'un robot qui l'informera que {$loginbis}@polytechnique.org
</tr>
<tr>
<td>
+ <input type="hidden" name="target" value="{$target}" />
+ <input type="hidden" name="op" value="mail" />
<input type="submit" value="Envoyer" />
</td>
</tr>
{elseif $op eq 'correct-conf'}
<form method="post" action="{$smarty.server.PHP_SELF}">
- <input type="hidden" name="target" value="{$target}" />
- <input type="hidden" name="op" value="correct" />
<table class="bicol">
<tr>
<th>Mettre en place le robot {$loginbis}@polytechnique.org</th>
{$prenom},
Comme nous t'en avons informé par mail il y a quelques temps,
-nous t'avons attribué de façon définitive l'adresse
-{$username}@polytechnique.org.
+nous t'avons retiré de façon définitive l'adresse
+{$loginbis}@polytechnique.org.
Toute personne qui écrit à {$loginbis}@polytechnique.org reçoit la
réponse d'un robot qui l'informe que {$loginbis}@polytechnique.org
</tr>
<tr>
<td>
+ <input type="hidden" name="target" value="{$target}" />
+ <input type="hidden" name="op" value="correct" />
<input type="submit" value="Envoyer et corriger" />
</td>
</tr>