<?php |
<?php |
|
|
|
/* |
|
* Copyright 2010,2011 Alexander Sadleir |
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); |
|
you may not use this file except in compliance with the License. |
|
You may obtain a copy of the License at |
|
|
|
http://www.apache.org/licenses/LICENSE-2.0 |
|
|
|
Unless required by applicable law or agreed to in writing, software |
|
distributed under the License is distributed on an "AS IS" BASIS, |
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
See the License for the specific language governing permissions and |
|
limitations under the License. |
|
*/ |
include ('include/common.inc.php'); |
include ('include/common.inc.php'); |
function navbar() |
|
{ |
function navbar() { |
echo ' |
|
|
echo ' |
<div data-role="navbar"> |
<div data-role="navbar"> |
<ul> |
<ul> |
<li><a href="routeList.php">By Final Destination...</a></li> |
<li><a href="routeList.php">By Final Destination...</a></li> |
<li><a href="routeList.php?bynumber=yes">By Number... </a></li> |
<li><a href="routeList.php?bynumber=yes">By Number... </a></li> |
<li><a href="routeList.php?bysuburb=yes">By Suburb... </a></li> |
<li><a href="routeList.php?bysuburbs=yes">By Suburb... </a></li> |
<li><a href="routeList.php?nearby=yes">Nearby... </a></li> |
<li><a href="routeList.php?nearby=yes">Nearby... </a></li> |
</ul> |
</ul> |
</div> |
</div> |
'; |
'; |
} |
} |
if ($_REQUEST['bysuburb']) { |
|
include_header("Routes by Suburb", "routeList"); |
function displayRoutes($routes) { |
navbar(); |
global $nearby; |
echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; |
echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; |
if (!isset($_REQUEST['firstLetter'])) { |
$filteredRoutes = Array(); |
foreach (range('A', 'Z') as $letter) { |
foreach ($routes as $route) { |
echo "<li><a href=\"routeList.php?firstLetter=$letter&bysuburb=yes\">$letter...</a></li>\n"; |
foreach (getRouteHeadsigns($route['route_id']) as $headsign) { |
} |
$start = $headsign['stop_name']; |
} |
$serviceday = service_period_day($headsign['service_id']); |
else { |
$key = $route['route_short_name'] . "." . $headsign['direction_id']; |
foreach ($suburbs as $suburb) { |
if (isset($filteredRoutes[$key])) { |
if (startsWith($suburb, $_REQUEST['firstLetter'])) { |
$filteredRoutes[$key]['route_ids'][] = $route['route_id']; |
echo '<li><a href="routeList.php?suburb=' . urlencode($suburb) . '">' . $suburb . '</a></li>'; |
$filteredRoutes[$key]['route_ids'] = array_unique($filteredRoutes[$key]['route_ids']); |
} |
} else { |
} |
$filteredRoutes[$key]['route_short_name'] = $route['route_short_name']; |
} |
$filteredRoutes[$key]['route_long_name'] = "starting at " . $start; |
echo '</ul>'; |
$filteredRoutes[$key]['service_id'] = $serviceday; |
|
$filteredRoutes[$key]['trip_headsign'] = $headsign['trip_headsign'].(strstr($headsign['trip_headsign'], "bound") ===false ?"bound":""); |
|
$filteredRoutes[$key]['direction_id'] = $headsign['direction_id']; |
|
if (isset($nearby)) { |
|
$filteredRoutes[$key]['distance'] = $route['distance']; |
|
} |
|
} |
|
} |
|
} |
|
foreach ($filteredRoutes as $key => $route) { |
|
echo '<li> <a href="trip.php?routeids=' . implode(",", $route['route_ids']) . '&directionid=' . $route['direction_id'] . '"><h3>' . $route['route_short_name'] . "</h3> |
|
|
|
<p>" . $route['trip_headsign'].", ". $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p>"; |
|
if (isset($nearby)) { |
|
$time = getRouteAtStop($route['route_id'], $route['stop_id']); |
|
echo '<span class="ui-li-count">' . ($time['arrival_time'] ? $time['arrival_time'] : "No more trips today") . "<br>" . floor($route['distance']) . 'm away</span>'; |
|
} |
|
echo" </a></li>\n"; |
|
} |
} |
} |
else if ($_REQUEST['nearby'] || $_REQUEST['suburb']) { |
|
$routes = Array(); |
|
if ($_REQUEST['suburb']) { |
|
$suburb = filter_var($_REQUEST['suburb'], FILTER_SANITIZE_STRING); |
|
include_header($suburb ." - ".ucwords(service_period()), "routeList"); |
|
navbar(); |
|
timePlaceSettings(); |
|
trackEvent("Route Lists", "Routes By Suburb", $suburb); |
|
$routes = getRoutesBySuburb($suburb); |
|
|
|
} |
|
if ($_REQUEST['nearby']) { |
|
include_header("Routes Nearby", "routeList", true, true); |
|
trackEvent("Route Lists", "Routes Nearby", $_SESSION['lat'].",".$_SESSION['lon']); |
|
navbar(); |
|
timePlaceSettings(true); |
|
if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") { |
|
include_footer(); |
|
die(); |
|
} |
|
$routes = getRoutesNearby($_SESSION['lat'],$_SESSION['lon']); |
|
} |
|
|
|
echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; |
if (isset($bysuburbs)) { |
if ($routes) { |
include_header("Routes by Suburb", "routeList"); |
foreach ($routes as $route) { |
navbar(); |
echo '<li><a href="trip.php?routeid=' . $route['route_id'] . '"><h3>' . $route['route_short_name'] . "</h3><p>" . $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p>"; |
echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; |
if ($_REQUEST['nearby']) { |
if (!isset($firstLetter)) { |
$time = getTimeInterpolatedRouteAtStop($route['route_id'], $route['stop_id']); |
foreach (range('A', 'Z') as $letter) { |
echo '<span class="ui-li-count">'.($time['arrival_time']?$time['arrival_time']:"No more trips today")."<br>" .floor($route['distance']) . 'm away</span>'; |
echo "<li><a href=\"routeList.php?firstLetter=$letter&bysuburbs=yes\">$letter...</a></li>\n"; |
} |
} |
echo "</a></li>\n"; |
} else { |
} |
foreach ($suburbs as $suburb) { |
} else { |
if (startsWith($suburb, $firstLetter)) { |
echo "<li style='text-align: center;'> No routes nearby.</li>"; |
echo '<li><a href="routeList.php?suburb=' . urlencode($suburb) . '">' . $suburb . '</a></li>'; |
} |
} |
} |
} |
else if ($_REQUEST['bynumber'] || $_REQUEST['numberSeries']) { |
} |
include_header("Routes by Number", "routeList"); |
echo '</ul>'; |
navbar(); |
} else if (isset($suburb)) { |
echo ' <ul data-role="listview" data-inset="true">'; |
|
if ($_REQUEST['bynumber']) { |
if ($suburb) { |
$routes = getRoutesByNumber(); |
include_header($suburb . " - " . ucwords(service_period()), "routeList"); |
$routeSeries = Array(); |
navbar(); |
$seriesRange = Array(); |
timeSettings(); |
foreach ($routes as $key => $routeNumber) { |
trackEvent("Route Lists", "Routes By Suburb", $suburb); |
foreach (explode(" ", $routeNumber['route_short_name']) as $routeNumber) { |
displayRoutes(getRoutesBySuburb($suburb)); |
$seriesNum = substr($routeNumber, 0, -1) . "0"; |
} |
if ($seriesNum == "0") $seriesNum = $routeNumber; |
} else if (isset($nearby)) { |
$finalDigit = substr($routeNumber, sizeof($routeNumber) - 1, 1); |
$routes = Array(); |
if (isset($seriesRange[$seriesNum])) { |
include_header("Routes Nearby", "routeList", true, true); |
if ($finalDigit < $seriesRange[$seriesNum]['max']) $seriesRange[$seriesNum]['max'] = $routeNumber; |
trackEvent("Route Lists", "Routes Nearby", $_SESSION['lat'] . "," . $_SESSION['lon']); |
if ($finalDigit > $seriesRange[$seriesNum]['min']) $seriesRange[$seriesNum]['min'] = $routeNumber; |
navbar(); |
} |
placeSettings(); |
else { |
if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") { |
$seriesRange[$seriesNum]['max'] = $routeNumber; |
include_footer(); |
$seriesRange[$seriesNum]['min'] = $routeNumber; |
die(); |
} |
} |
$routeSeries[$seriesNum][$seriesNum . "-" . $row[1] . "-" . $row[0]] = $row; |
$routes = getRoutesNearby($_SESSION['lat'], $_SESSION['lon']); |
} |
|
} |
|
ksort($routeSeries); |
if (sizeof($routes) > 0) { |
ksort($seriesRange); |
displayRoutes($routes); |
foreach ($routeSeries as $series => $routes) { |
} else { |
echo '<li><a href="' . curPageURL() . '/routeList.php?numberSeries=' . $series . '">'; |
echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; |
if ($series <= 9) echo $series; |
echo "<li style='text-align: center;'> No routes nearby.</li>"; |
else echo "{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}"; |
} |
echo "</a></li>\n"; |
} else if (isset($bynumber) || isset($numberSeries)) { |
} |
include_header("Routes by Number", "routeList"); |
} |
navbar(); |
else if ($_REQUEST['numberSeries']) { |
echo ' <ul data-role="listview" data-inset="true">'; |
$routes = getRoutesByNumber($_REQUEST['numberSeries']); |
if (isset($bynumber)) { |
foreach ($routes as $route) { |
$routes = getRoutesByNumber(); |
echo '<li> <a href="trip.php?routeid=' . $route['route_id'] . '"><h3>' . $route['route_short_name'] . "</h3><p>" . $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p></a></li>\n"; |
$routeSeries = Array(); |
} |
$seriesRange = Array(); |
} |
foreach ($routes as $key => $routeNumber) { |
} |
foreach (explode(" ", $routeNumber['route_short_name']) as $routeNumber) { |
else { |
$seriesNum = substr($routeNumber, 0, -1) . "0"; |
include_header("Routes by Destination", "routeList"); |
if ($seriesNum == "0") |
navbar(); |
$seriesNum = $routeNumber; |
echo ' <ul data-role="listview" data-inset="true">'; |
$finalDigit = substr($routeNumber, sizeof($routeNumber) - 1, 1); |
if ($_REQUEST['routeDestination']) { |
if (isset($seriesRange[$seriesNum])) { |
foreach (getRoutesByDestination(urldecode($_REQUEST['routeDestination'])) as $route) { |
if ($finalDigit < $seriesRange[$seriesNum]['max']) |
echo '<li><a href="trip.php?routeid=' . $route["route_id"] . '"><h3>' . $route["route_short_name"] . '</h3><p>' . $route["route_long_name"] . " (" . ucwords($route['service_id']) . ")</p></a></li>\n"; |
$seriesRange[$seriesNum]['max'] = $routeNumber; |
} |
if ($finalDigit > $seriesRange[$seriesNum]['min']) |
} |
$seriesRange[$seriesNum]['min'] = $routeNumber; |
else { |
} |
foreach (getRoutesByDestination() as $destination) { |
else { |
echo '<li><a href="' . curPageURL() . '/routeList.php?routeDestination=' . urlencode($destination['route_long_name']) . '">' . $destination['route_long_name'] . "... </a></li>\n"; |
$seriesRange[$seriesNum]['max'] = $routeNumber; |
} |
$seriesRange[$seriesNum]['min'] = $routeNumber; |
} |
} |
|
$routeSeries[$seriesNum][$seriesNum . "-" . $row[1] . "-" . $row[0]] = $row; |
|
} |
|
} |
|
ksort($routeSeries); |
|
ksort($seriesRange); |
|
foreach ($routeSeries as $series => $routes) { |
|
echo '<li><a href="' . curPageURL() . '/routeList.php?numberSeries=' . $series . '">'; |
|
if ($series <= 9) |
|
echo $series; |
|
else |
|
echo "{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}"; |
|
echo "</a></li>\n"; |
|
} |
|
} |
|
else if ($numberSeries) { |
|
displayRoutes(getRoutesByNumberSeries($numberSeries)); |
|
} |
|
} else { |
|
include_header("Routes by Destination", "routeList"); |
|
navbar(); |
|
echo ' <ul data-role="listview" data-inset="true">'; |
|
if (isset($routeDestination)) { |
|
displayRoutes(getRoutesByDestination($routeDestination)); |
|
} else { |
|
foreach (getRoutesByDestination() as $destination) { |
|
echo '<li><a href="' . curPageURL() . '/routeList.php?routeDestination=' . urlencode($destination['route_long_name']) . '">' . $destination['route_long_name'] . "... </a></li>\n"; |
|
} |
|
} |
} |
} |
echo "</ul>\n"; |
echo "</ul>\n"; |
include_footer(); |
include_footer(); |
?> |
?> |
|
|