@name "; break; case 'user': return " @username "; break; case 'machine_cluster': return "
@name @icon_remove @icon_edit @icon_type @members @icon_group @machines +
"; break; case 'user_cluster': return "
@name @icon_remove @icon_edit @icon_type @members @icon_group @users +
"; break; default: return " @clusterlist"; break; } } public static function view($params){ $view = ''; /* [1] On récupère la liste des groupes d'utilisatuers =========================================================*/ /* (1) On récupère les groupes */ $getAllUsersReq = new ModuleRequest('clusterDefault/getAll', ['class' => 0]); $getAllUsers = $getAllUsersReq->dispatch(); /* (2) si erreur, on affiche l'explicitation */ if( $getAllUsers->error != ManagerError::Success ) return ViewManager::$htmlError; /* (3) On enregistre le résultat */ $USERCLUSTERS = $getAllUsers->get('clusters'); /* [2] On récupère la liste des groupes de machines =========================================================*/ /* (1) On récupère les groupes */ $getAllMachinesReq = new ModuleRequest('clusterDefault/getAll', ['class' => 1]); $getAllMachines = $getAllMachinesReq->dispatch(); /* (2) si erreur, on affiche l'explicitation */ if( $getAllMachines->error != ManagerError::Success ) return ViewManager::$htmlError; /* (3) On enregistre le résultat */ $MACHINECLUSTERS = $getAllMachines->get('clusters'); /* [3] On crée la vue avec les groupes d'utilisateurs =========================================================*/ foreach($USERCLUSTERS as $u=>$cluster){ /* (1) On récupère les members */ $membersReq = new ModuleRequest('clusterDefault/getMembers', [ 'id_cluster' => $cluster['id_user_cluster'], 'class' => 0 ]); $membersRes = $membersReq->dispatch(); /* (2) Gestion si erreur */ if( $membersRes->error == ManagerError::Success ) $members = $membersRes->get('members'); else $members = []; /* (3) On crées les vues des membres (utilisateurs) */ $USERCLUSTERS[$u]['users'] = ViewManager::replaceMultiple( self::template('user'), $members, [ 'id_cluster' => 'u'.$cluster['id_user_cluster'] ] ); /* (4) On ajoute les attributs utiles */ $USERCLUSTERS[$u]['id_cluster'] = 'u'.$cluster['id_user_cluster']; $USERCLUSTERS[$u]['members'] = (count($members)<2) ? count($members).' utilisateur' : count($members).' utilisateurs'; $USERCLUSTERS[$u]['icon_type'] = file_get_contents(__ROOT__.'/src/static/menu-side/users.svg'); } /* (5) On crée la vue de la liste des tous les groupes d'utilisateurs */ $user_clusters = ViewManager::replaceMultiple( self::template('user_cluster'), $USERCLUSTERS, [ 'icon_type' => file_get_contents( __ROOT__.'/src/static/menu-side/users.svg' ), 'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ), 'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ), 'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ) ]); /* [4] On crée la vue avec les groupes de machines =========================================================*/ foreach($MACHINECLUSTERS as $u=>$cluster){ /* (1) On récupère les members */ $membersReq = new ModuleRequest('clusterDefault/getMembers', [ 'id_cluster' => $cluster['id_machine_cluster'], 'class' => 1 ]); $membersRes = $membersReq->dispatch(); /* (2) Gestion si erreur */ if( $membersRes->error == ManagerError::Success ) $members = $membersRes->get('members'); else $members = []; /* (3) On crées les vues des membres (machines) */ $MACHINECLUSTERS[$u]['machines'] = ViewManager::replaceMultiple( self::template('machine'), $members, [ 'id_cluster' => 'm'.$cluster['id_machine_cluster'] ] ); /* (4) On ajoute les attributs utiles */ $MACHINECLUSTERS[$u]['id_cluster'] = 'm'.$cluster['id_machine_cluster']; $MACHINECLUSTERS[$u]['members'] = (count($members)<2) ? count($members).' machine' : count($members).' machines'; $MACHINECLUSTERS[$u]['icon_type'] = file_get_contents(__ROOT__.'/src/static/menu-side/machines.svg'); } /* (5) On crée la vue de la liste des tous les groupes de machines */ $machine_clusters = ViewManager::replaceMultiple( self::template('machine_cluster'), $MACHINECLUSTERS, [ 'icon_type' => file_get_contents( __ROOT__.'/src/static/menu-side/device.svg' ), 'icon_remove' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/remove.svg' ), 'icon_group' => file_get_contents( __ROOT__.'/src/static/container/group.svg' ), 'icon_edit' => file_get_contents( __ROOT__.'/src/static/sub-menu-side/edit.svg' ) ]); return ViewManager::replaceSingle(self::template(), [ 'clusterlist' => $user_clusters.''.$machine_clusters ]); } } ?>