diff --git a/nextrip.php b/nextrip.php index 0998afc..72f7a8e 100644 --- a/nextrip.php +++ b/nextrip.php @@ -33,7 +33,7 @@ @@ -64,66 +64,90 @@ - {$stop}は無効な停留所です。"; - } else { - $directions = [ - "NB" => "北行", - "EB" => "東行", - "SB" => "南行", - "WB" => "西行" - ]; - - $content = file_get_contents("https://svc.metrotransit.org/NexTrip/$stop?format=json"); - $json = json_decode($content); - - if(!$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 '
'; - echo "お気に入りに追加"; - } - } - } else { - $favorites = json_decode($_COOKIE['favorites']); +
+
+ {$stop}は無効な停留所です。"; + } else { + $directions = [ + "NB" => "北行", + "EB" => "東行", + "SB" => "南行", + "WB" => "西行" + ]; + + $content = file_get_contents("https://svc.metrotransit.org/NexTrip/$stop?format=json"); + $json = json_decode($content); + + if(!$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]; - if(!empty($favAdd)) { - if(!in_array($favAdd, $favorites)) { - $favorites[] = $favAdd; - setcookie("favorites", json_encode($favorites)); - echo "

{$favAdd}はお気に入りに追加しました。

"; + echo '
'; + echo '
'; + echo '
'; + echo ""; + echo '
'; + echo ''; + echo ""; + if(isset($favDesc)) + echo ''; + else + echo ''; + echo '
'; + echo '
'; + echo '
'; + echo '
'; + } + } } else { - echo "

{$favAdd}は既にお気に入りにありました。

"; - } - } else if(!empty($favRemove)) { - $favorites = array_filter($favorites, function($v) { global $favRemove; return $v != $favRemove; }); - setcookie("favorites", json_encode($favorites)); - echo "

{$favRemove}は削除しました。

"; - } + $favorites = isset($_COOKIE['favorites']) ? json_decode($_COOKIE['favorites'], true) : Array(); + + if(isset($favSet)) { + $desc = $_GET['desc']; + + $favorites[$favSet] = $desc; + 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}はお気に入りにありません。

"; + } + } - if(count($favorites) > 0) { - echo '

お気に入り

'; - echo ''; - } - } - ?> + ?> +
+