Initial commit

This commit is contained in:
Juho Teperi
2013-05-13 11:43:34 +03:00
commit fbf8fb087a
44 changed files with 2425 additions and 0 deletions

20
app/api/config.php Normal file
View File

@@ -0,0 +1,20 @@
<?php
$config = array(
'server' => 'localhost',
'db' => 'lentolaskuri2',
'user' => 'lentolaskuri2',
'password' => '8@89z~UIwavn',
);
// ----
$mysqli = new mysqli($config['server'], $config['user'], $config['password'], $config['db']);
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

28
app/api/import.php Normal file
View File

@@ -0,0 +1,28 @@
<?php
require_once('config.php');
if (($handle = fopen("http://openflights.svn.sourceforge.net/viewvc/openflights/openflights/data/airports.dat", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$id = $mysqli->real_escape_string($data[0]);
$name = $mysqli->real_escape_string($data[1]);
$city = $mysqli->real_escape_string($data[2]);
$country = $mysqli->real_escape_string($data[3]);
$iata = $mysqli->real_escape_string($data[4]);
$icao = $mysqli->real_escape_string($data[5]);
if (empty($iata)) {
continue;
}
$lat = $mysqli->real_escape_string($data[6]);
$long = $mysqli->real_escape_string($data[7]);
$query = "REPLACE INTO airports (id, name, city, country, iata, icao, lat, `long`) VALUES ('$id', '$name', '$city', '$country', '$iata', '$icao', '$lat', '$long')";
if (!$mysqli->query($query)) {
printf("Error: %s\n", $mysqli->sqlstate);
exit();
}
}
fclose($handle);
}
$mysqli->close();

54
app/api/search.php Normal file
View File

@@ -0,0 +1,54 @@
<?php
require_once('config.php');
header("Access-Control-Allow-Origin: *");
$search = $mysqli->real_escape_string($_GET['s']);
$id = $mysqli->real_escape_string($_GET['i']);
if (empty($search) && empty($id)) {
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
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;
";
} else if (!empty($id)) {
$query ="SELECT * FROM airports WHERE id LIKE '$id';";
}
$results = array();
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
$results[] = $row;
}
print(json_encode($results));
} else {
printf("Error: %s\n", $mysqli->sqlstate);
}