1 {**************************************************************************}
3 {* Copyright (C) 2003-2010 Polytechnique.org *}
4 {* http://opensource.polytechnique.org/ *}
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. *}
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. *}
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 *}
21 {**************************************************************************}
24 {if $smarty.post.u_kill_conf}
25 <form method="post" action="admin/user">
28 <input type="hidden" name="uid" value="{$smarty.request.uid}" />
29 Confirmer la suppression de l'utilisateur {$smarty.request.uid} ({$user->fullName()})
30 <input type="submit" name="u_kill" value="continuer" />
36 <script type="text/javascript">
38 function doEditUser() {
39 document.forms.auth.hashpass.value = hash_encrypt(document.forms.edit.password.value);
40 document.forms.auth.password.value = "";
41 document.forms.auth.submit();
44 function del_alias(alias) {
45 document.forms.alias.del_alias.value = alias;
46 document.forms.alias.submit();
49 function del_profile(pid) {
50 document.forms.profiles.del_profile.value = pid;
51 document.forms.profiles.submit();
54 function del_fwd(fwd) {
55 document.forms.fwds.del_fwd.value = fwd;
56 document.forms.fwds.submit();
59 function del_openid(id) {
60 document.forms.openid.del_openid.value = id;
61 document.forms.openid.submit();
64 function act_fwd(fwd, activate) {
66 document.forms.fwds.activate_fwd.value = fwd;
68 document.forms.fwds.deactivate_fwd.value = fwd;
69 document.forms.fwds.submit();
71 function clean_fwd(fwd) {
72 document.forms.fwds.clean_fwd.value = fwd;
73 document.forms.fwds.submit();
77 document.forms.bans.write_perm.value = "!xorg.*";
81 document.forms.bans.read_perm.value = "!xorg.*";
84 $(document).ready(function() {
85 $('#tabs > ul').tabs();
86 $('.ui-tabs-nav li').width('24%')
87 .click(function() { $(this).children('a').click() });
95 <ul style="margin-top: 0">
96 <li><a href="{$platal->pl_self()}#account"><span >Compte de {$user->login()}</span></a></li>
97 <li><a href="{$platal->pl_self()}#emails"><span>Emails</span></a></li>
98 <li><a href="{$platal->pl_self()}#authext"><span>OpenID</span></a></li>
99 <li><a href="{$platal->pl_self()}#forums"><span>Forums</span></a></li>
104 <form id="auth" method="post" action="admin/user/{$user->login()}#account">
106 <h1>Informations sur le compte</h1>
108 Dernière connexion le <strong>{$lastlogin|date_format:"%d %B %Y, %T"}</strong>
109 depuis <strong>{$host}</strong>.
112 <table class="bicol">
115 <div style="float: right; text-align: right">
116 {if $user->state eq 'pending'}
119 Inscrit le {$user->registration_date|date_format}
122 <div style="float: left; text-align: left">
123 {icon name=user_gray} {$user->hruid} (uid {$user->id()})
125 <input type="hidden" name="uid" value="{$user->id()}" />
129 <td class="titre">Nom complet</td>
130 <td><input type="text" name="full_name" maxlength="255" value="{$user->fullName()}" /></td>
133 <td class="titre">Nom affiché</td>
134 <td><input type="text" name="display_name" maxlength="255" value="{$user->displayName()}" /></td>
137 <td class="titre">Sexe</td>
139 <label>femme <input type="radio" name="sex" value="female" {if $user->isFemale()}checked="checked"{/if} /></label>
140 <label><input type="radio" name="sex" value="male" {if !$user->isFemale()}checked="checked"{/if} /> homme</label>
144 <td class="titre">Mot de passe</td>
146 <div style="float: left">
147 <input type="text" name="newpass_clair" size="10" maxlength="256" value="********" />
148 <input type="hidden" name="hashpass" value="" />
150 <div style="float: left; margin-top: 5px;">
151 {checkpasswd prompt="newpass_clair" submit="dummy_none"}
156 <td class="titre">Mot de passe SMTP</td>
158 <div style="float: left">
159 <input type="password" name="weak_password" size="10" maxlength="256" value="" />
160 {if $user->weak_access}
161 <input type="submit" name="disable_weak_access" value="Supprimer" />
167 <td class="titre">Accès RSS</td>
170 <input type="checkbox" name="token_access" {if $user->token_access}checked="checked"{/if} value="1" />
176 <td class="titre">Skin</td>
179 <option value="" {if !$user->skin}selected="selected"{/if}>Aucune (défaut du système)</option>
180 {iterate from=$skins item=skin}
181 <option value="{$skin.id}" {if $user->skin eq $skin.id}selected="selected"{/if}>{$skin.name}</option>
187 <td class="titre">Etat du compte</td>
189 <select name="state">
190 <option value="pending" {if $user->state eq 'pending'}selected="selected"{/if}>pending (Non-inscrit)</option>
191 <option value="active" {if $user->state eq 'active'}selected="selected"{/if}>active (Inscrit, peut se logguer)</option>
192 <option value="disabled" {if $user->state eq 'disabled'}selected="selected"{/if}>disabled (Inscrit, accès interdit)</option>
195 <input type="checkbox" name="is_admin" value="1" {if $user->is_admin}checked="checked"{/if} />
196 administrateur du site
201 <td class="titre">Type de compte</td>
204 {iterate from=$account_types item=type}
205 <option value="{$type.type}" {if $user->type eq $type.type}selected="selected"{/if}>{$type.type} ({$type.perms})</option>
208 <a href="admin/account/types">{icon name=wrench title=Gérer} gérer</a>
216 <label><input type="checkbox" name="watch" {if $user->watch}checked="checked"{/if} value="1" />
217 Surveiller l'activité de ce compte</label><br />
218 <span class="smaller">Cette option permet d'avoir des logs complets de l'activité
219 du compte via le logger, et d'être alerté lors des connexions de l'utilisateur.</span>
227 <input type="text" name="comment" size="40" maxlength="64" value="{$user->comment}" />
231 <td colspan="2" class="center">
232 {* TODO: on 'update_account', update the hashpass field before sending the form. *}
233 <input type="submit" name="update_account" value="Mettre à jour" />
234 <input type="submit" name="su_account" value="Prendre l'identité" />
235 <input type="submit" name="log_account" value="Consulter les logs" />
241 <h1>Fiches associées au compte</h1>
243 <form id="profiles" method="post" action="admin/user/{$user->login()}#account">
245 <table class="bicol">
248 <th>Identifiant de la fiche</th>
251 {iterate from=$profiles item=profile}
253 <td><input type="radio" name="owner" value="{$profile.pid}" {if $profile.owner}checked="checked"{/if}
254 onclick="this.form.submit()" /></td>
255 <td>{$profile.hrpid} (pid {$profile.pid})</td>
257 <a href="profile/edit/{$profile.hrpid}">{icon name=user_edit}</a>
258 <a href="profile/{$profile.hrpid}" class="popup2">{icon name=user_suit}</a>
259 <a href="javascript:del_profile({$profile.pid})">{icon name=cross}</a>
265 <input type="radio" name="owner" value="0" onclick="this.form.submit()" />
272 <input type="hidden" name="del_profile" value="" />
273 <input type="text" maxlength="64" name="new_profile" />
274 <input type="submit" name="add_profile" value="Ajouter" />
283 <h1>Gestion de l'adresse X.org</h1>
285 <form id="alias" method="post" action="admin/user/{$user->login()}#emails">
287 <table class="bicol" cellpadding="2" cellspacing="0">
289 <th class="alias" colspan="3">
290 Alias email de l'utilisateur
293 {iterate from=$aliases item=a}
294 <tr class="{cycle values="impair,pair"}">
296 <input type="radio" name='best' {if $a.best}checked="checked"{/if} value='{$a.alias}' onclick="this.form.submit()" />
299 {if $a.for_life}<strong>{$a.alias}</strong>{else}{$a.alias}{/if}
300 {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format})</span>{/if}
303 <td>garanti à vie*</td>
306 <a href="javascript:del_alias('{$a.alias}')">{icon name=cross}</a>
311 <tr class="{cycle values="impair,pair"}">
312 <td colspan="2" class="detail">
313 <input type="text" name="email" size="29" maxlength="60" value="" />
316 <input type="hidden" name="uid" value="{$user->id()}" />
317 <input type="hidden" name="del_alias" value="" />
318 <input type="submit" name="add_alias" value="Ajouter" />
321 <tr class="{cycle values="impair,pair"}">
322 <td colspan="3" class="desc">
323 <strong>* à ne modifier qu'avec l'accord express de l'utilisateur !!!</strong>
331 <form id="fwds" method="post" action="admin/user/{$user->login()}#emails">
333 <table class="bicol" cellpadding="2" cellspacing="0">
339 {assign var=actives value=false}
340 {assign var=disabled value=false}
341 {foreach item=mail from=$emails}
342 {cycle assign=class values="impair,pair"}
343 <tr class="{$class}">
344 {if $mail->active && $mail->has_disable()}
345 {assign var=actives value=true}
346 {elseif $mail->disabled && $mail->has_disable()}
347 {assign var=disabled value=true}
350 {if $mail->active}active{elseif $mail->disabled}suspendue{/if}
353 <span class="smaller">
354 {if !$mail->disabled}
355 <a href="javascript:act_fwd('{$mail->email}',{if $mail->active}false{else}true{/if})">
356 {if $mail->active}des{elseif $mail->broken}ré{/if}activer
362 {if $mail->broken}<span style="color: #f00">{/if}
363 {if $mail->email == 'googleapps'}<a href="admin/googleapps/user/{$user->login()}">{/if}
364 {$mail->display_email}
365 {if $mail->email == 'googleapps'}</a>{/if}
366 {if $mail->broken}<em> (en panne)</em></span>{/if}
369 {if $mail->is_removable()}
370 <a href="javascript:del_fwd('{$mail->email}')">{icon name=cross}</a>
374 {if $mail->panne && $mail->panne neq "0000-00-00"}
375 <tr class="{$class}">
376 <td colspan="3" class="smaller" style="color: #f00">
377 {icon name=error title="Panne"}
378 Panne de {$mail->display_email} le {$mail->panne|date_format}
379 {if $mail->panne neq $mail->last}confirmée le {$mail->last|date_format}{/if}
382 <a href="javascript:clean_fwd('{$mail->email}')">effacer les pannes</a>
387 {cycle assign=class values="impair,pair"}
388 <tr class="{$class}">
389 <td class="titre" colspan="2">
393 <input type="text" name="email" size="29" maxlength="60" value="" />
396 <input type="hidden" name="uid" value="{$user->id()}" />
397 <input type="hidden" name="del_fwd" value="" />
398 <input type="hidden" name="clean_fwd" value="" />
399 <input type="hidden" name="activate_fwd" value="" />
400 <input type="hidden" name="deactivate_fwd" value="" />
401 <input type="submit" name="add_fwd" value="Ajouter" />
404 <tr class="{$class}">
405 <td colspan="4" class="center">
407 <input type="submit" name="disable_fwd" value="Désactiver la redirection des emails" />
410 <input type="submit" name="enable_fwd" value="Réactiver la redirection des emails" />
417 {javascript name="ajax"}
418 {test_email hruid=$user->login()}
420 <h1>Autres adresses de l'utilisateur</h1>
422 <table class="bicol">
424 <th>Virtual aliases auquel l'utilisateur appartient</th>
426 {foreach from=$virtuals item=virtual}
427 <tr class="{cycle values="impair,pair"}">
435 <h1>Gestion des autorisations d'authentification externe</h1>
437 <form id="openid" method="post" action="admin/user/{$user->login()}#authext">
439 <table class="bicol">
441 <th colspan="2">Sites de confiance</th>
443 {iterate from=$openid item=site}
444 <tr class="{cycle values="pair,impair"}">
445 <td><a href="{$site.url}">{$site.url}</a></td>
446 <td><a href="javascript:del_openid({$site.id})">{icon name=cross}</a></td>
450 <div><input type="hidden" name="del_openid"/></div>
455 <h1>Gestion de l'accès au forums</h1>
457 <form id="bans" method="post" action="admin/user/{$user->login()}#forums">
459 <table class="bicol">
462 Permissions sur les forums
470 <input type="text" name="write_perm" size="32" maxlength="255" value="{$bans.write_perm}" />
473 <a href="javascript:ban_write()">Bannir</a>
481 <input type="text" name="read_perm" size="32" maxlength="255" value="{$bans.read_perm}" />
484 <a href="javascript:ban_read()">Bannir</a>
492 <input type="text" name="comment" size="40" maxlength="255" value="{$bans.comment}" />
497 <input type="hidden" name="uid" value="{$user->id()}" />
498 <input type="submit" name="b_edit" value="Modifier" />
508 <script type="text/javascript">
510 function add_user_to_url(f) {
511 f.action += '/' + f.login.value;
516 <form method="post" action="admin/user" onsubmit="add_user_to_url(this); return true">
518 <table class="tinybicol" cellspacing="0" cellpadding="2">
526 Il est possible d'entrer ici n'importe quelle adresse mail : redirection, melix, ou alias.
531 <input type="text" name="login" size="40" maxlength="255" value="{$smarty.request.login|default:$user->hruid}" />
536 <input type="submit" name="select" value=" edit " />
537 <input type="submit" name="su_account" value=" su " />
538 <input type="submit" name="log_account" value=" logs " />
545 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}