--- a/stop.php +++ b/stop.php @@ -1,5 +1,5 @@ <?php -include ('common.inc.php'); +include ('include/common.inc.php'); $stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); $stopcode = filter_var($_REQUEST['stopcode'], FILTER_SANITIZE_STRING); $url = $APIurl . "/json/stop?stop_id=" . $stopid; @@ -20,6 +20,7 @@ $stopNames = Array(); $tripStopNumbers = Array(); $allStopsTrips = Array(); +$fetchedTripSequences = Array(); $stopLinks = ""; if (isset($_REQUEST['stopids'])) { $stopids = explode(",", filter_var($_REQUEST['stopids'], FILTER_SANITIZE_STRING)); @@ -32,42 +33,51 @@ $stopid = $stops[0][0]; $stopLinks.= "Individual stop pages: "; foreach ($stops as $key => $sub_stop) { - $stopNames[$key] = $sub_stop[1] . ' Stop #' . ($key + 1); - $stopLinks.= '<a href="stop.php?stopid=' . $sub_stop[0] . '&stopcode=' . $sub_stop[5] . '">' . $stopNames[$key] . '</a> '; + // $stopNames[$key] = $sub_stop[1] . ' Stop #' . ($key + 1); + if (strpos($stop[1], + "Station")) { + $stopNames[$key] = 'Platform ' . ($key + 1); + $stopLinks.= '<a href="stop.php?stopid=' . $sub_stop[0] . '&stopcode=' . $sub_stop[5] . '">' . $sub_stop[1] . '</a> '; + } else { + $stopNames[$key] = '#' . ($key + 1); + $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)); + + $url = $APIurl . "/json/stopalltrips?stop=" . $sub_stop[0]; $trips = json_decode(getPage($url)); + $tripSequence = ""; foreach ($trips as $trip) { - if (!isset($allStopsTrips[$trip[1][0]])) $allStopsTrips[$trip[1][0]] = $trip; - $tripStopNumbers[$trip[1][0]][] = $key; + $tripSequence .= "$trip[0],"; + $tripStopNumbers[$trip[0]][] = $key; } + + if (!in_array($tripSequence,$fetchedTripSequences)) { + // only fetch new trip sequences + $fetchedTripSequences[] = $tripSequence; + $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($allStopsTrips[$trip[1][0]])) $allStopsTrips[$trip[1][0]] = $trip; + } + } else { + echo "skipped sequence $tripSequence"; + } } } include_header($stop[1], "stop"); -if (isMetricsOn()) { - // Create a new Instance of the tracker - $owa = new owa_php(); - // Set the ID of the site being tracked - $owa->setSiteId($owaSiteID); - // Create a new event object - $event = $owa->makeEvent(); - // Set the Event Type, in this case a "video_play" - $event->setEventType('view_stop'); - // Set a property - $event->set('stop_id', $stopid); - // Track the event - $owa->trackEvent($event); -} timePlaceSettings(); -echo '<div data-role="content" class="ui-content" role="main">'; +echo '<div data-role="content" class="ui-content" role="main"> <a name="maincontent" id="maincontent"></a>'; echo $stopLinks; if (sizeof($stops) > 0) { + trackEvent("View Stops","View Combined Stops", $stop[1], $stop[0]); + echo '<p>' . staticmap($stopPositions) . '</p>'; } else { + trackEvent("View Stops","View Single Stop", $stop[1], $stop[0]); echo '<p>' . staticmap(Array( 0 => Array( $stop[2], @@ -77,6 +87,7 @@ } echo ' <ul data-role="listview" data-inset="true">'; if (sizeof($allStopsTrips) > 0) { + sksort($allStopsTrips,0, $true); $trips = $allStopsTrips; } else { @@ -85,11 +96,9 @@ } foreach ($trips as $row) { echo '<li>'; - echo '<h3><a href="trip.php?stopid=' . $stopid . '&tripid=' . $row[1][0] . '">' . $row[1][1]; - if (isFastDevice()) { - $viaPoints = viaPointNames($row[1][0], $stopid); - if ($viaPoints != "") echo '<br><small>Via: ' . $viaPoints . '</small>'; - } + echo '<a href="trip.php?stopid=' . $stopid . '&tripid=' . $row[1][0] . '"><h3>' . $row[1][1]."</h3><p>"; + $viaPoints = viaPointNames($row[1][0], $stopid); + if ($viaPoints != "") echo '<br><span class="viaPoints">Via: ' . $viaPoints . '</span>'; if (sizeof($tripStopNumbers) > 0) { echo '<br><small>Boarding At: '; foreach ($tripStopNumbers[$row[1][0]] as $key) { @@ -97,9 +106,10 @@ } echo '</small>'; } - echo '</a></h3>'; + echo '</p>'; echo '<p class="ui-li-aside"><strong>' . midnight_seconds_to_time($row[0]) . '</strong></p>'; - echo '</li>'; + echo '</a></li>'; + flush(); @ob_flush(); } if (sizeof($trips) == 0) echo "<li> <center>No trips in the near future.</center> </li>"; echo '</ul></div>';