diff --git a/public_html/pages/conferences.php b/public_html/pages/conferences.php
index 52d3540..cfc7ac6 100644
--- a/public_html/pages/conferences.php
+++ b/public_html/pages/conferences.php
@@ -124,7 +124,7 @@ if (!empty($search)) {
// prepare the widget
$widget['full'] = false;
-$widget['name'] = 'ConferenceId';
+$widget['name'] = 'Conferences';
$widget['collapsible'] = false;
$widget['collapsed'] = false;
$widget['filter'] = true;
diff --git a/public_html/pages/participants.php b/public_html/pages/participants.php
index 99b86c7..36c4d0b 100644
--- a/public_html/pages/participants.php
+++ b/public_html/pages/participants.php
@@ -23,18 +23,18 @@ if (!isset($_REQUEST['until_time']) || (isset($_REQUEST['until_time']) && $_REQU
// either id, name, OR IP - in that order
// we use $_REQUEST, so that both links and forms work
if (isset($_REQUEST['id']) && $_REQUEST['id'] != '') {
- $participant_id = $_REQUEST['id'];
+ $participantId = $_REQUEST['id'];
unset($_REQUEST['name']);
- unset($participant_name);
+ unset($participantName);
} elseif (isset($_REQUEST['name']) && $_REQUEST['name'] != '') {
- unset($participant_id);
- $participant_name = $_REQUEST['name'];
+ unset($participantId);
+ $participantName = $_REQUEST['name'];
} elseif (isset($_REQUEST['ip']) && $_REQUEST['ip'] != '') {
- unset($participant_id);
- $participant_ip = $_REQUEST['ip'];
+ unset($participantId);
+ $participantIp = $_REQUEST['ip'];
} else {
- unset($participant_id);
- unset($participant_name);
+ unset($participantId);
+ unset($participantName);
}
// connect to database
@@ -51,394 +51,109 @@ try {
// Participant listings
//
+$participant = new Participant($db);
// search and list specific participant ID
-if (isset($participant_id)) {
-
- try {
- $participant = new Participant($db);
-
- // prepare the result
- $search = $participant->conferenceByParticipantId($participant_id, $from_time, $until_time, $participant_id, $from_time, $until_time);
-
- if (!empty($search)) {
- $conferences = array();
- $conferences['records'] = array();
-
- foreach ($search as $item) {
- extract($item);
- $conference_record = array(
- // assign title to the field in the array record
- 'time' => $time,
- 'conference ID' => $conference_id,
- 'conference name' => $conference_name,
- 'conference host' => $conference_host,
- 'loglevel' => $loglevel,
- 'participant ID' => $participant_id,
- 'event' => $event_type,
- 'parameter' => $event_param
- );
- // populate the result array
- array_push($conferences['records'], $conference_record);
- }
- }
-
- } catch (Exception $e) {
- $error = 'Error: ' . $e->getMessage();
- include 'templates/message.php';
- exit();
- }
-
- // display the result
- echo "
\n\n";
-
- // results table
- echo "\n";
-
- if (!empty($conferences['records'])) {
-
- echo "\t
\n";
-
- echo "\t\t\n";
- echo "\t\t\t\n";
-
- // table headers
- foreach (array_keys($conferences['records'][0]) as $header) {
- echo "\t\t\t\t" . htmlspecialchars($header) . " | \n";
- }
- echo "\t\t\t
\n";
- echo "\t\t\n";
-
- echo "\t\t\n";
-
- //table rows
- foreach ($conferences['records'] as $row) {
- echo "\t\t\t\n";
- $stats_id = false;
- $participant_ip = false;
- if ($row['event'] === 'stats_id') $stats_id = true;
- if ($row['event'] === 'pair selected') $participant_ip = true;
- // sometimes $column is empty, we make it '' then
- foreach ($row as $key => $column) {
- if ($key === 'participant ID' && $column === $participant_id) {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'conference ID') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'conference name') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($stats_id && $key === 'parameter') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($participant_ip && $key === 'parameter') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } else {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- }
- }
- echo "\t\t\t
\n";
- }
-
- echo "\t\t\n";
- echo "\t
\n";
-
- } else {
- echo '
No matching conferences found.
';
- }
- echo "\n
\n";
-
-
+if (isset($participantId)) {
+ $search = $participant->conferenceByParticipantId($participantId, $from_time, $until_time, $participantId, $from_time, $until_time);
// search and list specific participant name (stats_id)
-} elseif (isset($participant_name)) {
-
- try {
- $participant = new Participant($db);
-
- // prepare the result
- $search = $participant->conferenceByParticipantName($participant_name, $from_time, $until_time);
-
- if (!empty($search)) {
- $conferences = array();
- $conferences['records'] = array();
-
- foreach ($search as $item) {
- extract($item);
- $conference_record = array(
- // assign title to the field in the array record
- 'time' => $time,
- 'conference ID' => $conference_id,
- 'conference name' => $conference_name,
- 'conference host' => $conference_host,
- 'loglevel' => $loglevel,
- 'participant ID' => $participant_id,
- 'event' => $event_type,
- 'parameter' => $event_param
- );
- // populate the result array
- array_push($conferences['records'], $conference_record);
- }
- }
-
- } catch (Exception $e) {
- $error = 'Error: ' . $e->getMessage();
- include 'templates/message.php';
- exit();
- }
-
- // display the result
- echo "\n\n";
-
- // results table
- echo "\n";
-
- if (!empty($conferences['records'])) {
-
- echo "\t
\n";
-
- echo "\t\t\n";
- echo "\t\t\t\n";
-
- // table headers
- foreach (array_keys($conferences['records'][0]) as $header) {
- echo "\t\t\t\t" . htmlspecialchars($header) . " | \n";
- }
- echo "\t\t\t
\n";
- echo "\t\t\n";
-
- echo "\t\t\n";
-
- //table rows
- foreach ($conferences['records'] as $row) {
- echo "\t\t\t\n";
- // sometimes $column is empty, we make it '' then
- foreach ($row as $key => $column) {
- if ($key === 'parameter' && $column === $participant_name) {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'conference ID') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'conference name') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'participant ID') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } else {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- }
- }
- echo "\t\t\t
\n";
- }
-
- echo "\t\t\n";
- echo "\t
\n";
-
- } else {
- echo '
No matching conferences found.
';
- }
- echo "\n
\n";
-
-
+} elseif (isset($participantName)) {
+ $search = $participant->conferenceByParticipantName($participantName, $from_time, $until_time);
// search and list specific participant IP
-} elseif (isset($participant_ip)) {
-
- try {
- $participant = new Participant($db);
-
- // prepare the result
- $search = $participant->conferenceByParticipantIP($participant_ip, $from_time, $until_time);
-
- if (!empty($search)) {
- $conferences = array();
- $conferences['records'] = array();
-
- foreach ($search as $item) {
- extract($item);
- $conference_record = array(
- // assign title to the field in the array record
- 'time' => $time,
- 'conference ID' => $conference_id,
- 'conference name' => $conference_name,
- 'conference host' => $conference_host,
- 'loglevel' => $loglevel,
- 'participant ID' => $participant_id,
- 'event' => $event_type,
- 'parameter' => $event_param
- );
- // populate the result array
- array_push($conferences['records'], $conference_record);
- }
- }
-
- } catch (Exception $e) {
- $error = 'Error: ' . $e->getMessage();
- include 'templates/message.php';
- exit();
- }
-
- // display the result
- echo "\n\n";
-
- // results table
- echo "\n";
-
- if (!empty($conferences['records'])) {
-
- echo "\t
\n";
-
- echo "\t\t\n";
- echo "\t\t\t\n";
-
- // table headers
- foreach (array_keys($conferences['records'][0]) as $header) {
- echo "\t\t\t\t" . htmlspecialchars($header) . " | \n";
- }
- echo "\t\t\t
\n";
- echo "\t\t\n";
-
- echo "\t\t\n";
-
- //table rows
- foreach ($conferences['records'] as $row) {
- echo "\t\t\t\n";
- // sometimes $column is empty, we make it '' then
- foreach ($row as $key => $column) {
- if ($key === 'parameter' && $column === $participant_ip) {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'conference ID') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'conference name') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'participant ID') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } else {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- }
- }
- echo "\t\t\t
\n";
- }
-
- echo "\t\t\n";
- echo "\t
\n";
-
- } else {
- echo '
No matching conferences found.
';
- }
- echo "\n
\n";
-
-
+} elseif (isset($participantIp)) {
+ $search = $participant->conferenceByParticipantIP($participantIp, $from_time, $until_time);
// list of all participants (default)
} else {
- try {
- $participant = new Participant($db);
-
- // prepare the result
- $search = $participant->participantsAll($from_time, $until_time);
-
- if (!empty($search)) {
- $participants = array();
- $participants['records'] = array();
-
- foreach ($search as $item) {
- extract($item);
- $participant_record = array(
- // assign title to the field in the array record
- 'component' => $jitsi_component,
- 'participant ID' => $endpoint_id,
- 'conference ID' => $conference_id,
- );
- // populate the result array
- array_push($participants['records'], $participant_record);
- }
- }
-
- } catch (Exception $e) {
- $error = 'Error: ' . $e->getMessage();
- include 'templates/message.php';
- exit();
- }
-
- // display the result
- echo "\n\n";
-
- // results table
- echo "\n";
-
- if (!empty($participants['records'])) {
-
- echo "\t
\n";
-
- echo "\t\t\n";
- echo "\t\t\t\n";
-
- // table headers
- foreach (array_keys($participants['records'][0]) as $header) {
- echo "\t\t\t\t" . htmlspecialchars($header) . " | \n";
- }
- echo "\t\t\t
\n";
- echo "\t\t\n";
-
- echo "\t\t\n";
-
- //table rows
- foreach ($participants['records'] as $row) {
- echo "\t\t\t\n";
- // sometimes $column is empty, we make it '' then
- foreach ($row as $key => $column) {
- if ($key === 'participant ID') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } elseif ($key === 'conference ID') {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- } else {
- echo "\t\t\t\t" . htmlspecialchars($column ?? '') . " | \n";
- }
- }
- echo "\t\t\t
\n";
- }
-
- echo "\t\t\n";
- echo "\t
\n";
-
- } else {
- echo '
No matching participants found.
';
- }
- echo "\n
\n";
-
+// prepare the result
+ $search = $participant->participantsAll($from_time, $until_time);
}
+if (!empty($search)) {
+ $participants = array();
+ $participants['records'] = array();
+
+ foreach ($search as $item) {
+ extract($item);
+
+ // search and list specific participant ID
+ if (isset($participantId)) {
+ $participant_record = array(
+ // assign title to the field in the array record
+ 'time' => $time,
+ 'conference ID' => $conference_id,
+ 'conference name' => $conference_name,
+ 'conference host' => $conference_host,
+ 'loglevel' => $loglevel,
+ 'participant ID' => $participant_id,
+ 'event' => $event_type,
+ 'parameter' => $event_param
+ );
+ // search and list specific participant name (stats_id)
+ } elseif (isset($participantName)) {
+ $participant_record = array(
+ // assign title to the field in the array record
+ 'time' => $time,
+ 'conference ID' => $conference_id,
+ 'conference name' => $conference_name,
+ 'conference host' => $conference_host,
+ 'loglevel' => $loglevel,
+ 'participant ID' => $participant_id,
+ 'event' => $event_type,
+ 'parameter' => $event_param
+ );
+ // search and list specific participant IP
+ } elseif (isset($participantIp)) {
+ $participant_record = array(
+ // assign title to the field in the array record
+ 'time' => $time,
+ 'conference ID' => $conference_id,
+ 'conference name' => $conference_name,
+ 'conference host' => $conference_host,
+ 'loglevel' => $loglevel,
+ 'participant ID' => $participant_id,
+ 'event' => $event_type,
+ 'parameter' => $event_param
+ );
+ // list of all participants (default)
+ } else {
+ $participant_record = array(
+ // assign title to the field in the array record
+ 'component' => $jitsi_component,
+ 'participant ID' => $endpoint_id,
+ 'conference ID' => $conference_id
+ );
+ }
+
+ // populate the result array
+ array_push($participants['records'], $participant_record);
+ }
+}
+
+// prepare the widget
+$widget['full'] = false;
+$widget['name'] = 'Participants';
+$widget['collapsible'] = false;
+$widget['collapsed'] = false;
+$widget['filter'] = true;
+
+// widget title
+if (isset($_REQUEST['name']) && $_REQUEST['name'] != '') {
+ $widget['title'] = 'Conferences with participant name (stats_id) matching "' . $_REQUEST['name'] . '"';
+} elseif (isset($_REQUEST['id']) && $_REQUEST['id'] != '') {
+ $widget['title'] = 'Conference with participant ID matching "' . $_REQUEST['id'] . '"';
+} elseif (isset($participantIp)) {
+ $widget['title'] = 'Conference with participant IP matching "' . $participantIp . '"';
+} else {
+ $widget['title'] = 'All participants';
+}
+// widget records
+if (!empty($participants['records'])) {
+ $widget['full'] = true;
+ $widget['table_headers'] = array_keys($participants['records'][0]);
+ $widget['table_records'] = $participants['records'];
+}
+
+// display the widget
+include('templates/widget.php');
+
?>
diff --git a/public_html/templates/widget.php b/public_html/templates/widget.php
index e5ae1da..0da51a1 100644
--- a/public_html/templates/widget.php
+++ b/public_html/templates/widget.php
@@ -46,10 +46,18 @@
= htmlspecialchars($column ?? '') ?> |
= htmlspecialchars($column ?? '') ?> |
+
+ = htmlspecialchars($column ?? '') ?> |
+
+ = htmlspecialchars($column ?? '') ?> |
= htmlspecialchars($column ?? '') ?> |
+
+ = htmlspecialchars($column ?? '') ?> |
= htmlspecialchars($column ?? '') ?> |
+
+ = htmlspecialchars($column ?? '') ?> |
= htmlspecialchars($column ?? '') ?> |