SMMP/build/viewer/view/group/view.php

91 lines
2.7 KiB
PHP
Raw Normal View History

2016-07-12 10:06:46 +00:00
<?php
2016-10-18 14:03:03 +00:00
namespace viewer\view\group;
2017-01-30 17:39:21 +00:00
use \api\core\Request;
2016-10-18 14:03:03 +00:00
use \api\core\Authentification;
2017-01-30 17:39:21 +00:00
use \error\core\Err;
2016-10-18 17:09:47 +00:00
use \error\core\Error;
2016-07-12 10:06:46 +00:00
class view{
2016-07-12 10:06:46 +00:00
public static function render(){
/* [1] Init Twig
2016-07-12 10:06:46 +00:00
=========================================================*/
$loader = new \Twig_Loader_Filesystem(__BUILD__.'/viewer/view');
$twig = new \Twig_Environment($loader, []);
2016-07-12 10:06:46 +00:00
/* [2] Store variables
=========================================================*/
$variables = [
'p_icon' => [
'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 */
2017-01-30 17:39:21 +00:00
$getClustersReq = new Request('clusterDefault/getAll', ['class' => $class]);
$getClusters = $getClustersReq->dispatch();
/* (2) si erreur, on retourne rien par défaut */
2017-01-30 17:39:21 +00:00
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){
2017-01-30 17:39:21 +00:00
$membersReq = new Request('clusterDefault/getMembers', [
'id_cluster' => (int) $id_cluster,
'class' => $class
]);
2016-07-12 10:06:46 +00:00
$membersRes = $membersReq->dispatch();
//
// si erreur, on affiche rien par défaut
2017-01-30 17:39:21 +00:00
if( $membersRes->error->get() != Err::Success )
return [];
2016-07-12 10:06:46 +00:00
return $membersRes->get('members');
}));
$twig->addFunction(new \Twig_Function('f_options', function($id_cluster){
$modReq = new Request('clusterDefault/getEtree', [
'id_machine_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('etree');
}));
/* [4] Build the whole stuff
=========================================================*/
return $twig->render('group/view.twig', [
'p_icon' => $variables['p_icon'],
'p_theme' => $variables['p_theme']
2016-07-12 10:06:46 +00:00
]);
}
}
?>