* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: utilisateurs.php,v 1.14 2004-09-02 09:47:07 x2000habouzit Exp $
+ $Id: utilisateurs.php,v 1.15 2004-09-02 17:43:14 x2000habouzit Exp $
***************************************************************************/
require("auto.prepend.inc.php");
-new_admin_page('admin/utilisateurs.tpl', true, 'admin/utilisateurs.head.tpl');
+new_admin_page('admin/utilisateurs.tpl', true);
require("xorg.misc.inc.php");
-$assignates = Array(
- 'add_email', 'email', 'fwd', 'hashpass', 'homonyme', 'login',
- 'matricule', 'naissanceN', 'newpass_clair', 'nomN', 'num', 'oldlogin', 'olduid',
- 'passw', 'password1', 'perms', 'permsN', 'prenomN', 'promoN', 'remove_email',
- 'select', 'suid_button', 'user_id', 'u_edit', 'u_kill', 'u_kill_conf'
-);
-foreach($assignates as $ass) $$ass=isset($_REQUEST[$ass]) ? $_REQUEST[$ass] : '';
-
-$errors = Array();
-$succes = Array();
-function my_error($msg) { global $erreur; $erreur[] = "<p class='erreur'>Erreur: $msg</p>"; }
-function my_msg($msg) { global $succes; $succes[] = "<p class='succes'>O.K.: $msg</p>"; }
-
/*
* LOGS de l'utilisateur
*/
header("Location: ../");
}
+
+/*
+ * LE RESTE
+ */
+
+$errors = Array();
+
if(isset($_REQUEST['password'])) $pass_clair = $_REQUEST['password'];
// Check if there was a submission
foreach($_POST as $key => $val) {
switch ($key) {
- // ajout d'email
- case "add_email":
+ case "add_fwd":
+ $email = $_REQUEST['email'];
if (!isvalid_email_redirection($email)) {
- my_error("invalid email");
+ $errors[] = "invalid email $email";
break;
}
- $globals->db->query("INSERT INTO emails (uid,num,email,flags) VALUES ($user_id,$num,'$email','active')");
- my_msg("Ajout de $email effectué");
+ $globals->db->query("INSERT INTO emails (uid,num,email,flags)
+ VALUES ({$_REQUEST['user_id']},{$_REQUEST['num']},'$email','active')");
+ $errors[] = "Ajout de $email effectué";
break;
- // supprime un email
+ case "del_fwd":
+ if(empty($val)) break;
+ $globals->db->query("DELETE FROM emails WHERE uid='{$_REQUEST['user_id']}' AND email='$val'");
+ break;
- case "remove_email":
- $globals->db->query("delete from emails where uid=$user_id and email = '$email'");
- my_msg("Suppression de $email effectué");
- break;
-
- // Faire un suid (une partie du code se trouve tout là-haut pour affecter l'affichage du menu)
- case "suid_button":
- if(isset($_SESSION['suid'])) {
- my_msg("SUID effectué, clique sur exit pour quitter.");
- } else {
- my_error("login inconnu, suid non effectué.");
- }
- break;
+ case "del_alias":
+ if(empty($val)) break;
+ $globals->db->query("DELETE FROM aliases WHERE id='{$_REQUEST['user_id']}' AND alias='$val' AND type!='a_vie'");
+ $errors[] = $val." a été supprimé";
+ break;
+ case "add_alias":
+ $globals->db->query("INSERT INTO aliases (id,alias,type)
+ VALUES ('{$_REQUEST['user_id']}','{$_REQUEST['email']}','alias')");
+ break;
- // Editer un profil
+ // Editer un profil
case "u_edit":
- if ($newpass_clair != "********") {
- $pass_md5B=md5($newpass_clair);
- } else {
- $pass_md5B=$passw;
- }
+ $pass_md5B = $_REQUEST['newpass_clair'] != "********" ? md5($_REQUEST['newpass_clair']) : $_REQUEST['passw'];
$query = "UPDATE auth_user_md5 SET
- username='$login',
- naissance=$naissanceN,
+ naissance='{$_REQUEST['naissanceN']}',
password='$pass_md5B',
- perms='$permsN',
- prenom='$prenomN',
- nom='$nomN',
- promo=$promoN
- WHERE user_id=$olduid";
-
+ perms='{$_REQUEST['permsN']}',
+ prenom='{$_REQUEST['prenomN']}',
+ nom='{$_REQUEST['nomN']}',
+ promo='{$_REQUEST['promoN']}'
+ WHERE user_id='{$_REQUEST['user_id']}'";
$globals->db->query($query);
- if (mysql_errno($conn) != 0) {
- my_error("<b>Failed:</b> $query");
- break;
- }
-
+
+ // FIXME: recherche
$f = fopen("/tmp/flag_recherche","w");
fputs($f,"1");
fclose($f);
- my_msg("\"$login\" updaté correctement.");
+ $errors[] = "updaté correctement.";
// envoi du mail au webmaster
$HEADER="From: ADMINISTRATION\nReply-To: webmaster@polytechnique.org\nX-Mailer: PHP/" . phpversion();
$MESSAGE="Intervention manuelle de l'administrateur login=".$_SESSION['username']." (UID=".$_SESSION['uid'].")\n\nOpérations effectuées\n\n\"".$query."\"\n\nCe rapport a été généré par le script d'administration";
// DELETE FROM auth_user_md5
case "u_kill":
- $result=$globals->db->query("select user_id from auth_user_md5 where username='$login'");
- if(list($user_id) = mysql_fetch_row($result)) {
- $query = "DELETE FROM auth_user_md5 WHERE username='$login'";
- $globals->db->query($query);
- $globals->db->query("delete from emails where uid=$user_id");
- $globals->db->query("delete from binets_ins where user_id=$user_id");
- $globals->db->query("delete from groupesx_ins where guid=$user_id");
- $globals->db->query("delete from photo where uid=$user_id");
- $globals->db->query("delete from perte_pass where uid=$user_id");
- $globals->db->query("delete from user_changes where user_id=$user_id");
- $globals->db->query("delete from aliases where id=$user_id and type in ('login','epouse','alias')");
- $globals->db->query("delete from listes_ins where idu=$user_id");
- $globals->db->query("delete from listes_mod where idu=$user_id");
- $globals->db->query("delete from forums_abo where uid=$user_id");
- $globals->db->query("delete from applis_ins where uid=$user_id");
- $globals->db->query("delete from contacts where uid=$user_id");
- $globals->db->query("delete from contacts where contact=$user_id");
- // on purge les entrees dans logger
- $res=$globals->db->query("select id from logger.sessions where uid=$user_id");
- while (list($session_id)=mysql_fetch_row($res))
- $globals->db->query("delete from logger.events where session=$session_id");
- $globals->db->query("delete from logger.sessions where uid=$user_id");
-
- my_msg(" \"$login\" a été supprimé !<BR>");
- $HEADER="From: ADMINISTRATION\nReply-To: webmaster@polytechnique.org\nX-Mailer: PHP/" . phpversion();
- $MESSAGE="Intervention manuelle de l'administrateur login=".$_SESSION['username']." (UID=".$_SESSION['uid'].")\n\nOpérations effectuées\n\n\"".$query."\"\n\nCe rapport a été généré par le script d'administration";
- mail("web@polytechnique.org","INTERVENTION ADMIN",$MESSAGE,$HEADER);
- } else {
- my_error("pas de login $login");
- }
+ $user_id = $_REQUEST['user_id'];
+
+ $query = "DELETE FROM auth_user_md5 WHERE user_id='$user_id'";
+ $globals->db->query($query);
+ $globals->db->query("delete from emails where uid=$user_id");
+ $globals->db->query("delete from binets_ins where user_id=$user_id");
+ $globals->db->query("delete from groupesx_ins where guid=$user_id");
+ $globals->db->query("delete from photo where uid=$user_id");
+ $globals->db->query("delete from perte_pass where uid=$user_id");
+ $globals->db->query("delete from user_changes where user_id=$user_id");
+ $globals->db->query("delete from aliases where id=$user_id and type in ('login','epouse','alias')");
+ $globals->db->query("delete from listes_ins where idu=$user_id");
+ $globals->db->query("delete from listes_mod where idu=$user_id");
+ $globals->db->query("delete from applis_ins where uid=$user_id");
+ $globals->db->query("delete from contacts where uid=$user_id");
+ $globals->db->query("delete from contacts where contact=$user_id");
+ // on purge les entrees dans logger
+ $res=$globals->db->query("select id from logger.sessions where uid=$user_id");
+ while (list($session_id)=mysql_fetch_row($res))
+ $globals->db->query("delete from logger.events where session=$session_id");
+ $globals->db->query("delete from logger.sessions where uid=$user_id");
+
+ $errors[] = "'$user_id' a été supprimé !";
+ $HEADER="From: ADMINISTRATION\nReply-To: webmaster@polytechnique.org\nX-Mailer: PHP/" . phpversion();
+ $MESSAGE="Intervention manuelle de l'administrateur login=".$_SESSION['username']." (UID=".$_SESSION['uid'].")\n\nOpérations effectuées\n\n\"".$query."\"\n\nCe rapport a été généré par le script d'administration";
+ mail("web@polytechnique.org","INTERVENTION ADMIN",$MESSAGE,$HEADER);
break;
}
}
-$page->assign('login', $login);
+if (!empty($_REQUEST['login'])) {
+ $login = $_REQUEST['login'];
+ $r=$globals->db->query("SELECT *
+ FROM auth_user_md5 AS u
+ INNER JOIN aliases AS a ON ( a.id = u.user_id AND a.alias='$login' )");
+ if($tmp = mysql_fetch_assoc($r)) $mr=$tmp;
+ mysql_free_result($r);
+}
-if (!empty($_REQUEST['select'])) {
- $numeric_login = false;
- $looking_field = 'username';
- if (preg_match("/^\d*$/",$login)) {
- $numeric_login = true;
- $looking_field = 'user_id';
+if (!empty($_REQUEST['user_id'])) {
+ $r=$globals->db->query("SELECT *
+ FROM auth_user_md5
+ WHERE user_id='{$_REQUEST['user_id']}'");
+ if($tmp = mysql_fetch_assoc($r)) $mr=$tmp;
+ mysql_free_result($r);
+}
+
+if(isset($mr)) {
+ $page->assign('mr',$mr);
+
+ $result=$globals->db->query("SELECT UNIX_TIMESTAMP(s.start), s.host
+ FROM auth_user_md5 AS u
+ LEFT JOIN logger.sessions AS s ON(s.uid=u.user_id AND s.suid=0)
+ WHERE user_id={$mr['user_id']}
+ ORDER BY s.start DESC
+ LIMIT 1");
+ list($lastlogin,$host) = mysql_fetch_row($result);
+ mysql_free_result($result);
+ $page->assign('lastlogin', $lastlogin);
+ $page->assign('host', $host);
+
+ $sql = "SELECT email, num, flags, panne
+ FROM emails
+ WHERE num != 0 AND uid = {$mr['user_id']} order by num";
+ $result=$globals->db->query($sql);
+ $xorgmails = Array();
+ $email_panne = Array();
+ while($l = mysql_fetch_assoc($result)) {
+ $xorgmails[] = $l;
+ if($l['panne']!="0000-00-00")
+ $email_panne[] = "Adresse {$l['email']} signalée comme HS le {$l['panne']}";
+ $next_num = $l['num']+1;
}
- $r=$globals->db->query("select * from auth_user_md5 where $looking_field='$login' order by username");
- if ($mr=mysql_fetch_assoc($r)){
- if ($numeric_login) $login = $mr['username'];
- $param=$globals->db->query("SELECT UNIX_TIMESTAMP(MAX(start)) FROM logger.sessions WHERE uid={$mr['user_id']} AND suid=0 GROUP BY uid");
- list($lastlogin) = mysql_fetch_row($param);
- mysql_free_result($param);
-
- $page->assign_by_ref('mr',$mr);
-
- $str=false;
-
- $sql = "SELECT email, num, flags, panne
- FROM emails
- WHERE num != 0 AND uid = {$mr['user_id']} order by num";
- $result=$globals->db->query($sql);
- $xorgmails = Array();
- $email_panne = Array();
- while($l = mysql_fetch_assoc($result)) {
- $xorgmails[] = $l;
- if($l['panne']!="0000-00-00")
- $email_panne[] = "Adresse {$l['email']} signalée comme HS le {$l['panne']}";
- $next_num = $l['num']+1;
- }
- mysql_free_result($result);
-
- $page->mysql_assign("SELECT alias, type='login' AS for_life FROM aliases WHERE id = {$mr["user_id"]} ORDER BY type!= 'login'", 'aliases');
- $page->assign_by_ref('xorgmails', $xorgmails);
- $page->assign_by_ref('email_panne', $email_panne);
- $page->assign('next_num', $next_num);
- } // if(mysql_fetch_row)
+ mysql_free_result($result);
+
+ $page->mysql_assign("SELECT alias, type='a_vie' AS for_life
+ FROM aliases
+ WHERE id = {$mr["user_id"]}
+ ORDER BY type!= 'a_vie'", 'aliases');
+ $page->assign_by_ref('xorgmails', $xorgmails);
+ $page->assign_by_ref('email_panne', $email_panne);
+ $page->assign('next_num', $next_num);
}
+$page->assign('errors',$errors);
$page->run();
?>
+++ /dev/null
-{***************************************************************************
- * Copyright (C) 2003-2004 Polytechnique.org *
- * http://opensource.polytechnique.org/ *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the Free Software *
- * Foundation, Inc., *
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
- ***************************************************************************
- $Id: utilisateurs.head.tpl,v 1.4 2004-09-01 18:46:21 x2000habouzit Exp $
- ***************************************************************************}
-
-
-{literal}
-<script type="text/javascript" src="md5.js"></script>
-<style type="text/css" media="screen,print">
- <!--
- p.succes {font-weight: bold;}
- table.admin {width: 100%; color: #000000; background-color: #eeeeee;}
- table.admin th.login,th.password,th.perms {border-top: 1px solid black;}
- table.admin th.login,td.login {background-color: #f9e89b;}
- table.admin td.loginr {background-color: #f9e89b; font-weight: bold; text-align: right;}
- table.admin th.action,td.action {background-color: blue; color: yellow; font-weight: normal; text-align: center;}
- table.admin th.password,th.perms,td.password,td.perms {background-color: #ffc0c0;}
- table.admin th.detail {text-align: center;}
- table.admin th.alias,td.alias { background-color: #F9E89B;}
- table.admin th.polyedu,td.polyedu { border-top: 1px solid black; border-bottom: 1px solid black;}
- table.admin th.alias {text-align: center;}
- .action input[type=submit] { height: 3ex; width: 80%; }
- -->
-</style>
-
-<script type="text/javascript">
-<!--
-function doAddUser() {
- document.forms.add.hashpass.value = MD5(document.forms.add.password.value);
- document.forms.add.password.value = "";
- document.forms.add.submit();
-}
-function doEditUser() {
- document.forms.edit.hashpass.value = MD5(document.forms.edit.password.value);
- document.forms.edit.password.value = "";
- document.forms.edit.submit();
-}
-// -->
-</script>
-{/literal}
-
-{* vim:set et sw=2 sts=2 sws=2: *}
* Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************
- $Id: utilisateurs.tpl,v 1.11 2004-09-02 09:47:07 x2000habouzit Exp $
+ $Id: utilisateurs.tpl,v 1.12 2004-09-02 17:43:14 x2000habouzit Exp $
***************************************************************************}
{dynamic}
+{foreach from=$errors item=e}
+<p class="erreur">{$e}</p>
+{/foreach}
+
{if $smarty.post.u_kill_conf}
-<div class="center">
- <form id="yes" method="post" action="{$smarty.server.PHP_SELF}">
- <input type="hidden" name="login" value="{$smarty.request.login}" />
- Confirmer la suppression de {$smarty.request.login}
+<form method="post" action="{$smarty.server.PHP_SELF}">
+ <div class="center">
+ <input type="hidden" name="user_id" value="{$smarty.request.user_id}" />
+ Confirmer la suppression de {$smarty.request.user_id}
<input type="submit" name="u_kill" value="continuer" />
- </form>
-</div>
-{/if}
-
-{/dynamic}
+ </div>
+</form>
+{else}
-<form id="add" method="post" action="{$smarty.server.PHP_SELF}">
- <table class="tinybicol" cellspacing="0" cellpadding="3">
+<form method="post" action="{$smarty.server.PHP_SELF}">
+ <table class="tinybicol" cellspacing="0" cellpadding="2">
<tr>
<th>
Administrer
</tr>
<tr>
<td class="center">
- <input type="text" name="login" size="40" maxlength="255" value="{$login|default:$smarty.request.login}" />
+ <input type="text" name="login" size="40" maxlength="255" value="" />
</td>
</tr>
<tr>
<td class="center">
- <input type="hidden" name="hashpass" value="" />
+ <input type="hidden" name="hashpass" value="" />
<input type="submit" name="select" value=" edit " />
<input type="submit" name="suid_button" value=" su " />
<input type="submit" name="logs_button" value=" logs " />
</table>
</form>
-{dynamic on="0`$smarty.request.select`"}
+{if $mr}
+
<p class="smaller">
Derniére connexion le <strong>{$lastlogin|date_format:"%d %B %Y, %T"}</strong>
-depuis <strong>{$mr.host}</strong>
+depuis <strong>{$host}</strong>
</p>
-<form id="edit" method="post" action="{$smarty.server.PHP_SELF}">
- <table cellspacing="0" cellpadding="0" class="admin">
- <tr>
- <th class="login">
- Login
- </th>
- <th class="password">
- Password
+
+{literal}
+<script type="text/javascript">
+//<![CDATA[
+function doEditUser() {
+ document.forms.auth.hashpass.value = MD5(document.forms.edit.password.value);
+ document.forms.auth.password.value = "";
+ document.forms.auth.submit();
+}
+
+function del_alias(alias) {
+ document.forms.alias.del_alias.value = alias;
+ document.forms.alias.submit();
+}
+
+function del_fwd(fwd) {
+ document.forms.fwds.del_fwd.value = fwd;
+ document.forms.fwds.submit();
+}
+// ]]>
+</script>
+{/literal}
+
+<form id="auth" method="post" action="{$smarty.server.PHP_SELF}">
+ <table cellspacing="0" cellpadding="2" class="tinybicol">
+ <tr>
+ <th>
+ UID et Matricule
</th>
- <th class="perms">
- Perms
+ <th>
+ {$mr.user_id} / {$mr.matricule}
+ <input type="hidden" name="user_id" value="{$mr.user_id}" />
</th>
</tr>
- <tr>
- <td class="login">
- <input type="hidden" name="hashpass" value="" />
- <input type="text" name="login" size="20" maxlength="50" value="{$mr.username}" />
+ <tr class="pair">
+ <td class="titre">
+ Mot de passe
</td>
- <td class="password">
+ <td>
<input type="text" name="newpass_clair" size="10" maxlength="10" value="********" />
<input type="hidden" name="passw" size="32" maxlength="32" value="{$mr.password}" />
- </td>
- <td class="perms">
- <select name="permsN">
- <option value="user" {if $mr.perms eq "user"}selected="selected"{/if}>user</option>
- <option value="admin" {if $mr.perms eq "admin"}selected="selected"{/if}>admin</option>
- </select>
+ <input type="hidden" name="hashpass" value="" />
</td>
</tr>
- <tr>
- <th>UID</th>
+ <tr class="pair">
+ <td class="titre">
+ Nom
+ </td>
<td>
- {$mr.user_id}
- <input type="hidden" name="olduid" size="6" maxlength="6" value="{$mr.user_id}" />
- <input type="hidden" name="oldlogin" size="100" maxlength="100" value="{$mr.username}" />
+ <input type="text" name="nomN" size="20" maxlength="255" value="{$mr.nom}" />
</td>
- <td class="action">
- <input type="submit" name="u_kill_conf" value="DELETE" />
+ </tr>
+ <tr class="pair">
+ <td class="titre">
+ Prénom
+ </td>
+ <td>
+ <input type="text" name="prenomN" size="20" maxlength="30" value="{$mr.prenom}" />
</td>
</tr>
- <tr>
- <th class="detail">
- Matricule
- </th>
- <td class="detail">
- {$mr.matricule}
+ <tr class="pair">
+ <td class="titre">
+ Droits
</td>
- <td class="action">
- <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
+ <td>
+ <select name="permsN">
+ <option value="user" {if $mr.perms eq "user"}selected="selected"{/if}>user</option>
+ <option value="admin" {if $mr.perms eq "admin"}selected="selected"{/if}>admin</option>
+ </select>
</td>
</tr>
- <tr>
- <th class="detail">
+ <tr class="pair">
+ <td class="titre">
Date de naissance
- </th>
- <td class="detail">
- <input type="text" name="naissanceN" size="10" maxlength="10" value="{$mr.naissance}" />
</td>
- <td class="action">
-
+ <td>
+ <input type="text" name="naissanceN" size="10" maxlength="10" value="{$mr.naissance}" />
</td>
</tr>
- <tr>
- <th class="detail">
+ <tr class="pair">
+ <td class="titre">
Promo
- </th>
- <td class="detail">
- <input type="text" name="promoN" size="4" maxlength="4" value="{$mr.promo}" />
</td>
- <td class="action">
-
+ <td>
+ <input type="text" name="promoN" size="4" maxlength="4" value="{$mr.promo}" />
</td>
</tr>
- <tr>
- <th class="detail">
- Nom
- </th>
- <td class="detail">
- <input type="text" name="nomN" size="20" maxlength="255" value="{$mr.nom}" />
+ <tr class="center">
+ <td>
+ <a href="javascript:x()" onclick="popWin('{"fiche.php?id=`$mr.user_id`"|url}')">[Voir fiche]</a>
</td>
- <td class="action">
- <a href="javascript:x()" onclick="popWin('{"x.php?x=`$mr.username`"|url}')">[Voir fiche]</a>
+ <td>
+ <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
</td>
</tr>
- <tr>
- <th class="detail">
- Prénom
- </th>
- <td class="detail">
- <input type="text" name="prenomN" size="20" maxlength="30" value="{$mr.prenom}" />
- </td>
- <td class="action">
+ <tr class="center">
+ <td>
<a href="admin_trombino.php?uid={$mr.user_id}">[Trombino]</a>
</td>
+ <td>
+ <input type="submit" name="u_kill_conf" value="DELETE" />
+ </td>
</tr>
+ </table>
+</form>
+
+<form id="alias" method="post" action="{$smarty.server.PHP_SELF}">
+ <table class="tinybicol" cellpadding="2" cellspacing="0">
<tr>
<th class="alias" colspan="2">
Alias e-mail
</th>
- <td class="action"> </td>
</tr>
{foreach from=$aliases item=a}
- <tr>
- <th class="detail">{if $a.for_life}garantie à vie*{/if}</th>
- <td class="detail">{if $a.for_life}<strong>{$a.alias}</strong>{else}{$a.alias}{/if}</td>
- <td class="action"> </td>
+ <tr class="{cycle values="impair,pair"}">
+ <td>{if $a.for_life}<strong>{$a.alias}</strong>{else}{$a.alias}{/if}</td>
+ {if $a.for_life}
+ <td>garanti à vie*</td>
+ {else}
+ <td class="action">
+ <a href="javascript:del_alias('{$a.alias}')">delete</a>
+ </td>
+ {/if}
</tr>
{/foreach}
+ <tr class="{cycle values="impair,pair"}">
+ <td class="detail">
+ <input type="text" name="email" size="29" maxlength="60" value="" />
+ </td>
+ <td class="action">
+ <input type="hidden" name="user_id" value="{$mr.user_id}" />
+ <input type="hidden" name="del_alias" value="" />
+ <input type="submit" name="add_alias" value="Ajouter" />
+ </td>
+ </tr>
+ </table>
+</form>
+
+<p>
+<strong>* à ne modifier qu'avec l'accord express de l'utilisateur !!!</strong>
+</p>
+
+<form id="fwds" method="post" action="{$smarty.server.PHP_SELF}">
+ <table class="bicol" cellpadding="2" cellspacing="0">
<tr>
- <th class="alias" colspan="2">
+ <th colspan="3">
Redirections
</th>
- <td class="action"> </td>
</tr>
{foreach item=mail from=$xorgmails}
- <tr>
- <th class="detail">
- e-mail forward {$mail.num} ({$mail.flags})
- </th>
- <td class="detail">
- <input type="text" name="fwd" size="29" maxlength="255" value="{$mail.email}" />
+ <tr>
+ <td class="titre">
+ n°{$mail.num} ({$mail.flags})
</td>
- <td class="action">
- <input type="hidden" name="user_id" value="{$mr.user_id}" />
- <input type="hidden" name="login" value="{$mr.username}" />
- <input type="hidden" name="email" value="{$mail.email}" />
- <input type="hidden" name="select" value="edit" />
- <input type="submit" name="remove_email" value="Supprimer" />
+ <td>
+ {$mail.email}
+ </td>
+ <td class="action">
+ <a href="javascript:del_fwd('{$mail.email}')">delete</a>
</td>
</tr>
{/foreach}
- <tr>
- <th class="detail">
+ <tr>
+ <td class="titre">
Ajouter un email
- </th>
- <td class="detail">
+ </td>
+ <td>
<input type="text" name="email" size="29" maxlength="60" value="" />
</td>
<td class="action">
<input type="hidden" name="user_id" value="{$mr.user_id}" />
- <input type="hidden" name="login" value="{$mr.username}" />
- <input type="hidden" name="select" value="edit" />
+ <input type="hidden" name="del_fwd" value="" />
<input type="hidden" name="num" value="{$next_num}" />
- <input type="submit" name="add_email" value="Ajouter" />
+ <input type="submit" name="add_fwd" value="Ajouter" />
</td>
</tr>
</table>
</form>
-<p>
-<strong>* à ne modifier qu'avec l'accord express de l'utilisateur !!!</strong>
-</p>
+
<p class="erreur">
{foreach from=$email_panne item=e}
{$p}<br />
{/foreach}
</p>
+{/if}
+{/if}
+
{/dynamic}
{* vim:set et sw=2 sts=2 sws=2: *}