mirror of
https://github.com/Ekokumppanit/Lentolaskuri.git
synced 2026-02-06 10:44:03 +00:00
- Added section on configuration to README.md
- Made the application more configurable by the user - Made installation easier - API location is now dynamic based on window.location - Cleaned up some older code that was pointing to dev stuff - Now includes the SQL-table required to run the application - Application now exposes config to console for easier debugging - Search now supports user specified table name - Updated the OpenFlights airport data file source
This commit is contained in:
@@ -1,56 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* Return Airport data from the database based on search query
|
||||
*
|
||||
* @category Lentolaskuri
|
||||
* @package Lentolaskuri
|
||||
* @author Ismo Vuorinen <ismo@ivuorinen.net>
|
||||
* @license http://www.gnu.org/licenses/agpl.html GNU Affero General Public License
|
||||
* @link https://github.com/Ekokumppanit/Lentolaskuri
|
||||
*/
|
||||
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
|
||||
header("Access-Control-Allow-Origin: *");
|
||||
|
||||
$search = $mysqli->real_escape_string($_GET['s']);
|
||||
$id = $mysqli->real_escape_string($_GET['i']);
|
||||
$get_s = (empty($_GET['s'])) ? null : $_GET['s'];
|
||||
$get_i = (empty($_GET['i'])) ? null : $_GET['i'];
|
||||
|
||||
$search = $mysqli->real_escape_string($get_s);
|
||||
$id = $mysqli->real_escape_string($get_i);
|
||||
|
||||
if (empty($search) && empty($id)) {
|
||||
exit();
|
||||
exit();
|
||||
}
|
||||
|
||||
$query = "";
|
||||
|
||||
if (!empty($search)) {
|
||||
$query = "
|
||||
SELECT *,
|
||||
CASE
|
||||
WHEN iata LIKE '$search%' THEN 100
|
||||
WHEN name LIKE '$search%' THEN 75
|
||||
WHEN name LIKE '%$search%' THEN 74
|
||||
WHEN city LIKE '$search%' THEN 70
|
||||
WHEN country LIKE '$search%' THEN 65
|
||||
WHEN city LIKE '%$search%' THEN 60
|
||||
WHEN country LIKE '%$search%' THEN 55
|
||||
$query = "
|
||||
SELECT *,
|
||||
CASE
|
||||
WHEN iata LIKE '$search%' THEN 100
|
||||
WHEN name LIKE '$search%' THEN 75
|
||||
WHEN name LIKE '%$search%' THEN 74
|
||||
WHEN city LIKE '$search%' THEN 70
|
||||
WHEN country LIKE '$search%' THEN 65
|
||||
WHEN city LIKE '%$search%' THEN 60
|
||||
WHEN country LIKE '%$search%' THEN 55
|
||||
ELSE 0 END
|
||||
AS score
|
||||
FROM airports
|
||||
WHERE
|
||||
name LIKE '$search%' OR
|
||||
name LIKE '%$search%' OR
|
||||
country LIKE '$search%' OR
|
||||
country LIKE '%$search%' OR
|
||||
city LIKE '$search%' OR
|
||||
city LIKE '%$search%' OR
|
||||
iata LIKE '$search%'
|
||||
ORDER BY score DESC
|
||||
LIMIT 10;
|
||||
";
|
||||
AS
|
||||
score
|
||||
FROM
|
||||
" . $config['table'] . "
|
||||
WHERE
|
||||
name LIKE '$search%' OR
|
||||
name LIKE '%$search%' OR
|
||||
country LIKE '$search%' OR
|
||||
country LIKE '%$search%' OR
|
||||
city LIKE '$search%' OR
|
||||
city LIKE '%$search%' OR
|
||||
iata LIKE '$search%'
|
||||
ORDER BY
|
||||
score DESC
|
||||
LIMIT 10;";
|
||||
} else if (!empty($id)) {
|
||||
$query ="SELECT * FROM airports WHERE id LIKE '$id';";
|
||||
$query = "SELECT * FROM " . $config['table'] . " WHERE id LIKE '$id';";
|
||||
}
|
||||
|
||||
$results = array();
|
||||
if ($result = $mysqli->query($query)) {
|
||||
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$results[] = $row;
|
||||
}
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$results[] = $row;
|
||||
}
|
||||
|
||||
print(json_encode($results));
|
||||
print(json_encode($results));
|
||||
|
||||
} else {
|
||||
printf("Error: %s\n", $mysqli->sqlstate);
|
||||
printf("Error: %s\n", $mysqli->sqlstate);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user