36 lines
1.3 KiB
PHP
36 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
require_once __DIR__ . '/app/autoload.php';
|
|
|
|
/**
|
|
* Sélecteur de rôle — point d'entrée hors périmètre de page_bootstrap.php.
|
|
*
|
|
* Cette page ne peut pas passer par runPage() : elle est justement celle qui
|
|
* s'affiche AVANT qu'un rôle soit choisi, donc avant tout contrôle d'accès. Elle
|
|
* porte pour cette raison son propre bloc <head> (Views/pages/role.php), ce qui
|
|
* en fait un troisième endroit où bumper la version des assets.
|
|
*
|
|
* Rappel : sélection != authentification, voir Access::select().
|
|
*/
|
|
|
|
use App\Controllers\RoleController;
|
|
use App\Core\Security;
|
|
|
|
try {
|
|
$pdo = require __DIR__ . '/app/bootstrap.php';
|
|
(new RoleController($pdo))->index();
|
|
} catch (Throwable $e) {
|
|
http_response_code(500);
|
|
Security::sendHtmlHeaders();
|
|
$message = htmlspecialchars(
|
|
Security::reportThrowable($e, 'Une erreur technique empêche l\'affichage de la sélection du rôle.'),
|
|
ENT_QUOTES,
|
|
'UTF-8'
|
|
);
|
|
echo '<!doctype html><html lang="fr"><meta charset="utf-8"><title>Erreur PTA</title>';
|
|
echo '<body><h1>Impossible d\'ouvrir la sélection du rôle</h1><p>' . $message . '</p>';
|
|
echo '<p>Contactez l\'administrateur de l\'application : le détail de l\'erreur a été journalisé.</p></body></html>';
|
|
}
|