Removes dead people from user count statistics.
[platal.git] / templates / admin / utilisateurs.tpl
1 {**************************************************************************}
2 {*                                                                        *}
3 {*  Copyright (C) 2003-2008 Polytechnique.org                             *}
4 {*  http://opensource.polytechnique.org/                                  *}
5 {*                                                                        *}
6 {*  This program is free software; you can redistribute it and/or modify  *}
7 {*  it under the terms of the GNU General Public License as published by  *}
8 {*  the Free Software Foundation; either version 2 of the License, or     *}
9 {*  (at your option) any later version.                                   *}
10 {*                                                                        *}
11 {*  This program is distributed in the hope that it will be useful,       *}
12 {*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *}
13 {*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *}
14 {*  GNU General Public License for more details.                          *}
15 {*                                                                        *}
16 {*  You should have received a copy of the GNU General Public License     *}
17 {*  along with this program; if not, write to the Free Software           *}
18 {*  Foundation, Inc.,                                                     *}
19 {*  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA               *}
20 {*                                                                        *}
21 {**************************************************************************}
22
23
24 <h1>
25   Gestion des utilisateurs
26 </h1>
27
28
29 {if $smarty.post.u_kill_conf}
30 <form method="post" action="admin/user">
31   <div class="center">
32     <input type="hidden" name="user_id" value="{$smarty.request.user_id}" />
33     Confirmer la suppression de {$smarty.request.user_id}&nbsp;&nbsp;
34     <input type="submit" name="u_kill" value="continuer" />
35   </div>
36 </form>
37 {else}
38
39 <form method="post" action="admin/user">
40   <table class="tinybicol" cellspacing="0" cellpadding="2">
41     <tr>
42       <th>
43         Administrer
44       </th>
45     </tr>
46     {if !$smarty.request.login && !$mr.forlife}
47     <tr class="pair">
48       <td class="center">
49         Il est possible d'entrer ici n'importe quelle adresse mail&nbsp;: redirection, melix, ou alias.
50       </td>
51     </tr>
52     {/if}
53     <tr>
54       <td class="center">
55         <input type="text" name="login" size="40" maxlength="255" value="{$smarty.request.login|default:$mr.forlife}" />
56       </td>
57     </tr>
58     <tr>
59       <td class="center">
60         <input type="hidden" name="hashpass" value="" />
61         <input type="submit" name="select" value=" edit " /> &nbsp;&nbsp;
62         <input type="submit" name="suid_button" value=" su " />  &nbsp;&nbsp;
63         <input type="submit" name="ax_button" value=" AX " /> &nbsp;&nbsp;
64         <input type="submit" name="logs_button" value=" logs " />
65       </td>
66     </tr>
67   </table>
68 </form>
69
70 {if $mr}
71
72 <p class="smaller">
73 Dernière connexion le <strong>{$lastlogin|date_format:"%d %B %Y, %T"}</strong>
74 depuis <strong>{$host}</strong>
75 </p>
76
77 {literal}
78 <script type="text/javascript">
79 //<![CDATA[
80 function doEditUser() {
81   document.forms.auth.hashpass.value = hash_encrypt(document.forms.edit.password.value);
82   document.forms.auth.password.value = "";
83   document.forms.auth.submit();
84 }
85
86 function del_alias(alias) {
87   document.forms.alias.del_alias.value = alias;
88   document.forms.alias.submit();
89 }
90
91 function del_fwd(fwd) {
92   document.forms.fwds.del_fwd.value = fwd;
93   document.forms.fwds.submit();
94 }
95 function act_fwd(fwd, activate) {
96   if (activate)
97     document.forms.fwds.activate_fwd.value = fwd;
98   else
99     document.forms.fwds.deactivate_fwd.value = fwd;
100   document.forms.fwds.submit();
101 }
102 function clean_fwd(fwd) {
103   document.forms.fwds.clean_fwd.value = fwd;
104   document.forms.fwds.submit();
105 }
106 function ban_write()
107 {
108     document.forms.bans.write_perm.value = "!xorg.*";
109 }
110 function ban_read()
111 {
112     document.forms.bans.read_perm.value = "!xorg.*";
113 }
114
115 // ]]>
116 </script>
117 {/literal}
118
119 <form id="auth" method="post" action="admin/user">
120   <table cellspacing="0" cellpadding="2" class="tinybicol">
121     <tr>
122       <th colspan="2">
123         <div style="float: right; text-align: right">
124           Matricule = {$mr.matricule}<br />
125           Matricule AX = {$mr.matricule_ax}
126         </div>
127         <div style="float: left; text-align: left">
128           UID = {$mr.user_id}<br />
129           Inscription = {$mr.date_ins|date_format}
130         </div>
131         <input type="hidden" name="user_id" value="{$mr.user_id}" />
132       </th>
133     </tr>
134     <tr class="pair">
135       <td class="titre">
136         Mot de passe
137       </td>
138       <td>
139         <input type="text" name="newpass_clair" size="10" maxlength="10" value="********" />
140         <input type="hidden" name="passw" size="32" maxlength="32" value="{$mr.password}" />
141         <input type="hidden" name="hashpass" value="" />
142       </td>
143     </tr>
144     <tr class="pair">
145       <td class="titre">
146         Nom
147       </td>
148       <td>
149         <input type="text" name="nomN" size="20" maxlength="255" value="{$mr.nom}" />
150       </td>
151     </tr>
152     <tr class="pair">
153       <td class="titre">
154         Nom d'usage
155       </td>
156       <td>
157         <input type="text" name="nomusageN" size="20" maxlength="255" value="{$mr.nom_usage}" />
158       </td>
159     </tr>
160     <tr class="pair">
161       <td class="titre">
162         Prénom
163       </td>
164       <td>
165         <input type="text" name="prenomN" size="20" maxlength="30" value="{$mr.prenom}" />
166       </td>
167     </tr>
168     <tr class="pair">
169       <td class="titre">
170         Sexe
171       </td>
172       <td>
173         femme <input type="radio" name="sexeN" {if $mr.sexe}checked="checked"{/if} value='1'/>
174         <input type="radio" name="sexeN" {if !$mr.sexe}checked="checked"{/if} value='0'/> homme
175       </td>
176     </tr>
177     <tr class="pair">
178       <td class="titre">
179         Droits
180       </td>
181       <td>
182         <select name="permsN">
183           <option value="user" {if $mr.perms eq "user"}selected="selected"{/if}>user</option>
184           <option value="admin" {if $mr.perms eq "admin"}selected="selected"{/if}>admin</option>
185           <option value="pending" {if $mr.perms eq "pending"}selected="selected"{/if}>pending</option>
186           <option value="disabled" {if $mr.perms eq "disabled"}selected="selected"{/if}>disabled</option>
187         </select>
188       </td>
189     </tr>
190     {if $mr.perms neq 'pending'}
191     <tr class="pair">
192       <td class="titre">
193         {if $mr.naiss_err}<span class="erreur">{/if}
194         Date de naissance
195         {if $mr.naiss_err}</span>{/if}
196       </td>
197       <td>
198         <input type="text" name="naissanceN" size="12" maxlength="10" value="{$mr.naissance}" />
199         {if $mr.naissance_ini neq '0000-00-00' && $mr.naissance neq $mr.naissance_ini}
200           <span class="erreur smaller">({icon name=error}Date de naissance connue&nbsp;: {$mr.naissance_ini})</span>
201         {elseif $mr.naiss_err}
202           <span class="erreur smaller">({icon name=error}Date de naissance incohérente)</span>
203         {/if}
204       </td>
205     </tr>
206     {/if}
207     <tr class="pair">
208       <td class="titre">
209         Date de décès
210       </td>
211       <td>
212         <input type="text" name="decesN" size="12" maxlength="10" value="{$mr.deces}" />
213       </td>
214     </tr>
215     <tr class="pair">
216       <td class="titre">
217         Promo
218       </td>
219       <td>
220         <input type="text" name="promoN" size="4" maxlength="4" value="{$mr.promo}" />
221       </td>
222     </tr>
223     <tr class="impair">
224       <td class="titre">
225         Surveillance
226       </td>
227       <td>
228         <input type="checkbox" name="watchN" {if $mr.watch}checked="checked"{/if} />
229         Surveiller l'activité de ce compte<br />
230         <span class="smaller">Cette option permet d'avoir des logs complets de l'activité
231         du compte via le logger, et d'être alerté lors des connexions de l'utilisateur</span>
232       </td>
233     </tr>
234     <tr class="impair">
235       <td class="titre">
236         Commentaire
237       </td>
238       <td>
239         <input type="text" name="commentN" size="40" maxlength="64" value="{$mr.comment}" />
240       </td>
241     </tr>
242     {if $mr.perms eq 'pending'}
243     <tr class="center">
244       <td colspan="2">
245         <input type="hidden" name="naissanceN" value="{$mr.naissance}" />
246         <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
247       </td>
248     </tr>
249     {else}
250     <tr class="center">
251       <td>
252         <a href="profile/{$mr.forlife}" class="popup2">[Voir fiche]</a>
253       </td>
254       <td>
255         <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
256       </td>
257     </tr>
258     <tr class="center">
259       <td>
260         <a href="admin/trombino/{$mr.user_id}">[Trombino]</a>
261       </td>
262       <td>
263         <input type="submit" name="u_kill_conf" value="Désinscrire" />
264       </td>
265     </tr>
266     {/if}
267   </table>
268 </form>
269 {if $mr.perms neq 'pending'}
270 <p>
271 Ne pas utiliser [Désinscrire] si le but est d'exclure la personne.
272 Pour ceci changer ses permissions en 'disabled'.
273 </p>
274 <form id="alias" method="post" action="admin/user">
275   <table class="tinybicol" cellpadding="2" cellspacing="0">
276     <tr>
277       <th class="alias" colspan="3">
278         Alias e-mail
279       </th>
280     </tr>
281     {iterate from=$aliases item=a}
282     <tr class="{cycle values="impair,pair"}">
283       <td>
284         <input type="radio" name='best' {if $a.best}checked="checked"{/if} value='{$a.alias}' onclick="this.form.submit()" />
285       </td>
286       <td>
287         {if $a.for_life}<strong>{$a.alias}</strong>{else}{$a.alias}{/if}
288         {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format})</span>{/if}
289       </td>
290       {if $a.for_life}
291       <td>garanti à vie*</td>
292       {else}
293       <td class="action">
294         <a href="javascript:del_alias('{$a.alias}')">delete</a>
295       </td>
296       {/if}
297     </tr>
298     {/iterate}
299     {iterate from=$virtuals item=virtual}
300     <tr class="{cycle values="impair,pair"}">
301       <td></td>
302       <td>{$virtual.alias}</td>
303       <td></td>
304     </tr>
305     {/iterate}
306     <tr class="{cycle values="impair,pair"}">
307       <td colspan="2" class="detail">
308         <input type="text" name="email" size="29" maxlength="60" value="" />
309       </td>
310       <td class="action">
311         <input type="hidden" name="user_id" value="{$mr.user_id}" />
312         <input type="hidden" name="del_alias" value="" />
313         <input type="submit" name="add_alias" value="Ajouter" />
314       </td>
315     </tr>
316   </table>
317 </form>
318
319 <form id="bans" method="post" action="admin/user">
320   <table cellspacing="0" cellpadding="2" class="tinybicol">
321     <tr>
322       <th colspan="4">
323         Permissions sur les forums
324       </th>
325     </tr>
326     <tr class="impair">
327       <td class="titre">
328         Poster :
329       </td>
330       <td>
331         <input type="text" name="write_perm" size="40" maxlength="255" value="{$bans.write_perm}" />
332       </td>
333       <td class="action">
334         <a href="javascript:ban_write()">Bannir</a>
335       </td>
336     </tr>
337     <tr class="pair">
338       <td class="titre">
339         Lire :
340       </td>
341       <td>
342         <input type="text" name="read_perm" size="40" maxlength="255" value="{$bans.read_perm}" />
343       </td>
344       <td class="action">
345         <a href="javascript:ban_read()">Bannir</a>
346       </td>
347     </tr>
348     <tr class="impair">
349       <td class="titre">
350         Commentaire
351       </td>
352       <td>
353         <input type="text" name="comment" size="40" maxlength="255" value="{$bans.comment}" />
354       </td>
355       <td/>
356     </tr>
357     <tr class="center">
358       <td colspan="3">
359         <input type="hidden" name="user_id" value="{$mr.user_id}" />
360         <input type="submit" name="b_edit" value="Modifier" />
361       </td>
362     </tr>
363   </table>
364 </form>
365
366 <p>
367 <strong>* à ne modifier qu'avec l'accord express de l'utilisateur !!!</strong>
368 </p>
369
370 {javascript name="ajax"}
371 {test_email forlife=$mr.forlife}
372
373 <form id="fwds" method="post" action="admin/user#fwds">
374   <table class="bicol" cellpadding="2" cellspacing="0">
375     <tr>
376       <th colspan="4">
377         Redirections
378       </th>
379     </tr>
380     {assign var=actives value=false} 
381     {assign var=disabled value=false} 
382     {foreach item=mail from=$emails}
383     {cycle assign=class values="impair,pair"}
384     <tr class="{$class}">
385       {if $mail->active}
386         {assign var=actives value=true}
387       {elseif $mail->disabled}
388         {assign var=disabled value=true}
389       {/if}
390       <td class="titre">
391         {if $mail->active}active{elseif $mail->disabled}suspendue{/if}
392       </td>
393       <td>
394         <span class="smaller">
395           {if !$mail->disabled}
396           <a href="javascript:act_fwd('{$mail->email}',{if $mail->active}false{else}true{/if})">
397             {if $mail->active}des{elseif $mail->broken}ré{/if}activer
398           </a>
399           {/if}
400         </span>
401       </td>
402       <td>
403         {if $mail->broken}<span style="color: #f00">{/if}
404         {$mail->email}
405         {if $mail->broken}<em> (en panne)</em></span>{/if}
406       </td>
407       <td class="action">
408         <a href="javascript:del_fwd('{$mail->email}')">delete</a>
409       </td>
410     </tr>
411     {if $mail->panne && $mail->panne neq "0000-00-00"}
412     <tr class="{$class}">
413       <td colspan="3" class="smaller" style="color: #f00">
414         {icon name=error title="Panne"}
415         Panne de {$mail->email} le {$mail->panne|date_format}
416         {if $mail->panne neq $mail->last}confirmée le {$mail->last|date_format}{/if}
417       </td>
418       <td class="action">
419         <a href="javascript:clean_fwd('{$mail->email}')">effacer les pannes</a>
420       </td>
421     </tr>
422     {/if}
423     {/foreach}
424     {cycle assign=class values="impair,pair"}
425     <tr class="{$class}">
426       <td class="titre" colspan="2">
427         Ajouter un email
428       </td>
429       <td>
430         <input type="text" name="email" size="29" maxlength="60" value="" />
431       </td>
432       <td class="action">
433         <input type="hidden" name="user_id" value="{$mr.user_id}" />
434         <input type="hidden" name="del_fwd" value="" />
435         <input type="hidden" name="clean_fwd" value="" />
436         <input type="hidden" name="activate_fwd" value="" />
437         <input type="hidden" name="deactivate_fwd" value="" />
438         <input type="submit" name="add_fwd" value="Ajouter" />
439       </td>
440     </tr>
441     <tr class="{$class}">
442       <td colspan="4" class="center">
443         {if $actives}
444         <input type="submit" name="disable_fwd" value="Désactiver la redirection mail" />
445         {/if}
446         {if $disabled}
447         <input type="submit" name="enable_fwd" value="Réactiver la redirection mail" />
448         {/if}
449       </td>
450     </tr>
451   </table>
452 </form>
453
454 {/if}
455 {/if}
456 {/if}
457
458 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}