SMMP/manager/view/users.php

140 lines
3.7 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace manager\view;
use \manager\View;
use \manager\ModuleRequest;
use \manager\Authentification;
use \manager\ManagerError;
class users{
public static function templateUserlist($type=null){
switch($type){
case 'cluster': return "
<span>
@cluster_name
<span class='rem-group' data-group='@cluster_id' data-user='@user_id'></span>
</span>";
break;
case 'user': return "
<article class='inline-box' id='@user_id'>
<span class='title'>@user_firstname @user_lastname <span>#@user_username</span></span>
<span class='link_remove' data-user='@user_id'>@icon_remove</span>
<span class='link_edit' data-user='@user_id'>@icon_edit</span>
<span class='code'>
@icon_card
<span>@user_code</span>
</span>
<span class='mail'>
@icon_mail
<a href='mailto:@user_mail'>
<span>@user_mail</span>
</a>
</span>
<span class='groups'>
@icon_group
@grouplist
<span class='add-group' data-user='@user_id'>+</span>
</span>
</article>";
break;
default: return "
<input type='text' class='searchbar' placeholder='Recherche'>
@userlist";
break;
}
}
public static function userlist($params){
$view = '';
/* [1] On récupère la liste des utilisateurs
=========================================================*/
$request = new ModuleRequest('userDefault/getAll'); // On utilise la methode 'getAll' du module 'userDefault'
$answer = $request->dispatch(); // On recupere la reponse
// si erreur, on affiche l'explicitation
if( $answer->error != ManagerError::Success )
return "<span class='error'>Une erreur est survenue, veuilez contacter le webmaster si cette erreur persiste.</span>";
$view_user = '';
foreach($answer->get('users') as $user){
$view_cluster = '';
/* [2] On ajoute les données de ses groupes
=========================================================*/
/* (1) On récupère les groupes de la machine */
$clustersReq = new ModuleRequest('userDefault/getClusters', [ 'id_user' => $user['id_user'] ]);
$clustersRes = $clustersReq->dispatch();
/* (2) Gestion si erreur */
if( $clustersRes->error == ManagerError::Success ) $clusters = $clustersRes->get('clusters');
else $clusters = [];
/* (3) On crée la vue */
foreach($clusters as $cluster){
$view_cluster .= View::replace(self::templateUserlist('cluster'),[
'cluster_id' => $cluster['id_cluster'],
'user_id' => $user['id_user']
]);
}
/* [3] On ajoute les données utilisateurs
=========================================================*/
$view_user .= View::replace(self::templateUserlist('user'), [
'user_id' => $user['id_user'],
'user_username' => $user['username'],
'user_firstname' => $user['firstname'],
'user_lastname' => $user['lastname'],
'user_code' => $user['code'],
'user_mail' => $user['mail'],
'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ),
'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ),
'icon_card' => file_get_contents( __ROOT__.'/src/static/container/card.svg' ),
'icon_mail' => file_get_contents( __ROOT__.'/src/static/container/mail.svg' ),
'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ),
'grouplist' => $view_cluster
]);
$view .= $view_user;
}
return View::replace(self::templateUserlist(), [ 'userlist' => $view_user ]);
}
}
?>