<?php
/**
 * Demo Oracle — point de donnees des sessions actives (JSON).
 *
 * Appele par report.php quand ?format=json. Portage de la branche JSON de
 * modules/oracle/_report_realtime_sessions.php, sans la branche POST
 * `kill_session` qui la precedait : la demonstration n'arrete pas de session,
 * et le repository ne porte plus killSession().
 *
 * Le bloc SQL Monitor n'est pas repris non plus — c'est un rapport
 * DBMS_SQLTUNE, reserve a la version complete.
 *
 * Variables : $oraDb, $db, $currentUser, $settings. Se termine par exit.
 */
require_once __DIR__ . '/lib/DemoOracleOciConnect.php';
require_once __DIR__ . '/lib/DemoOracleSessionsRepository.php';

$ociError = null;
$conn = demo_oracle_oci_open($oraDb, $db, $ociError, '', 'realtime/sessions/data');
if (!$conn) {
    echo json_encode(['error' => $ociError
        ? ('ORA-' . $ociError['code'] . ': ' . $ociError['message'])
        : t('demo_oracle.connect_error')]);
    exit;
}

$repo = new DemoOracleSessionsRepository();
echo json_encode([
    'updated'  => date('H:i:s'),
    'sessions' => $repo->fetchActiveSessions($conn),
    'longops'  => $repo->fetchLongOps($conn),
]);
oci_close($conn);
exit;
