2025-01-28 19:18:48 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
$action = $_REQUEST['action'] ?? '';
|
|
|
|
$agent = $_REQUEST['agent'] ?? '';
|
|
|
|
|
|
|
|
require '../app/classes/agent.php';
|
|
|
|
require '../app/classes/conference.php';
|
|
|
|
require '../app/classes/host.php';
|
|
|
|
|
|
|
|
$agentObject = new Agent($dbWeb);
|
|
|
|
$hostObject = new Host($dbWeb);
|
|
|
|
|
|
|
|
// Connect to Jilo database for log data
|
|
|
|
$response = connectDB($config, 'jilo', $platformDetails[0]['jilo_database'], $platform_id);
|
|
|
|
if ($response['db'] === null) {
|
2025-02-16 08:18:26 +00:00
|
|
|
Feedback::flash('ERROR', 'DEFAULT', $response['error']);
|
2025-01-28 19:18:48 +00:00
|
|
|
} else {
|
|
|
|
$db = $response['db'];
|
|
|
|
}
|
|
|
|
$conferenceObject = new Conference($db);
|
|
|
|
|
|
|
|
// Get date range for the last 7 days
|
|
|
|
$from_time = date('Y-m-d', strtotime('-7 days'));
|
|
|
|
$until_time = date('Y-m-d');
|
|
|
|
|
|
|
|
// Define graphs to show
|
|
|
|
$graphs = [
|
|
|
|
[
|
|
|
|
'graph_name' => 'conferences',
|
|
|
|
'graph_title' => 'Conferences in "' . htmlspecialchars($platformDetails[0]['name']) . '" over time',
|
|
|
|
'datasets' => []
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'graph_name' => 'participants',
|
|
|
|
'graph_title' => 'Participants in "' . htmlspecialchars($platformDetails[0]['name']) . '" over time',
|
|
|
|
'datasets' => []
|
|
|
|
]
|
|
|
|
];
|
|
|
|
|
|
|
|
// Get Jitsi API data
|
|
|
|
$conferences_api = $agentObject->getHistoricalData(
|
|
|
|
$platform_id,
|
|
|
|
'jicofo',
|
|
|
|
'conferences',
|
|
|
|
$from_time,
|
|
|
|
$until_time
|
|
|
|
);
|
|
|
|
$graphs[0]['datasets'][] = [
|
|
|
|
'data' => $conferences_api,
|
|
|
|
'label' => 'Conferences from Jitsi API',
|
|
|
|
'color' => 'rgba(75, 192, 192, 1)'
|
|
|
|
];
|
|
|
|
|
|
|
|
// Get conference data from logs
|
|
|
|
$conferences_logs = $conferenceObject->conferenceNumber(
|
|
|
|
$from_time,
|
|
|
|
$until_time
|
|
|
|
);
|
|
|
|
$graphs[0]['datasets'][] = [
|
|
|
|
'data' => $conferences_logs,
|
|
|
|
'label' => 'Conferences from Logs',
|
|
|
|
'color' => 'rgba(255, 99, 132, 1)'
|
|
|
|
];
|
|
|
|
|
|
|
|
// Get participants data
|
|
|
|
$participants_api = $agentObject->getHistoricalData(
|
|
|
|
$platform_id,
|
|
|
|
'jicofo',
|
|
|
|
'participants',
|
|
|
|
$from_time,
|
|
|
|
$until_time
|
|
|
|
);
|
|
|
|
$graphs[1]['datasets'][] = [
|
|
|
|
'data' => $participants_api,
|
|
|
|
'label' => 'Participants from Jitsi API',
|
|
|
|
'color' => 'rgba(75, 192, 192, 1)'
|
|
|
|
];
|
|
|
|
|
|
|
|
// Prepare data for template
|
|
|
|
$graph = $graphs;
|
|
|
|
|
|
|
|
// prepare the widget
|
|
|
|
$widget['full'] = false;
|
|
|
|
$widget['name'] = 'Graphs';
|
|
|
|
$widget['title'] = 'Jitsi graphs';
|
|
|
|
|
2025-02-17 08:24:50 +00:00
|
|
|
// Get any new feedback messages
|
|
|
|
include '../app/includes/feedback-get.php';
|
|
|
|
include '../app/includes/feedback-show.php';
|
2025-01-28 19:18:48 +00:00
|
|
|
|
|
|
|
// Load the template
|
|
|
|
include '../app/templates/graphs.php';
|
|
|
|
|
|
|
|
?>
|