Adds search filter for conferences
parent
e499ef083e
commit
5c020a8483
|
@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file.
|
|||
- Added session persistence and cookies
|
||||
- Added config page with configuration details
|
||||
- Added conferences page with listing of conferences from the jilo database
|
||||
- Added search filter for conferences with time, ID and name
|
||||
|
||||
### Changed
|
||||
|
||||
|
|
|
@ -3,20 +3,29 @@
|
|||
require_once 'classes/database.php';
|
||||
require 'classes/conference.php';
|
||||
|
||||
// FIXME add dropdown menus for selecting from-until
|
||||
$from_time = '0000-01-01';
|
||||
$until_time = '9999-12-31';
|
||||
|
||||
// FIXME move thi sto a special function
|
||||
$time_range_specified = false;
|
||||
if (!isset($_REQUEST['from_time']) || (isset($_REQUEST['from_time']) && $_REQUEST['from_time'] == '')) {
|
||||
$from_time = '0000-01-01';
|
||||
} else {
|
||||
$from_time = $_REQUEST['from_time'];
|
||||
$time_range_specified = true;
|
||||
}
|
||||
if (!isset($_REQUEST['until_time']) || (isset($_REQUEST['until_time']) && $_REQUEST['until_time'] == '')) {
|
||||
$until_time = '9999-12-31';
|
||||
} else {
|
||||
$until_time = $_REQUEST['until_time'];
|
||||
$time_range_specified = true;
|
||||
}
|
||||
|
||||
// conference id/name are specified when searching specific conference(s)
|
||||
// either id or name, id has precedence
|
||||
// either id OR name, id has precedence
|
||||
// we use $_REQUEST, so that both links and forms work
|
||||
if (isset($_REQUEST['id'])) {
|
||||
if (isset($_REQUEST['id']) && $_REQUEST['id'] != '') {
|
||||
$conference_id = $_REQUEST['id'];
|
||||
unset($_REQUEST['name']);
|
||||
unset($conference_name);
|
||||
} elseif (isset($_REQUEST['name'])) {
|
||||
} elseif (isset($_REQUEST['name']) && $_REQUEST['name'] != '') {
|
||||
unset($conference_id);
|
||||
$conference_name = $_REQUEST['name'];
|
||||
} else {
|
||||
|
@ -77,12 +86,20 @@ if (isset($conference_id)) {
|
|||
}
|
||||
|
||||
// display the result
|
||||
echo "<div class=\"results\">\n";
|
||||
echo "Conferences with ID matching \"<strong>$conference_id</strong>\"";
|
||||
echo "<div class=\"results-header\">\n";
|
||||
echo "<div class=\"results-message\">Conferences with ID matching \"<strong>$conference_id</strong>\"";
|
||||
if ($time_range_specified) {
|
||||
echo " for the time period <strong>$from_time - $until_time</strong>";
|
||||
echo "<br />for the time period <strong>$from_time - $until_time</strong>";
|
||||
}
|
||||
echo "\n\n";
|
||||
echo "</div>\n\n";
|
||||
|
||||
// filters - time selection and sorting dropdowns
|
||||
include 'templates/results-filter.php';
|
||||
|
||||
echo "</div>\n\n";
|
||||
|
||||
// results table
|
||||
echo "<div class=\"results\">\n";
|
||||
|
||||
if (!empty($conferences['records'])) {
|
||||
|
||||
|
@ -157,12 +174,20 @@ if (isset($conference_id)) {
|
|||
}
|
||||
|
||||
// display the result
|
||||
echo "<div class=\"results\">\n";
|
||||
echo "Conferences with name matching \"<strong>$conference_name</strong>\"";
|
||||
echo "<div class=\"results-header\">\n";
|
||||
echo "<div class=\"results-message\">Conferences with name matching \"<strong>$conference_name</strong>\"";
|
||||
if ($time_range_specified) {
|
||||
echo " for the time period <strong>$from_time - $until_time</strong>";
|
||||
echo "<br />for the time period <strong>$from_time - $until_time</strong>";
|
||||
}
|
||||
echo "\n\n";
|
||||
echo "</div>\n\n";
|
||||
|
||||
// filters - time selection and sorting dropdowns
|
||||
include 'templates/results-filter.php';
|
||||
|
||||
echo "</div>\n\n";
|
||||
|
||||
// results table
|
||||
echo "<div class=\"results\">\n";
|
||||
|
||||
if (!empty($conferences['records'])) {
|
||||
|
||||
|
@ -236,12 +261,20 @@ if (isset($conference_id)) {
|
|||
}
|
||||
|
||||
// display the result
|
||||
echo "<div class=\"results\">\n";
|
||||
echo "All conferences";
|
||||
echo "<div class=\"results-header\">\n";
|
||||
echo "<div class=\"results-message\">All conferences";
|
||||
if ($time_range_specified) {
|
||||
echo " for the time period <strong>$from_time - $until_time</strong>";
|
||||
echo "<br />for the time period <strong>$from_time - $until_time</strong>";
|
||||
}
|
||||
echo "\n\n";
|
||||
echo "</div>\n\n";
|
||||
|
||||
// filters - time selection and sorting dropdowns
|
||||
include 'templates/results-filter.php';
|
||||
|
||||
echo "</div>\n\n";
|
||||
|
||||
// results table
|
||||
echo "<div class=\"results\">\n";
|
||||
|
||||
if (!empty($conferences['records'])) {
|
||||
|
||||
|
|
|
@ -97,3 +97,17 @@
|
|||
.results th {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
|
||||
.results-header {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.results-message, .results-filter {
|
||||
width: 50%;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.results-filter {
|
||||
text-align: right;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
<div class="results-filter">
|
||||
|
||||
<form method="POST" action="?page=<?= $page ?>">
|
||||
|
||||
<label for="from_time">from</label>
|
||||
<input type="date" id="from_time" name="from_time"<?php if (isset($_REQUEST['from_time'])) echo " value=\"" . $_REQUEST['from_time'] . "\"" ?> />
|
||||
|
||||
<label for="until_time">until</label>
|
||||
<input type="date" id="until_time" name="until_time"<?php if (isset($_REQUEST['until_time'])) echo " value=\"" . $_REQUEST['until_time'] . "\"" ?> />
|
||||
|
||||
<input type="text" name="id" placeholder="ID"<?php if (isset($_REQUEST['id'])) echo " value=\"" . $_REQUEST['id'] . "\"" ?> />
|
||||
|
||||
<input type="text" name="name" placeholder="name"<?php if (isset($_REQUEST['name'])) echo " value=\"" . $_REQUEST['name'] . "\"" ?> />
|
||||
|
||||
<input type="submit" value="search" />
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
Loading…
Reference in New Issue