KML for trips/routes/stops fixed
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);


file:b/geo/trip.kml.php (new)
--- /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")));

file:a/trip.php -> file:b/trip.php
--- 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);