[ 'remove' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/remove.svg' ), 'edit' => file_get_contents( __PUBLIC__.'/src/static/sub-menu-side/edit.svg' ), 'device' => file_get_contents( __PUBLIC__.'/src/static/menu-side/device.svg' ), 'user' => file_get_contents( __PUBLIC__.'/src/static/menu-side/users.svg' ), 'group' => file_get_contents( __PUBLIC__.'/src/static/container/group.svg' ), 'option' => file_get_contents( __PUBLIC__.'/src/static/container/option.svg' ) ], 'p_theme' => $_SESSION['WAREHOUSE']['theme'] ]; /* [3] Store functions =========================================================*/ $twig->addFunction(new \Twig_Function('f_clusters', function($class){ /* (1) On récupère les groupes */ $getClustersReq = new Request('clusterDefault/getAll', ['class' => $class]); $getClusters = $getClustersReq->dispatch(); /* (2) si erreur, on retourne rien par défaut */ if( $getClusters->error->get() != Err::Success ) return []; /* (3) On enregistre le résultat */ return $getClusters->get('clusters'); })); $twig->addFunction(new \Twig_Function('f_members', function($id_cluster, $class){ $membersReq = new Request('clusterDefault/getMembers', [ 'id_cluster' => (int) $id_cluster, 'class' => $class ]); $membersRes = $membersReq->dispatch(); // // si erreur, on affiche rien par défaut if( $membersRes->error->get() != Err::Success ) return []; return $membersRes->get('members'); })); $twig->addFunction(new \Twig_Function('f_options', function($id_cluster){ $modReq = new Request('clusterDefault/getModules', [ 'id_cluster' => (int) $id_cluster ]); $modRes = $modReq->dispatch(); // si erreur, on affiche rien par défaut if( $modRes->error->get() != Err::Success ) return []; return $modRes->get('modules'); })); /* [4] Build the whole stuff =========================================================*/ return $twig->render('group/view.twig', [ 'p_icon' => $variables['p_icon'], 'p_theme' => $variables['p_theme'] ]); } } ?>