75 lines
4.3 KiB
PHP
75 lines
4.3 KiB
PHP
<?php $restants = codes_secours_restants($compte); ?>
|
|
<div class="barre-titre"><h1><?= e(t('Mon compte')) ?></h1></div>
|
|
|
|
<div class="deux-egales">
|
|
<section class="carte">
|
|
<h2><?= e(t('Identité')) ?></h2>
|
|
<dl class="grille serre">
|
|
<dt><?= e(t('Nom')) ?></dt><dd><?= e($moi['nom_affiche']) ?></dd>
|
|
<dt><?= e(t('Identifiant')) ?></dt><dd><?= e($moi['identifiant']) ?></dd>
|
|
<dt><?= e(t('Rôle')) ?></dt><dd><?= e($moi['role'] === 'admin' ? t('Gestionnaire des comptes') : t('Utilisateur')) ?></dd>
|
|
</dl>
|
|
<p class="aide"><?php if ($moi['role'] === 'admin'): ?><?= e(t('Votre nom et votre identifiant se changent dans Gestion, Comptes.')) ?><?php else: ?><?= e(t('Pour changer de nom ou d\'identifiant, adressez-vous au gestionnaire de Vivier.')) ?><?php endif; ?></p>
|
|
</section>
|
|
|
|
<section class="carte" id="double-authentification">
|
|
<h2><?= e(t('Double authentification')) ?></h2>
|
|
<dl class="grille serre">
|
|
<dt><?= e(t('État')) ?></dt><dd><?= e(t('Activée le %s', date_fr($compte['totp_active_le']))) ?></dd>
|
|
<dt><?= e(t('Codes de secours')) ?></dt><dd class="<?= $restants <= 3 ? 'retard' : '' ?>"><?= e(tn($restants, '%d restant', '%d restants')) ?></dd>
|
|
</dl>
|
|
<details>
|
|
<summary><?= e(t('Générer de nouveaux codes de secours')) ?></summary>
|
|
<p class="aide"><?= e(t('Les dix nouveaux codes remplacent les anciens, qui ne marcheront plus.')) ?></p>
|
|
<form method="post" action="<?= e(url('compte')) ?>" class="pile">
|
|
<?= champ_csrf() ?>
|
|
<input type="hidden" name="action" value="codes">
|
|
<label><?= e(t('Votre mot de passe')) ?> <input type="password" name="mot_de_passe" required autocomplete="current-password"></label>
|
|
<div class="actions gauche"><button type="submit" class="secondaire"><?= e(t('Générer les codes')) ?></button></div>
|
|
</form>
|
|
</details>
|
|
<p><a href="<?= e(url('double_authentification')) ?>"><?= e(t('Configurer une autre application (nouveau téléphone)')) ?></a></p>
|
|
</section>
|
|
</div>
|
|
|
|
<div class="deux-egales">
|
|
<section class="carte">
|
|
<h2><?= e(t('Changer de mot de passe')) ?></h2>
|
|
<form method="post" action="<?= e(url('compte')) ?>" class="pile">
|
|
<?= champ_csrf() ?>
|
|
<input type="hidden" name="action" value="mot_de_passe">
|
|
<label><?= e(t('Mot de passe actuel')) ?>
|
|
<input type="password" name="actuel" required autocomplete="current-password">
|
|
</label>
|
|
<label><?= e(t('Nouveau mot de passe, %d caractères au moins', LONGUEUR_MOT_DE_PASSE)) ?>
|
|
<input type="password" name="nouveau" required minlength="<?= LONGUEUR_MOT_DE_PASSE ?>" maxlength="<?= LONGUEUR_MAX_MOT_DE_PASSE ?>" autocomplete="new-password">
|
|
</label>
|
|
<label><?= e(t('Confirmation')) ?>
|
|
<input type="password" name="confirmation" required minlength="<?= LONGUEUR_MOT_DE_PASSE ?>" maxlength="<?= LONGUEUR_MAX_MOT_DE_PASSE ?>" autocomplete="new-password">
|
|
</label>
|
|
<p class="aide"><?= e(t('Vivier refuse les mots de passe connus dans des fuites de données. Vos autres sessions se fermeront.')) ?></p>
|
|
<div class="actions gauche"><button type="submit"><?= e(t('Changer le mot de passe')) ?></button></div>
|
|
</form>
|
|
</section>
|
|
|
|
<section class="carte" id="sessions">
|
|
<h2><?= e(t('Sessions et connexions')) ?></h2>
|
|
<p class="aide"><?= e(t('Une session se ferme après 2 heures sans activité, et au plus tard 12 heures après la connexion.')) ?></p>
|
|
<form method="post" action="<?= e(url('compte')) ?>" class="bloc-action">
|
|
<?= champ_csrf() ?>
|
|
<input type="hidden" name="action" value="sessions">
|
|
<button type="submit" class="secondaire"><?= e(t('Déconnecter mes autres sessions')) ?></button>
|
|
</form>
|
|
<p class="aide"><?= e(t('Utile si vous êtes resté connecté sur un autre ordinateur ou un téléphone perdu.')) ?></p>
|
|
<?php if ($derniere): ?>
|
|
<h3 class="intertitre"><?= e(t('Vos dernières connexions')) ?></h3>
|
|
<ul class="simple connexions-courtes">
|
|
<?php foreach ($derniere as $l): ?>
|
|
<li><?= e(date_fr($l['moment'], true)) ?> <small><?= e(navigateur_lisible($l['navigateur'])) ?> · <?= e($l['ip']) ?></small></li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
<p class="aide"><?= e(t('Une connexion que vous ne reconnaissez pas ? Changez votre mot de passe et prévenez le gestionnaire de Vivier.')) ?></p>
|
|
<?php endif; ?>
|
|
</section>
|
|
</div>
|