停留所{$stop} – $stop_name
"; echo '(' . date('H:i', $bus->departure_time) . ')'; } else { $time = date('H:i', $bus->departure_time); } $warn = ""; $warnClass = ""; if($bus->schedule_relationship == "Skipped") { $warn = "キャンセル"; $warnClass = 'danger'; } else if($bus->schedule_relationship == "NoData") { $warn = "データなし"; $warnClass = 'warning'; } else if($bus->schedule_relationship != "Scheduled") { $warn = $bus->schedule_relationship; $warnClass = 'warning'; } echo "
";
$route_name = str_replace(' Line', '線', $bus->route_short_name) . $bus->terminal;
echo "{$route_name}({$directions[$bus->direction_text]})";
echo "
$time";
if($warn)
echo "
$warn";
echo '
アラート
'; foreach($json->alerts as $alert) { $alertClass = $alert->stop_closed ? "danger" : "warning"; echo "$alert->alert_text
";
}
if(!empty($key)) {
// お気に入りフォームをプリント
$query = 'SELECT description FROM favorites WHERE favorites.key=$1 AND favorites.stop=$2 LIMIT 1';
$res = pg_query_params($query, [$key, $stop]) or die('Query failed: ' . pg_last_error());
$row = pg_fetch_array($res);
echo '';
// 亭の古い行を削除
$query = 'SELECT history_id FROM history WHERE history.key=$1 AND history.stop=$2 LIMIT 1';
$res = pg_query_params($query, [$key, $stop]) or die('Query failed: ' . pg_last_error());
while($row = pg_fetch_array($res)) {
$query = 'DELETE FROM history WHERE history_id=$1';
$res = pg_query_params($query, [$row['history_id']]) or die('Query failed: ' . pg_last_error());
}
// 新たな行を入れる
$query = 'INSERT INTO history (stop, key) VALUES ($1, $2)';
$res = pg_query_params($query, [$stop, $key]) or die('Query failed: ' . pg_last_error());
$row = pg_fetch_array($res);
}
} else {
echo "{$stop}は無効な停留所です。"; } } else if($keyMenu) { //キーを設定 echo ''; echo '
キーを設定して、お気に入りを使用できます。キーを持つ誰でもあなたのお気に入りを見ることができますので、秘密にしておきましょう。
'; } else { // HPを表示 // 停留所フォームをプリント echo ''; if(!empty($key)) { if(isset($favSet)) { // お気に入りに追加 $query = 'SELECT fav_id, stop, description FROM favorites WHERE favorites.key=$1 AND favorites.stop=$2 LIMIT 1'; $res = pg_query_params($query, [$key, $favSet]) or die('Query failed: ' . pg_last_error()); $row = pg_fetch_array($res); $desc = $_POST['desc']; if(!$row) { $query = 'INSERT INTO favorites (stop, priority, description, key) VALUES ($1, 0, $2, $3)'; pg_query_params($query, [$favSet, $desc, $key]); echo "$favSet – {$desc}は設定しました。"; } else if($desc != $row['description']) { $query = 'UPDATE favorites SET description=$1 WHERE favorites.key=$2 AND favorites.fav_id=$3'; pg_query_params($query, [$desc, $key, $row['fav_id']]); echo "
$favSet – {$desc}は更新しました。"; } else { echo "
{$favSet}はすでに設定しました。"; } } else if(isset($favRemove)) { // お気に入りから削除 $query = 'SELECT stop, description FROM favorites WHERE favorites.key=$1 AND favorites.fav_id=$2'; $res = pg_query_params($query, [$key, $favRemove]) or die('Query failed: ' . pg_last_error()); $row = pg_fetch_array($res); if($row) { $stop = $row['stop']; $desc = $row['description']; $query = 'DELETE FROM favorites WHERE favorites.fav_id=$1'; pg_query_params($query, [$favRemove]); echo "
$stop – {$desc}は削除しました。"; } else { echo "
亭はお気に入りにありません。"; } } else if(isset($favUp)) { // お気に入りを上げる $query = 'SELECT stop, description, priority FROM favorites WHERE favorites.key=$1 AND favorites.fav_id=$2'; $res = pg_query_params($query, [$key, $favUp]) or die('Query failed: ' . pg_last_error()); $row = pg_fetch_array($res); if($row) { $stop = $row['stop']; $desc = $row['description']; $priority = $row['priority'] + 1; $query = 'UPDATE favorites SET priority=priority+1 WHERE favorites.fav_id=$1'; pg_query_params($query, [$favUp]) or die('Query failed: ' . pg_last_error()); echo "
$stop – {$desc}は{$priority}に上げました。"; } else { echo "
亭はお気に入りにありません。"; } } else if(isset($favDown)) { // お気に入りを下げる $query = 'SELECT stop, description, priority FROM favorites WHERE favorites.key=$1 AND favorites.fav_id=$2'; $res = pg_query_params($query, [$key, $favDown]) or die('Query failed: ' . pg_last_error()); $row = pg_fetch_array($res); if($row) { $stop = $row['stop']; $desc = $row['description']; $priority = $row['priority'] - 1; $query = 'UPDATE favorites SET priority=priority-1 WHERE favorites.fav_id=$1'; pg_query_params($query, [$favDown]) or die('Query failed: ' . pg_last_error()); echo "
$stop – {$desc}は{$priority}に下げました。"; } else { echo "
亭はお気に入りにありません。"; } } else if(isset($keySet)) { if(!empty($keySet)) { echo "
ようこそ、{$shortKey}さん。"; } else { echo "
さようなら、{$shortKey}さん。"; } } else if(isset($historyRemove)) { // 履歴から削除 $query = 'SELECT history_id, stop FROM history WHERE history.key=$1 AND history_id=$2'; $res = pg_query_params($query, [$key, $historyRemove]) or die('Query failed: ' . pg_last_error()); $row = pg_fetch_array($res); if($row) { $stop = $row['stop']; $query = 'DELETE FROM history WHERE history_id=$1'; $res = pg_query_params($query, [$row['history_id']]) or die('Query failed: ' . pg_last_error()); echo "
{$stop}は削除しました。"; } else { echo "
亭は履歴にありません。"; } } // お気に入り一覧 $query = 'SELECT fav_id, stop, description, priority FROM favorites WHERE favorites.key=$1 ORDER BY favorites.priority DESC, favorites.stop ASC'; $res = pg_query_params($query, [$key]) or die('Query failed: ' . pg_last_error()); // お気に入りがある場合、プリント if(pg_num_rows($res) > 0) { echo '
お気に入り
'; echo ''; } // 履歴一覧 $query = 'SELECT history_id, stop FROM history WHERE history.key=$1 ORDER BY history_id DESC LIMIT 5'; $res = pg_query_params($query, [$key]) or die('Query failed: ' . pg_last_error()); // 履歴がある場合、プリント if(pg_num_rows($res) > 0) { echo '履歴
'; echo ''; } } else { echo 'キーを設定すると、お気に入りの停留所を保存できます。既存のお気に入りため、古い版も使用可能です。'; } } pg_close($dbc); if(strstr($_SERVER['HTTP_USER_AGENT'], "KAIOS")) echo ''; ?>