NxTIC/view/settings.php

159 lines
5.1 KiB
PHP
Executable File

<?php define('__ROOT__', dirname(dirname(__FILE__)) );
require_once __ROOT__.'/manager/autoloader.php';
use \manager\Repo;
use \manager\ModuleRequest;
use \manager\ManagerError;
use \manager\Database;
debug();
/* (1) Gestion des droits */
if( permission('admin') ){
/* [1] Gestion des tokens
=========================================================*/
// permission: admin
//=======================================================//
/* (2) On recupere la liste des tokens */
$req_tokens = new Repo('token/getAll');
$tokens = $req_tokens->answer();
?><section data-sublink='tokens'>
<h6 class='center'>Gestion des accès distants</h6><br>
<!-- [1] Panel d'ajout/suppression de token -->
<section data-panel-list>
<!-- Header -->
<div data-header>
<span>Gestion des accès distants</span>
<button id='add-token'>Ajouter un accès</button>
</div>
<!-- Description des tokens actifs -->
<div data-description>Liste des accès distants actifs. Ils seront automatiquement désactivés a la date d'expiration. Veuillez toutefois les supprimer.</div>
<!-- Creation d'un nouvel element (cache) -->
<div data-add>
<span class='label'>Nom de l'accès</span><input type='text' placeholder='token' id='add-name'><br>
<span class='label'>Duree de vie (jours)</span><input type='text' value='10' id='add-duration'><br>
<input type='submit' value='Ajouter un accès' id='add-token-submit'>
</div>
<!-- Conteneur de la liste des elements -->
<ul data-list>
<!-- Elements de la liste -->
<?php
foreach($tokens as $token){
echo "<li data-element data-id='".$token['id_token']."'>";
// Si token actif
if( !$token['expired'] )
echo "<div class='active' data-token><span>actif</span></div>";
else
echo "<div data-token><span>Expiré</span></div>";
echo "<div>";
echo "<span>".$token['name']."</span>";
echo "<span data-prefix='Expiration'>".Database::frDate($token['expires'])."</span>";
echo "</div><div>";
echo "<span><span class='flag'>".$token['token']."</span></span>";
echo "</div>";
echo "<button class='remove-token'>Supprimer</button>";
echo "</li>";
}
?>
</ul>
</section>
</section>
<?php
/* [2] Gestion des utilisateurs
=========================================================*/
// permission: admin
//=======================================================//
/* (1) On recupere la liste des utilisateurs */
$req_users = new ModuleRequest('user/getAll');
$answer_users = $req_users->dispatch();
// Si erreur de requete
if( $answer_users->error != ManagerError::Success )
var_dump( ManagerError::explicit($answer_users->error) );
// On recupere la liste des utilisateurs
$users = $answer_users->get('users');
?><section data-sublink='users'>
<h6 class='center'>Gestion des utilisateurs</h6><br>
<!-- [1] Panel d'ajout/suppression d'utilisateur -->
<section data-panel-list>
<!-- Header -->
<div data-header>
<span>Gestion des utilisateurs</span>
<button id='add-user'>Ajouter un utilisateur</button>
</div>
<!-- Description des utilisateurs et des permissions -->
<div data-description>Liste des utilisateurs de la plateforme. Un <i>administrateur</i> peut tout faire. Un <i>sujet</i> peut compléter ses données et les consulter.</div>
<!-- Creation d'un nouvel element (cache) -->
<div data-add>
<span class='label'>Identifiant</span><input type='text' id='add-login'><br>
<span class='label'>Adresse mail</span><input type='email' id='add-mail'><br>
<span class='label'>Mot de passe</span><input type='password' id='add-password'><br>
<span class='label'>Vérification du mot de passe</span><input type='password' id='add-password2'><br>
<span class='label'>Droits</span>
<input type='radio' name='add-permissions' value='subject' id='add-subject' checked='true'><label for='add-subject'>Sujet</label> &nbsp;&nbsp;
<input type='radio' name='add-permissions' value='admin' id='add-admin'><label for='add-admin'>Administrateur</label><br>
<span class='label'>Identifiant d'étude (optionnel)</span><input type='text' id='add-reference'><br>
<input type='submit' value='Créer un utilisateur' id='add-user-submit'>
</div>
<!-- Conteneur de la liste des elements -->
<ul data-list>
<!-- Elements de la liste -->
<?php
foreach($users as $user){
// On ne s'affiche pas soi-meme
if( $user['login'] == $_SESSION['username'] ) continue;
echo "<li data-element data-id='".$user['id_user']."'>";
// Si user actif
if( in_array('admin', $user['permission']) )
echo "<div class='active' data-user><span>Administrateur</span></div>";
else
echo "<div data-user><span>Sujet</span></div>";
echo "<div>";
echo "<span data-prefix='Identifiant'>".$user['login']."</span>";
echo "<span data-prefix='Adresse mail'>".$user['mail']."</span>";
echo "</div>";
echo "<button class='remove-user'>Supprimer</button>";
echo "</li>";
}
?>
</ul>
</section>
</section>
<!-- FIN PERMISSION ADMIN -->
<?php } ?>