gmarche/src/Admin/AdminModule.php

54 lines
1.8 KiB
PHP

<?php
namespace App\Admin;
use App\Admin\Table\UserTable;
use Framework\Auth;
use Framework\Module;
use Framework\Renderer\RendererInterface;
use Framework\Renderer\TwigRenderer;
use Framework\Router;
class AdminModule extends Module
{
const DEFINITIONS = __DIR__ . '/config.php';
/**
* @var Auth
*/
private $auth;
public function __construct(
RendererInterface $renderer,
Router $router,
AdminTwigExtension $adminTwigExtension,
UserTable $userTable,
Auth $auth,
string $prefix
)
{
$this->userTable = $userTable;
$this->auth = $auth;
$renderer->addPath('admin', __DIR__ . '/views');
$name_user = $this->auth->getUser()->username;
//$role = $user->getRoles();
$role = $_SESSION['role'];
$page = $params['p'] ?? 1; // Si la page n'est pas définie, on l'initialise à 1
//$liste_users = $this->userTable->findAll()->paginate(25, $page);
$liste_adminGeneral = $this->userTable->findAdminUsers('1');
$liste_adminAntenne = $this->userTable->findAdminUsers('2');
$liste_users = $this->userTable->findAdminUsers('3');
$router->get($prefix, DashboardAction::class, 'admin');
$router->post($prefix, DashboardAction::class);
if ($renderer instanceof TwigRenderer) {
$renderer->getTwig()->addExtension($adminTwigExtension);
$renderer->getTwig()->addGlobal('role',$role);
$renderer->getTwig()->addGlobal('name_user',$name_user);
$renderer->getTwig()->addGlobal('liste_adminGeneral',$liste_adminGeneral);
$renderer->getTwig()->addGlobal('liste_adminAntenne',$liste_adminAntenne);
$renderer->getTwig()->addGlobal('liste_users',$liste_users);
}
}
}