<?php
/**
 * Demo Oracle — page d'accueil : les bases declarees, et le choix de celle a
 * consulter.
 *
 * Le module complet affiche ici une grille groupe x sous-groupe filtree par
 * les droits de l'utilisateur. La demonstration n'a ni groupes ni droits : une
 * liste plate de cinq bases au maximum, visible par tous ceux qui accedent au
 * module.
 */
require_once dirname(__DIR__, 2) . '/bootstrap.php';
require_once __DIR__ . '/lib/boot.php';

$auth->requireRole('demo_oracle_admin', 'demo_oracle_user');

if (!$moduleRegistry->canAccess('demo_oracle', $currentUser)) {
    http_response_code(403);
    include WEBROOT_PATH . '/includes/403.php';
    exit;
}

if (!Session::has('csrf_token')) {
    Session::set('csrf_token', bin2hex(random_bytes(32)));
}

View::display(__DIR__ . '/views/index.php', [
    'databases'  => demo_oracle_databases($db),
    'isManager'  => demo_oracle_is_manager($currentUser),
    'hasRoom'    => DemoOracleSchema::hasRoom($db),
    'maxDbs'     => DEMO_ORACLE_MAX_DATABASES,
    'selectedDb' => Session::get('demo_oracle_selected_db'),
    'csrfToken'  => Session::get('csrf_token'),
    'pageTitle'  => t('demo_oracle.title'),
]);
