KML for trips/routes/stops fixed
--- a/geo/route.kml.php
+++ b/geo/route.kml.php
@@ -1,4 +1,5 @@
<?php
+
header('Content-Type: application/vnd.google-earth.kml+xml');
include ('../include/common.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>
@@ -14,15 +15,15 @@
</PolyStyle>
</Style>';
$route = getRoute($routeid);
- echo "\n<Placemark>\n";
- $link = curPageURL()."/../trip.php?routeid=".htmlspecialchars ($route["route_id"]);
- echo "<name>".$route['route_short_name']."</name>";
- echo '<atom:link href="'.$link.'"/>';
- echo '<description><![CDATA[ <a href="'.$link.'">'.$route['route_short_name']." ".$route['route_long_name']."</a>]]> </description>";
+echo "\n<Placemark>\n";
+
+$link = curPageURL() . "/../trip.php?routeid=" . htmlspecialchars($route["route_id"]);
+echo "<name>" . $route['route_short_name'] . "</name>";
+echo '<atom:link href="' . $link . '"/>';
+echo '<description><![CDATA[ <a href="' . $link . '">' . $route['route_short_name'] . " " . $route['route_long_name'] . "</a>]]> </description>";
echo "<styleUrl>#yellowLineGreenPoly</styleUrl>";
-
- $trip = getRouteNextTrip($routeid);
- echo getTripShape($trip['trip_id']);
+$trip = getRouteNextTrip($routeid);
+echo getTripShape($trip['trip_id']);
echo "</Placemark>\n</Document></kml>\n";
?>
--- a/geo/stops.kml.php
+++ b/geo/stops.kml.php
@@ -1,11 +1,11 @@
<?php
+header('Content-type: application/vnd.google-earth.kml+xml');
include ('../include/common.inc.php');
-header('Content-type: application/vnd.google-earth.kml+xml');
//http://wiki.openstreetmap.org/wiki/OpenLayers_Dynamic_KML
// Creates the KML/XML Document.
$dom = new DOMDocument('1.0', 'UTF-8');
// Creates the root KML element and appends it to the root document.
-$node = $dom->createElementNS('http://earth.google.com/kml/2.1', 'kml');
+$node = $dom->createElementNS('http://www.opengis.net/kml/2.2', 'kml');
$parNode = $dom->appendChild($node);
// Creates a KML Document element and append it to the KML element.
$dnode = $dom->createElement('Document');
@@ -13,7 +13,7 @@
if ($suburb != "") $result_stops = getStopsBySuburb($suburb);
else $result_stops = getStops();
foreach ($result_stops as $stop) {
- $description = 'http://bus.lambdacomplex.org/' . 'stop.php?stopid=' . $stop['stop_id'] . " <br>";
+ $description = baseURL() . 'stop.php?stopid=' . $stop['stop_id'] . " <br>";
// Creates a Placemark and append it to the Document.
$node = $dom->createElement('Placemark');
$placeNode = $docNode->appendChild($node);
--- /dev/null
+++ b/geo/trip.kml.php
@@ -1,1 +1,31 @@
+<?php
+header('Content-Type: application/vnd.google-earth.kml+xml');
+include ('../include/common.inc.php');
+echo '<?xml version="1.0" encoding="UTF-8"?>
+<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"><Document>';
+echo '
+ <Style id="yellowLineGreenPoly">
+ <LineStyle>
+ <color>7f00ff00</color>
+ <width>4</width>
+ </LineStyle>
+ <PolyStyle>
+ <color>7f00ffff</color>
+ </PolyStyle>
+ </Style>';
+$trip = getTrip($tripid);
+echo "\n<Placemark>\n";
+$link = curPageURL() . "/../trip.php?tripid=" . htmlspecialchars($$tripid);
+echo "<name>" . $tripid . "</name>";
+echo '<atom:link href="' . $link . '"/>';
+echo '<description><![CDATA[ <a href="' . $link . '">' . $tripid . "</a>]]> </description>";
+echo "<styleUrl>#yellowLineGreenPoly</styleUrl>";
+
+
+echo getTripShape($tripid);
+
+echo "</Placemark>\n</Document></kml>\n";
+?>
+
+
--- a/include/common-net.inc.php
+++ b/include/common-net.inc.php
@@ -35,7 +35,11 @@
debug(print_r($page, true), "json");
return $page;
}
+function baseURL() {
+ $protocol = $_SERVER['HTTPS'] ? "https" : "http";
+ return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+}
function curPageURL() {
$isHTTPS = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on");
$port = (isset($_SERVER["SERVER_PORT"]) && ((!$isHTTPS && $_SERVER["SERVER_PORT"] != "80") || ($isHTTPS && $_SERVER["SERVER_PORT"] != "443")));
--- a/include/common-session.inc.php
+++ b/include/common-session.inc.php
@@ -62,7 +62,7 @@
//debug(print_r($_SESSION, true) , "session");
function current_time($time = "") {
- if ($_REQUEST['time']) return $_REQUEST['time'];
+ if (isset($_REQUEST['time'])) return $_REQUEST['time'];
else if ($time != "") date("H:i:s",$time);
else return date("H:i:s");
}
--- a/include/common-template.inc.php
+++ b/include/common-template.inc.php
@@ -54,7 +54,7 @@
<link rel="dns-prefetch" href="//code.jquery.com">
<link rel="dns-prefetch" href="//ajax.googleapis.com">
<link rel="stylesheet" href="' . $basePath . 'css/jquery-ui-1.8.12.custom.css" />';
- $jqmVersion = "1.0";
+ $jqmVersion = "1.0.1";
if (isDebugServer()) {
$jqmcss = $basePath . "css/jquery.mobile-$jqmVersion.css";
$jqjs = $basePath . "js/jquery-1.6.4.min.js";
--- a/include/db/trip-dao.inc.php
+++ b/include/db/trip-dao.inc.php
@@ -78,7 +78,7 @@
join trips on trips.trip_id = stop_times.trip_id
join routes on trips.route_id = routes.route_id
join stops on stops.stop_id = stop_times.stop_id
-WHERE trips.trip_id = :tripID $range ORDER BY stop_sequence";
+WHERE trips.trip_id = :tripID ORDER BY stop_sequence";
debug($query, "database");
$query = $conn->prepare($query);
$query->bindParam(":tripID", $tripID);
--- a/myway/myway_timeliness_calculate.php
+++ b/myway/myway_timeliness_calculate.php
@@ -95,7 +95,7 @@
}
$timeDeltas = Array();
foreach ($potentialRoutes as $potentialRoute) {
- echo "Matched route: {$potentialRoute['route_id']} {$potentialRoute['route_short_name']}{$potentialRoute['route_long_name']} {$timing_period}<br>";
+ echo "Matched route: {$potentialRoute['route_id']} {$potentialRoute['route_short_name']} {$timing_period}<br>";
foreach ($potentialStops as $potentialStop) {
$stopRoutes = getStopRoutes($potentialStop['stop_id'], $timing_period);
$foundRoute = Array();
--- a/stop.php
+++ b/stop.php
@@ -127,7 +127,7 @@
$earlierTime = strtotime($trips[$tripsKeys[0]]['arrival_time']) - (90 * 60);
$laterTime = strtotime($trips[$tripsKeys[sizeof($trips) - 1]]['arrival_time']) - 60;
}
-if (sizeof($stopids) > 0) {
+if (isset($stopids) && sizeof($stopids) > 0) {
$stopidurl = "stopids=" . implode(",", $stopids);
} else {
$stopidurl = "stopid=$stopid";
--- a/stopList.php
+++ b/stopList.php
@@ -94,9 +94,8 @@
//var_dump($stops);
$stopsGrouped = Array();
foreach ($stops as $key => $stop) {
- if (stopCompare($stops[$key]["stop_name"])
- != stopCompare($stops[$key + 1]["stop_name"])
- || $key + 1 >= sizeof($stops)) {
+ if ($key + 1 >= sizeof($stops) ||
+ stopCompare($stops[$key]["stop_name"]) != stopCompare($stops[$key + 1]["stop_name"])) {
if (sizeof($stopsGrouped) > 0) {
// print and empty grouped stops
// subsequent duplicates
--- a/trip.php
+++ b/trip.php
@@ -34,7 +34,9 @@
include_header("Stops on " . $trip['route_short_name'] . ' ' . $destination['stop_name'], "trip");
trackEvent("Route/Trip View", "View Route", $trip['route_short_name'] . ' ' . $destination['stop_name'], $routeid);
echo '<span class="content-secondary">';
-echo '<a href="' . $trip['route_url'] . '">View Original Timetable/Map</a>';
+echo '<a href="' . $trip['route_url'] . '">View Original Timetable/Map</a> ';
+echo '<a href="geo/trip.kml.php?tripid='.$tripid.'">View Trip in Google Earth</a> ';
+echo '<a href="geo/route.kml.php?routeid='.$tripid.'">View Route in Google Earth</a>';
echo '<h2>Via:</h2> <small>' . viaPointNames($tripid) . '</small>';
echo '<h2>Other Trips:</h2> ';
$routeTrips = getRouteTrips($routeid, $trip['direction_id'], $service_period);