@username @firstname @lastname @code "; break; case 'machinelist': return "
@name
"; break; default: return "
@name @clustertype
@members
"; break; } } public static function view($params){ /* [0] Initialisation =========================================================*/ /* (1) On vérifie les paramètres */ if( !isset($params['id_cluster']) && !is_number($params['id_cluster']) ) return View::$htmlError; /* (2) On initialise les vues */ $view = ''; $members_view = ''; /* [1] On vérifie le type de groupe (user/machine) =========================================================*/ /* (1) On récupère le groupe */ $checktypeRequest = new ModuleRequest('clusterDefault/getById', [ 'id_cluster' => $params['id_cluster'] ]); $checktypeResponse = $checktypeRequest->dispatch(); /* (2) Si on ne le trouve pas, on retourne une erreur */ if( $checktypeResponse->error != ManagerError::Success ) return View::$htmlError; /* (3) On récupère les données du groupe */ $currentCluster = $checktypeResponse->get('cluster'); /* [2] On récupère les membres du groupe =========================================================*/ /* (1) On exécute la requête */ $getmembersRequest = new ModuleRequest('clusterDefault/getMembers', [ 'id_cluster' => $params['id_cluster'] ]); $getmembersResponse = $getmembersRequest->dispatch(); /* (2) Si erreur, on retourne l'erreur */ if( $getmembersResponse->error != ManagerError::Success ) return View::$htmlError; /* (3) On récupère la liste des UID uniquement */ $members_id = []; foreach($getmembersResponse->get('members') as $member) $members_id[] = $member['id_member']; /* [3] SI GROUPE D'UTILISATEURS -> On récupère les utilisateurs =========================================================*/ if( $currentCluster['class'] == clusterRepo::USER_CLASS ){ /* (1) On récupère les utilisateurs ---------------------------------------------------------*/ /* (1) On exécute la requête */ $getusersRequest = new ModuleRequest('userDefault/getAll'); // On utilise la methode 'getAll' du module 'userDefault' $getusersResponse = $getusersRequest->dispatch(); // On recupere la reponse /* (2) si erreur, on affiche l'explicitation */ if( $getusersResponse->error != ManagerError::Success ) return View::$htmlError; /* (3) On récupère la liste des utilisateurs */ $USERLIST = $getusersResponse->get('users'); /* (2) On gère l'affichage des utilisateurs ---------------------------------------------------------*/ /* (1) On gère l'état 'membre' ou non */ foreach($USERLIST as $u=>$user) $USERLIST[$u]['already_in'] = in_array($user['id_user'], $members_id) ? 'checked' : ''; /* (2) On génère la vue */ $members_view = View::replaceMultiple( self::template('userlist'), $USERLIST ); /* [4] SI GROUPE DE MACHINES -> On récupère les machines =========================================================*/ }else{ /* (1) On récupère les machines ---------------------------------------------------------*/ /* (1) On exécute la requête */ $getmachinesRequest = new ModuleRequest('machineDefault/getAll'); // On utilise la methode 'getAll' du module 'machineDefault' $getmachinesResponse = $getmachinesRequest->dispatch(); // On recupere la reponse /* (2) si erreur, on affiche l'explicitation */ if( $getmachinesResponse->error != ManagerError::Success ) return View::$htmlError; /* (3) On récupère la liste des machines */ $MACHINELIST = $getmachinesResponse->get('machines'); /* (2) On gère l'affichage des machines ---------------------------------------------------------*/ /* (1) On gère l'état 'membre' ou non */ foreach($MACHINELIST as $u=>$user) $MACHINELIST[$u]['already_in'] = in_array($user['id_machine'], $members_id) ? 'checked' : ''; /* (2) On génère la vue */ $members_view = View::replaceMultiple( self::template('machinelist'), $MACHINELIST ); } $class = ($currentCluster['class'] == clusterRepo::USER_CLASS) ? 0 : 1; return View::replaceSingle( self::template(), [ 'id_cluster' => $currentCluster['id_cluster'], 'class' => $class, 'name' => $currentCluster['name'], 'clustertype' => ($class==0) ? 'utilisateurs' : 'machines', 'members' => $members_view ] ); } } ?>