diff --git a/nextrip.php b/nextrip.php index 26571f6..45193e9 100644 --- a/nextrip.php +++ b/nextrip.php @@ -1,5 +1,5 @@ 停留所のNexTrip情報 +
-
-
- {$stop}は無効な停留所です。"; - } else { - $directions = [ - "NB" => "北行", - "EB" => "東行", - "SB" => "南行", - "WB" => "西行" - ]; - - $content = file_get_contents("https://svc.metrotransit.org/NexTrip/$stop?format=json"); - $json = json_decode($content); - - if(!isset($json)) { - echo "

{$stop}は無効な停留所です。

"; - } else { - echo "

停留所{$stop}のNexTrip情報

"; - echo '
'; - foreach($json as $bus) { - echo '
'; - echo "

$bus->Route{$bus->Terminal}({$directions[$bus->RouteDirection]})
"; - echo "$bus->DepartureText

"; - echo '
'; - } - echo '
'; - - $favDesc = json_decode($_COOKIE['favorites'], true)[$stop]; - - echo '
'; - echo ""; - echo '
'; - echo ''; - echo ""; - if(isset($favDesc)) - echo ''; - else - echo ''; - echo '
'; - echo '
'; - } +
+ "北行", + "EB" => "東行", + "SB" => "南行", + "WB" => "西行" + ]; + + // APIデータを取得 + $content = file_get_contents("https://svc.metrotransit.org/NexTrip/$stop?format=json"); + $json = json_decode($content); + + if(isset($json)) { + // 情報をプリント + echo "

停留所{$stop}のNexTrip情報

"; + echo '
'; + foreach($json as $bus) { + echo '
'; + echo "

$bus->Route{$bus->Terminal}({$directions[$bus->RouteDirection]})
"; + echo "$bus->DepartureText

"; + echo '
'; } - } else { - echo '
'; - echo '
'; - echo '
'; - echo '
'; - echo ''; - echo ''; - echo ''; - echo '
'; - echo '
'; echo '
'; + + // お気に入りフォームをプリント + $favDesc = json_decode($_COOKIE['favorites'], true)[$stop]; + + echo "
"; + echo ""; + echo '
'; + echo ''; + echo ""; + echo ''; echo '
'; + echo '
'; + } else { + echo "
{$stop}は無効な停留所です。
"; + } + } else { // HPを表示 + // 停留所フォームをプリント + echo "
"; + echo '
'; + echo ''; + echo ''; + echo ''; + echo '
'; + echo '
'; - $favorites = isset($_COOKIE['favorites']) ? json_decode($_COOKIE['favorites'], true) : Array(); + // お気に入り一覧 + $favorites = isset($_COOKIE['favorites']) ? json_decode($_COOKIE['favorites'], true) : Array(); - if(isset($favSet)) { - $desc = $_GET['desc']; + if(isset($favSet)) { // お気に入りに追加 + $desc = $_POST['desc']; - $favorites[$favSet] = $desc; - ksort($favorites); + $favorites[$favSet] = $desc; + ksort($favorites); + setcookie("favorites", json_encode($favorites)); + echo "
{$favSet}({$desc})は設定しました。
"; + } else if(isset($favRemove)) { // お気に入りから削除 + if(array_key_exists($favRemove, $favorites)) { + $desc = $favorites[$favRemove]; + unset($favorites[$favRemove]); setcookie("favorites", json_encode($favorites)); - echo "

{$favSet}({$desc})は設定しました。

"; - } else if(isset($favRemove)) { - if(array_key_exists($favRemove, $favorites)) { - $desc = $favorites[$favRemove]; - unset($favorites[$favRemove]); - setcookie("favorites", json_encode($favorites)); - echo "

{$favRemove}({$desc})は削除しました。

"; - } else { - echo "

{$favRemove}はお気に入りにありません。

"; - } + echo "
{$favRemove}({$desc})は削除しました。
"; + } else { + echo "
{$favRemove}はお気に入りにありません。
"; } + } - if(count($favorites) > 0) { - echo '

お気に入り

'; - echo '
    '; - foreach($favorites as $favStop => $favDesc) { - echo '
  • '; - echo "$favStop ($favDesc)"; - echo "×"; - echo '
  • '; - } - echo '
'; + // お気に入りがある場合、プリント + if(count($favorites) > 0) { + echo '

お気に入り

'; + echo "
"; + echo '
    '; + foreach($favorites as $favStop => $favDesc) { + echo '
  • '; + echo ""; + echo ""; + echo '
  • '; } + echo '
'; + echo '
'; } - ?> -
+ } + ?>
- -