From 0c9f900e215f925859fa4a4384603e0279b1f0f6 Mon Sep 17 00:00:00 2001 From: Yasen Pramatarov Date: Sat, 6 Jul 2024 17:21:21 +0300 Subject: [PATCH] Adds fromnt page widgets --- public_html/pages/front.php | 218 ++++++++++++++++++++++- public_html/static/all.css | 9 +- public_html/templates/results-filter.php | 16 +- 3 files changed, 240 insertions(+), 3 deletions(-) diff --git a/public_html/pages/front.php b/public_html/pages/front.php index 7ccbe49..2e06c76 100644 --- a/public_html/pages/front.php +++ b/public_html/pages/front.php @@ -1 +1,217 @@ - +getMessage(); + include 'templates/message.php'; + exit(); +} + +// +// dashboard widget listings +// + +// conferences in last 7 days +try { + $conference = new Conference($db); + + // conferences for last 2 days + $from_time = date('Y-m-d', time() - 60 * 60 * 24 * 2); + $until_time = date('Y-m-d', time()); + $time_range_specified = true; + + // prepare the result + $search = $conference->conferencesAllFormatted($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 + 'component' => $jitsi_component, + 'start' => $start, + 'end' => $end, + 'conference ID' => $conference_id, + 'conference name' => $conference_name, + 'participants' => $participants, + 'name count' => $name_count, + 'conference host' => $conference_host + ); + // 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 "
"; + +echo "
\n"; +echo "
Conferences for the last 2 days"; +if ($time_range_specified) { + echo "
for the time period $from_time - $until_time"; +} +echo "
\n\n"; + +//// filters - time selection and sorting dropdowns +//include 'templates/results-filter.php'; + +echo "
\n\n"; + +// results table +echo "
\n"; + +if (!empty($conferences['records'])) { + + echo "\t\n"; + echo "\t\t\n"; + + // table headers + foreach (array_keys($conferences['records'][0]) as $header) { + echo "\t\t\t\n"; + } + echo "\t\t\n"; + + //table rows + foreach ($conferences['records'] as $row) { + echo "\t\t\n"; + // sometimes $column is empty, we make it '' then + foreach ($row as $key => $column) { + if ($key === 'conference ID' && $column === $conference_id) { + echo "\t\t\t\n"; + } elseif ($key === 'conference name') { + echo "\t\t\t\n"; + } else { + echo "\t\t\t\n"; + } + } + echo "\t\t\n"; + } + + echo "\t
" . htmlspecialchars($header) . "
" . htmlspecialchars($column ?? '') . "" . htmlspecialchars($column ?? '') . "" . htmlspecialchars($column ?? '') . "
\n"; + +} else { + echo '

No matching conferences found.

'; +} +echo "\n
\n"; + +echo "
"; + + + +// last 10 conferences +try { + $conference = new Conference($db); + + // all time + $from_time = '0000-01-01'; + $until_time = '9999-12-31'; + $time_range_specified = false; + // number of conferences to show + $conference_number = 10; + + // prepare the result + $search = $conference->conferencesAllFormatted($from_time, $until_time); + + if (!empty($search)) { + $conferences = array(); + $conferences['records'] = array(); + + $i = 0; + foreach ($search as $item) { + extract($item); + $conference_record = array( + // assign title to the field in the array record + 'component' => $jitsi_component, + 'start' => $start, + 'end' => $end, + 'conference ID' => $conference_id, + 'conference name' => $conference_name, + 'participants' => $participants, + 'name count' => $name_count, + 'conference host' => $conference_host + ); + // populate the result array + array_push($conferences['records'], $conference_record); + + // we only take the first 10 results + $i++; + if ($i == 10) break; + } + } + +} catch (Exception $e) { + $error = 'Error: ' . $e->getMessage(); + include 'templates/message.php'; + exit(); +} + +// display the result +echo "
"; + +echo "
\n"; +echo "
The last $conference_number conferences"; +if ($time_range_specified) { + echo "
for the time period $from_time - $until_time"; +} +echo "
\n\n"; + +//// filters - time selection and sorting dropdowns +//include 'templates/results-filter.php'; + +echo "
\n\n"; + +// results table +echo "
\n"; + +if (!empty($conferences['records'])) { + + echo "\t\n"; + echo "\t\t\n"; + + // table headers + foreach (array_keys($conferences['records'][0]) as $header) { + echo "\t\t\t\n"; + } + echo "\t\t\n"; + + //table rows + foreach ($conferences['records'] as $row) { + echo "\t\t\n"; + // sometimes $column is empty, we make it '' then + foreach ($row as $key => $column) { + if ($key === 'conference ID' && $column === $conference_id) { + echo "\t\t\t\n"; + } elseif ($key === 'conference name') { + echo "\t\t\t\n"; + } else { + echo "\t\t\t\n"; + } + } + echo "\t\t\n"; + } + + echo "\t
" . htmlspecialchars($header) . "
" . htmlspecialchars($column ?? '') . "" . htmlspecialchars($column ?? '') . "" . htmlspecialchars($column ?? '') . "
\n"; + +} else { + echo '

No matching conferences found.

'; +} +echo "\n
\n"; + +echo "
"; + + +?> diff --git a/public_html/static/all.css b/public_html/static/all.css index ab4ac61..2cd776a 100644 --- a/public_html/static/all.css +++ b/public_html/static/all.css @@ -79,7 +79,7 @@ } .results { - padding-bottom: 30px; + margin-bottom: 50px; } .results table { @@ -97,6 +97,9 @@ .results th { background-color: #f2f2f2; } +.results p { + text-align: center; +} .results-header { @@ -111,3 +114,7 @@ .results-filter { text-align: right; } + +.widget { + border: 1px solid gray; +} diff --git a/public_html/templates/results-filter.php b/public_html/templates/results-filter.php index 2deebab..10e03ed 100644 --- a/public_html/templates/results-filter.php +++ b/public_html/templates/results-filter.php @@ -1,7 +1,7 @@
-
+ /> @@ -13,8 +13,22 @@ /> + +
+ +