<?php | <?php |
include ('common.inc.php'); | include ('common.inc.php'); |
$stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); | $stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); |
$stopcode = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_STRING); | $stopcode = filter_var($_REQUEST['stopcode'], FILTER_SANITIZE_STRING); |
$url = $APIurl . "/json/stop?stop_id=" . $stopid; | $url = $APIurl . "/json/stop?stop_id=" . $stopid; |
$stop = json_decode(getPage($url)); | $stop = json_decode(getPage($url)); |
if ($stop[5] != $stopcode) { | if ($stopcode != "" && $stop[5] != $stopcode) { |
$url = $APIurl . "/json/stopcodesearch?q=" . $stopcode; | $url = $APIurl . "/json/stopcodesearch?q=" . $stopcode; |
$stopsearch = json_decode(getPage($url)); | $stopsearch = json_decode(getPage($url)); |
$stopid = $stopsearch[0][0]; | $stopid = $stopsearch[0][0]; |
$url = $APIurl . "/json/stop?stop_id=" . $stopid; | $url = $APIurl . "/json/stop?stop_id=" . $stopid; |
$stop = json_decode(getPage($url)); | $stop = json_decode(getPage($url)); |
} | } |
if (!startsWith($stop[5], "Wj") && strpos($stop[1],"Platform") === false) { | |
// expand out to all platforms | |
} | |
$stops = Array(); | |
$stopPositions = Array(); | |
$tripStopNumbers = Array(); | |
$allStopsTrips = Array(); | |
$stopLinks = ""; | |
if (isset($_REQUEST['stopids'])) { | |
$stopids = explode(",",filter_var($_REQUEST['stopids'], FILTER_SANITIZE_STRING)); | |
foreach ($stopids as $sub_stopid) { | |
$url = $APIurl . "/json/stop?stop_id=" . $sub_stopid; | |
$stop = json_decode(getPage($url)); | |
$stops[] = $stop; | |
} | |
$stop = $stops[0]; | |
$stopid = $stops[0][0]; | |
$stopLinks .= "Individual stop pages: "; | |
foreach ($stops as $key => $sub_stop) { | |
$stopLinks .= '<a href="stop.php?stopid='.$sub_stop[0].'&stopcode='.$sub_stop[5].'">'.$sub_stop[1].' Stop #'.($key+1).'</a> '; | |
$stopPositions[$key] = Array($sub_stop[2],$sub_stop[3]); | |
$url = $APIurl . "/json/stoptrips?stop=" . $sub_stop[0] . "&time=" . midnight_seconds() . "&service_period=" . service_period(); | |
$trips = json_decode(getPage($url)); | |
foreach ($trips as $trip) { | |
if (!isset($allStopTrips[$row[1][0]])) $allStopTrips[$row[1][0]] = $trip; | |
$tripStopNumbers[$row[1][0]][] = $key; | |
} | |
} | |
} | |
include_header($stop[1], "stop"); | include_header($stop[1], "stop"); |
if (isMetricsOn()) { | if (isMetricsOn()) { |
// Create a new Instance of the tracker | // Create a new Instance of the tracker |
$owa = new owa_php(); | $owa = new owa_php(); |
// Set the ID of the site being tracked | // Set the ID of the site being tracked |
$owa->setSiteId($owaSiteID); | $owa->setSiteId($owaSiteID); |
// Create a new event object | // Create a new event object |
$event = $owa->makeEvent(); | $event = $owa->makeEvent(); |
// Set the Event Type, in this case a "video_play" | // Set the Event Type, in this case a "video_play" |
$event->setEventType('view_stop'); | $event->setEventType('view_stop'); |
// Set a property | // Set a property |
$event->set('stop_id', $stopid); | $event->set('stop_id', $stopid); |
// Track the event | // Track the event |
$owa->trackEvent($event); | $owa->trackEvent($event); |
} | } |
timePlaceSettings(); | timePlaceSettings(); |
echo '<div data-role="content" class="ui-content" role="main"><p>' . staticmap(Array( | echo '<div data-role="content" class="ui-content" role="main">'; |
echo $stopLinks; | |
if (sizeof($stops) > 0) { | |
echo '<p>' . staticmap($stopPositions) . '</p>'; | |
} else { | |
echo '<p>' . staticmap(Array( | |
0 => Array( | 0 => Array( |
$stop[2], | $stop[2], |
$stop[3] | $stop[3] |
) | ) |
)) . '</p>'; | )) . '</p>'; |
} | |
echo ' <ul data-role="listview" data-inset="true">'; | echo ' <ul data-role="listview" data-inset="true">'; |
$url = $APIurl . "/json/stoptrips?stop=" . $stopid . "&time=" . midnight_seconds() . "&service_period=" . service_period(); | $url = $APIurl . "/json/stoptrips?stop=" . $stopid . "&time=" . midnight_seconds() . "&service_period=" . service_period(); |
$trips = json_decode(getPage($url)); | $trips = json_decode(getPage($url)); |
foreach ($trips as $row) { | foreach ($trips as $row) { |
echo '<li>'; | echo '<li>'; |
echo '<h3><a href="trip.php?stopid=' . $stopid . '&tripid=' . $row[1][0] . '">' . $row[1][1]; | echo '<h3><a href="trip.php?stopid=' . $stopid . '&tripid=' . $row[1][0] . '">' . $row[1][1]; |
if (isFastDevice()) { | if (isFastDevice()) { |
$viaPoints = viaPointNames($row[1][0], $stopid); | $viaPoints = viaPointNames($row[1][0], $stopid); |
if ($viaPoints != "") echo '<br><small>Via: ' . $viaPoints . '</small> </a></h3>'; | if ($viaPoints != "") echo '<br><small>Via: ' . $viaPoints . '</small> </a></h3>'; |
} | } |
echo '<p class="ui-li-aside"><strong>' . midnight_seconds_to_time($row[0]) . '</strong></p>'; | echo '<p class="ui-li-aside"><strong>' . midnight_seconds_to_time($row[0]) . '</strong></p>'; |
echo '</li>'; | echo '</li>'; |
} | } |
if (sizeof($trips) == 0) echo "<li> <center>No trips in the near future.</center> </li>"; | if (sizeof($trips) == 0) echo "<li> <center>No trips in the near future.</center> </li>"; |
echo '</ul></div>'; | echo '</ul></div>'; |
include_footer(); | include_footer(); |
?> | ?> |
<?php | <?php |
include ('common.inc.php'); | include ('common.inc.php'); |
function navbar() | function navbar() |
{ | { |
echo ' | echo ' |
<div data-role="navbar"> | <div data-role="navbar"> |
<ul> | <ul> |
<li><a href="stopList.php">Timing Points</a></li> | <li><a href="stopList.php">Timing Points</a></li> |
<li><a href="stopList.php?suburbs=yes">By Suburb</a></li> | <li><a href="stopList.php?suburbs=yes">By Suburb</a></li> |
<li><a href="stopList.php?nearby=yes">Nearby Stops</a></li> | <li><a href="stopList.php?nearby=yes">Nearby Stops</a></li> |
<li><a href="stopList.php?allstops=yes">All Stops</a></li> | <li><a href="stopList.php?allstops=yes">All Stops</a></li> |
</ul> | </ul> |
</div> | </div> |
'; | '; |
} | } |
// By suburb | // By suburb |
if (isset($_REQUEST['suburbs'])) { | if (isset($_REQUEST['suburbs'])) { |
include_header("Stops by Suburb", "stopList"); | include_header("Stops by Suburb", "stopList"); |
navbar(); | navbar(); |
echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; | echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; |
foreach ($suburbs as $suburb) { | foreach ($suburbs as $suburb) { |
echo '<li><a href="stopList.php?suburb=' . urlencode($suburb) . '">' . $suburb . '</a></li>'; | echo '<li><a href="stopList.php?suburb=' . urlencode($suburb) . '">' . $suburb . '</a></li>'; |
} | } |
echo '</ul>'; | echo '</ul>'; |
} | } |
else { | else { |
// Timing Points / All stops | // Timing Points / All stops |
if ($_REQUEST['allstops']) { | if ($_REQUEST['allstops']) { |
$url = $APIurl . "/json/stops"; | $url = $APIurl . "/json/stops"; |
include_header("All Stops", "stopList"); | include_header("All Stops", "stopList"); |
navbar(); | navbar(); |
timePlaceSettings(); | timePlaceSettings(); |
} | } |
else if ($_REQUEST['nearby']) { | else if ($_REQUEST['nearby']) { |
$url = $APIurl . "/json/neareststops?lat={$_SESSION['lat']}&lon={$_SESSION['lon']}&limit=15"; | $url = $APIurl . "/json/neareststops?lat={$_SESSION['lat']}&lon={$_SESSION['lon']}&limit=15"; |
include_header("Nearby Stops", "stopList"); | include_header("Nearby Stops", "stopList"); |
navbar(); | navbar(); |
timePlaceSettings(true); | timePlaceSettings(true); |
} | } |
else if ($_REQUEST['suburb']) { | else if ($_REQUEST['suburb']) { |
$suburb = filter_var($_REQUEST['suburb'], FILTER_SANITIZE_STRING); | $suburb = filter_var($_REQUEST['suburb'], FILTER_SANITIZE_STRING); |
$url = $APIurl . "/json/stopzonesearch?q=" . $suburb; | $url = $APIurl . "/json/stopzonesearch?q=" . $suburb; |
include_header("Stops in " . ucwords($suburb) , "stopList"); | include_header("Stops in " . ucwords($suburb) , "stopList"); |
if (isMetricsOn()) { | if (isMetricsOn()) { |
// Create a new Instance of the tracker | // Create a new Instance of the tracker |
$owa = new owa_php($config); | $owa = new owa_php($config); |
// Set the ID of the site being tracked | // Set the ID of the site being tracked |
$owa->setSiteId($owaSiteID); | $owa->setSiteId($owaSiteID); |
// Create a new event object | // Create a new event object |
$event = $owa->makeEvent(); | $event = $owa->makeEvent(); |
// Set the Event Type, in this case a "video_play" | // Set the Event Type, in this case a "video_play" |
$event->setEventType('view_stop_list_suburb'); | $event->setEventType('view_stop_list_suburb'); |
// Set a property | // Set a property |
$event->set('stop_list_suburb', $suburb); | $event->set('stop_list_suburb', $suburb); |
// Track the event | // Track the event |
$owa->trackEvent($event); | $owa->trackEvent($event); |
} | } |
navbar(); | navbar(); |
} | } |
else { | else { |
$url = $APIurl . "/json/timingpoints"; | $url = $APIurl . "/json/timingpoints"; |
include_header("Timing Points / Major Stops", "stopList"); | include_header("Timing Points / Major Stops", "stopList"); |
navbar(); | navbar(); |
timePlaceSettings(); | timePlaceSettings(); |
} | } |
echo '<div class="noscriptnav"> Go to letter: '; | echo '<div class="noscriptnav"> Go to letter: '; |
foreach (range('A', 'Z') as $letter) { | foreach (range('A', 'Z') as $letter) { |
echo "<a href=\"#$letter\">$letter</a> "; | echo "<a href=\"#$letter\">$letter</a> "; |
} | } |
echo "</div> | echo "</div> |
<script> | <script> |
$('.noscriptnav').hide(); | $('.noscriptnav').hide(); |
</script>"; | </script>"; |
echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; | echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; |
$contents = json_decode(getPage($url)); | $stops = json_decode(getPage($url)); |
foreach ($contents as $key => $row) { | foreach ($stops as $key => $row) { |
$stopName[$key] = $row[1]; | $stopName[$key] = $row[1]; |
} | } |
// Sort the stops by name | // Sort the stops by name |
array_multisort($stopName, SORT_ASC, $contents); | array_multisort($stopName, SORT_ASC, $stops); |
$firstletter = ""; | $firstletter = ""; |
foreach ($contents as $row) { | $stopsGrouped = Array(); |
foreach ($stops as $key => $row) { | |
if (substr($row[1], 0, 1) != $firstletter) { | if (substr($row[1], 0, 1) != $firstletter) { |
echo "<a name=$firstletter></a>"; | echo "<a name=$firstletter></a>"; |
$firstletter = substr($row[1], 0, 1); | $firstletter = substr($row[1], 0, 1); |
} | } |
echo '<li>'; | if (($stops[$key][1] != $stops[$key + 1][1]) || $key + 1 >= sizeof($stops)) { |
if (!startsWith($row[5], "Wj")) echo '<img src="css/images/time.png" alt="Timing Point" class="ui-li-icon">'; | if (sizeof($stopsGrouped) > 0) { |
echo '<a href="stop.php?stopid=' . $row[0] . (startsWith($row[5], "Wj") ? '&stopcode=' . $row[5] : "") . '">'; | // print and empty grouped stops |
if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) { | // subsequent duplicates |
echo '<span class="ui-li-count">' . floor(distance($row[2], $row[3], $_SESSION['lat'], $_SESSION['lon'])) . 'm away</span>'; | $stopsGrouped["stop_ids"][] = $row[0]; |
echo '<li><a href="stop.php?stopids=' . implode(",", $stopsGrouped['stop_ids']) . '">'; | |
if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) { | |
echo '<span class="ui-li-count">' . floor(distance($row[2], $row[3], $_SESSION['lat'], $_SESSION['lon'])) . 'm away</span>'; | |
} | |
echo bracketsMeanNewLine($row[1].'('.sizeof($stopsGrouped["stop_ids"]).' stops)'); | |
echo "</a></li>\n"; | |
$stopsGrouped = Array(); | |
} | |
else { | |
// just a normal stop | |
echo '<li>'; | |
if (!startsWith($row[5], "Wj")) echo '<img src="css/images/time.png" alt="Timing Point" class="ui-li-icon">'; | |
if (!startsWith($row[5], "Wj")) echo '<img src="css/images/time.png" alt="Timing Point" class="ui-li-icon">'; | |
echo '<a href="stop.php?stopid=' . $row[0] . (startsWith($row[5], "Wj") ? '&stopcode=' . $row[5] : "") . '">'; | |
if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) { | |
echo '<span class="ui-li-count">' . floor(distance($row[2], $row[3], $_SESSION['lat'], $_SESSION['lon'])) . 'm away</span>'; | |
} | |
echo bracketsMeanNewLine($row[1]); | |
echo "</a></li>\n"; | |
} | |
} | } |
echo bracketsMeanNewLine($row[1]); | else { |
echo '</a></li>'; | // this is a duplicated line item |
if ($key - 1 <= 0 || ($stops[$key][1] != $stops[$key - 1][1])) { | |
// first duplicate | |
$stopsGrouped = Array( | |
"name" => $row[1], | |
"stop_ids" => Array( | |
$row[0] | |
) | |
); | |
} | |
else { | |
// subsequent duplicates | |
$stopsGrouped["stop_ids"][] = $row[0]; | |
} | |
} | |
} | } |
echo '</ul>'; | echo '</ul>'; |
} | } |
include_footer(); | include_footer(); |
?> | ?> |
<?php | <?php |
include ('common.inc.php'); | include ('common.inc.php'); |
$tripid = filter_var($_REQUEST['tripid'], FILTER_SANITIZE_NUMBER_INT); | $tripid = filter_var($_REQUEST['tripid'], FILTER_SANITIZE_NUMBER_INT); |
$stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); | $stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); |
$routeid = filter_var($_REQUEST['routeid'], FILTER_SANITIZE_NUMBER_INT); | $routeid = filter_var($_REQUEST['routeid'], FILTER_SANITIZE_NUMBER_INT); |
$routetrips = Array(); | $routetrips = Array(); |
if ($_REQUEST['routeid']) { | if ($_REQUEST['routeid']) { |
$url = $APIurl . "/json/routetrips?route_id=" . $routeid; | $url = $APIurl . "/json/routetrips?route_id=" . $routeid; |
$routetrips = json_decode(getPage($url)); | $routetrips = json_decode(getPage($url)); |
foreach ($routetrips as $trip) { | foreach ($routetrips as $trip) { |
if ($trip[0] < midnight_seconds()) { | if ($trip[0] < midnight_seconds()) { |
$tripid = $trip[1]; | $tripid = $trip[1]; |
break; | break; |
} | } |
} | } |
if (!($tripid > 0)) $tripid = $routetrip[0][1]; | if (!($tripid > 0)) $tripid = $routetrip[0][1]; |
} | } |
$url = $APIurl . "/json/triprows?trip=" . $tripid; | $url = $APIurl . "/json/triprows?trip=" . $tripid; |
$trips = array_flatten(json_decode(getPage($url))); | $trips = array_flatten(json_decode(getPage($url))); |
if (sizeof($routetrips) == 0) { | if (sizeof($routetrips) == 0) { |
$routeid = $trips[1]->route_id; | $routeid = $trips[1]->route_id; |
$url = $APIurl . "/json/routetrips?route_id=" . $trips[1]->route_id; | $url = $APIurl . "/json/routetrips?route_id=" . $trips[1]->route_id; |
$routetrips = json_decode(getPage($url)); | $routetrips = json_decode(getPage($url)); |
} | } |
include_header("Stops on " . $trips[1]->route_short_name . ' ' . $trips[1]->route_long_name, "trip"); | include_header("Stops on " . $trips[1]->route_short_name . ' ' . $trips[1]->route_long_name, "trip"); |
if (isMetricsOn()) { | if (isMetricsOn()) { |
// Create a new Instance of the tracker | // Create a new Instance of the tracker |
$owa = new owa_php(); | $owa = new owa_php(); |
// Set the ID of the site being tracked | // Set the ID of the site being tracked |
$owa->setSiteId($owaSiteID); | $owa->setSiteId($owaSiteID); |
// Create a new event object | // Create a new event object |
$event = $owa->makeEvent(); | $event = $owa->makeEvent(); |
// Set the Event Type, in this case a "video_play" | // Set the Event Type, in this case a "video_play" |
$event->setEventType('view_trip'); | $event->setEventType('view_trip'); |
// Set a property | // Set a property |
$event->set('trip_id', $tripid); | $event->set('trip_id', $tripid); |
$event->set('route_id', $routeid); | $event->set('route_id', $routeid); |
$event->set('stop_id', $stopid); | $event->set('stop_id', $stopid); |
// Track the event | // Track the event |
$owa->trackEvent($event); | $owa->trackEvent($event); |
} | } |
timePlaceSettings(); | timePlaceSettings(); |
echo '<p> Other Trips: '; | echo '<p> Other Trips: '; |
foreach ($routetrips as $othertrip) { | foreach ($routetrips as $othertrip) { |
echo '<a href="trip.php?tripid=' . $othertrip[1] . "&routeid=" . $routeid . '">' . midnight_seconds_to_time($othertrip[0]) . '</a> '; | echo '<a href="trip.php?tripid=' . $othertrip[1] . "&routeid=" . $routeid . '">' . midnight_seconds_to_time($othertrip[0]) . '</a> '; |
} | } |
echo '</p> Other directions/timing periods: '; | echo '</p> Other directions/timing periods: '; |
echo ' <ul data-role="listview" data-inset="true">'; | echo ' <ul data-role="listview" data-inset="true">'; |
$url = $APIurl . "/json/tripstoptimes?trip=" . $tripid; | $url = $APIurl . "/json/tripstoptimes?trip=" . $tripid; |
$json = json_decode(getPage($url)); | $json = json_decode(getPage($url)); |
$stops = $json[0]; | $stops = $json[0]; |
$times = $json[1]; | $times = $json[1]; |
echo '<li data-role="list-divider">' . midnight_seconds_to_time($times[0]) . '-' . midnight_seconds_to_time($times[sizeof($times) - 1]) . '</li>'; | echo '<li data-role="list-divider">' . midnight_seconds_to_time($times[0]) . '-' . midnight_seconds_to_time($times[sizeof($times) - 1]) . '</li>'; |
$stopsGrouped = Array(); | $stopsGrouped = Array(); |
foreach ($stops as $key => $row) { | foreach ($stops as $key => $row) { |
if (($stops[$key][1] != $stops[$key + 1][1]) || $key + 1 >= sizeof($stops)) { | if (($stops[$key][1] != $stops[$key + 1][1]) || $key + 1 >= sizeof($stops)) { |
echo '<li>'; | echo '<li>'; |
if (!startsWith($row[5], "Wj")) echo '<img src="css/images/time.png" alt="Timing Point" class="ui-li-icon">'; | if (!startsWith($row[5], "Wj")) echo '<img src="css/images/time.png" alt="Timing Point" class="ui-li-icon">'; |
if (sizeof($stopsGrouped) > 0) { | if (sizeof($stopsGrouped) > 0) { |
// print and empty grouped stops | // print and empty grouped stops |
// subsequent duplicates | // subsequent duplicates |
$stopsGrouped["stop_ids"][] = $row[0]; | $stopsGrouped["stop_ids"][] = $row[0]; |
$stopsGrouped["endTime"] = $times[$key]; | $stopsGrouped["endTime"] = $times[$key]; |
echo '<a href="stop.php?stopids=' . $stopsGrouped['stop_ids'] . '">'; | echo '<a href="stop.php?stopids=' . implode(",",$stopsGrouped['stop_ids']) . '">'; |
echo '<p class="ui-li-aside">' . midnight_seconds_to_time($stopsGrouped['startTime']) . ' to ' . midnight_seconds_to_time($stopsGrouped['endTime']) . '</p>'; | echo '<p class="ui-li-aside">' . midnight_seconds_to_time($stopsGrouped['startTime']) . ' to ' . midnight_seconds_to_time($stopsGrouped['endTime']) . '</p>'; |
echo bracketsMeanNewLine($row[1]); | echo bracketsMeanNewLine($row[1]); |
echo '</a></li>'; | echo '</a></li>'; |
$stopsGrouped = Array(); | $stopsGrouped = Array(); |
} | } |
else { | else { |
// just a normal stop | // just a normal stop |
echo '<a href="stop.php?stopid=' . $row[0] . (startsWith($row[5], "Wj") ? '&stopcode=' . $row[5] : "") . '">'; | echo '<a href="stop.php?stopid=' . $row[0] . (startsWith($row[5], "Wj") ? '&stopcode=' . $row[5] : "") . '">'; |
echo '<p class="ui-li-aside">' . midnight_seconds_to_time($times[$key]) . '</p>'; | echo '<p class="ui-li-aside">' . midnight_seconds_to_time($times[$key]) . '</p>'; |
echo bracketsMeanNewLine($row[1]); | echo bracketsMeanNewLine($row[1]); |
echo '</a></li>'; | echo '</a></li>'; |
} | } |
} | } |
else { | else { |
// this is a duplicated line item | // this is a duplicated line item |
if ($key - 1 <= 0 || ($stops[$key][1] != $stops[$key - 1][1])) { | if ($key - 1 <= 0 || ($stops[$key][1] != $stops[$key - 1][1])) { |
// first duplicate | // first duplicate |
$stopsGrouped = Array( | $stopsGrouped = Array( |
"name" => $row[1], | "name" => $row[1], |
"startTime" => $times[$key], | "startTime" => $times[$key], |
"stop_ids" => Array( | "stop_ids" => Array( |
$row[0] | $row[0] |
) | ) |
); | ); |
} | } |
else { | else { |
// subsequent duplicates | // subsequent duplicates |
$stopsGrouped["stop_ids"][] = $row[0]; | $stopsGrouped["stop_ids"][] = $row[0]; |
$stopsGrouped["endTime"] = $times[$key]; | $stopsGrouped["endTime"] = $times[$key]; |
} | } |
} | } |
} | } |
echo '</ul>'; | echo '</ul>'; |
include_footer(); | include_footer(); |
?> | ?> |