Hide viaPoints when display width is less than 480px
[busui.git] / stop.php
blob:a/stop.php -> blob:b/stop.php
<?php <?php
include ('common.inc.php');  
$stopid = filter_var($_REQUEST['stopid'], FILTER_SANITIZE_NUMBER_INT); /*
$stopcode = filter_var($_REQUEST['stopcode'], FILTER_SANITIZE_STRING); * Copyright 2010,2011 Alexander Sadleir
$url = $APIurl . "/json/stop?stop_id=" . $stopid;  
$stop = json_decode(getPage($url)); Licensed under the Apache License, Version 2.0 (the "License");
if ($stopcode != "" && $stop[5] != $stopcode) { you may not use this file except in compliance with the License.
$url = $APIurl . "/json/stopcodesearch?q=" . $stopcode; You may obtain a copy of the License at
$stopsearch = json_decode(getPage($url));  
$stopid = $stopsearch[0][0]; http://www.apache.org/licenses/LICENSE-2.0
$url = $APIurl . "/json/stop?stop_id=" . $stopid;  
$stop = json_decode(getPage($url)); Unless required by applicable law or agreed to in writing, software
} distributed under the License is distributed on an "AS IS" BASIS,
if (!startsWith($stop[5], "Wj") && strpos($stop[1], "Platform") === false) { WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// expand out to all platforms See the License for the specific language governing permissions and
  limitations under the License.
} */
  include ('include/common.inc.php');
  if ($stopid)
  $stop = getStop($stopid);
  /* if ($stopcode != "" && $stop[5] != $stopcode) {
  $url = $APIurl . "/json/stopcodesearch?q=" . $stopcode;
  $stopsearch = json_decode(getPage($url));
  $stopid = $stopsearch[0][0];
  $url = $APIurl . "/json/stop?stop_id=" . $stopid;
  $stop = json_decode(getPage($url));
  }
  if (!startsWith($stop[5], "Wj") && strpos($stop[1], "Platform") === false) {
  // expand out to all platforms
   
  } */
   
$stops = Array(); $stops = Array();
$stopPositions = Array(); $stopPositions = Array();
$stopNames = Array(); $stopNames = Array();
$tripStopNumbers = Array(); $tripStopNumbers = Array();
$allStopsTrips = Array(); $allStopsTrips = Array();
  $fetchedTripSequences = Array();
$stopLinks = ""; $stopLinks = "";
if (isset($_REQUEST['stopids'])) { if (isset($stopids)) {
$stopids = explode(",", filter_var($_REQUEST['stopids'], FILTER_SANITIZE_STRING)); foreach ($stopids as $sub_stopid) {
foreach ($stopids as $sub_stopid) { $stops[] = getStop($sub_stopid);
$url = $APIurl . "/json/stop?stop_id=" . $sub_stopid; }
$stop = json_decode(getPage($url)); $stop = $stops[0];
$stops[] = $stop; $stopid = $stops[0]["stop_id"];
} $stopLinks.= "Individual stop pages: <br>";
$stop = $stops[0]; foreach ($stops as $key => $sub_stop) {
$stopid = $stops[0][0];  
$stopLinks.= "Individual stop pages: "; $stopNames[$key] = $sub_stop["stop_name"];
foreach ($stops as $key => $sub_stop) { $stopLinks.= '<a href="stop.php?stopid=' . $sub_stop["stop_id"] . '&amp;stopcode=' . $sub_stop["stop_code"] . '">' . $sub_stop["stop_name"] . '</a> ';
$stopNames[$key] = $sub_stop[1] . ' Stop #' . ($key + 1);  
$stopLinks.= '<a href="stop.php?stopid=' . $sub_stop[0] . '&stopcode=' . $sub_stop[5] . '">' . $stopNames[$key] . '</a> '; $stopPositions[$key] = Array(
$stopPositions[$key] = Array( $sub_stop["stop_lat"],
$sub_stop[2], $sub_stop["stop_lon"]
$sub_stop[3] );
); $trips = getStopTrips($sub_stop["stop_id"]);
$url = $APIurl . "/json/stoptrips?stop=" . $sub_stop[0] . "&time=" . midnight_seconds() . "&service_period=" . service_period(); $tripSequence = "";
$trips = json_decode(getPage($url)); foreach ($trips as $trip) {
foreach ($trips as $trip) { $tripSequence.= "{$trip['trip_id']},";
if (!isset($allStopsTrips[$trip[1][0]])) $allStopsTrips[$trip[1][0]] = $trip; $tripStopNumbers[$trip['trip_id']][] = $key;
$tripStopNumbers[$trip[1][0]][] = $key; }
} if (!in_array($tripSequence, $fetchedTripSequences)) {
} // only fetch new trip sequences
  $fetchedTripSequences[] = $tripSequence;
  $trips = getStopTripsWithTimes($sub_stop["stop_id"]);
  foreach ($trips as $trip) {
  if (!isset($allStopsTrips[$trip["trip_id"]]))
  $allStopsTrips[$trip["trip_id"]] = $trip;
  }
  }
  //else {
  // echo "skipped sequence $tripSequence";
  //}
  }
} }
include_header($stop[1], "stop"); include_header($stop['stop_name'], "stop");
timePlaceSettings();  
echo '<div data-role="content" class="ui-content" role="main"> <a name="maincontent" id="maincontent"></a>'; /* $serviceAlerts = json_decode(getPage(curPageURL() . "/servicealerts_api.php?filter_class=stop&filter_id=".$stopid) , true);
   
  foreach($serviceAlerts['entities'] as $serviceAlert) {
  echo '<div id="servicewarning">'.$serviceAlert['alert']['description']['translation'].'</div>';
  } */
   
  echo '<span class="content-secondary">';
echo $stopLinks; echo $stopLinks;
if (sizeof($stops) > 0) { if (sizeof($stops) > 0) {
echo '<p>' . staticmap($stopPositions) . '</p>'; trackEvent("View Stops", "View Combined Stops", $stop["stop_name"], $stop["stop_id"]);
  echo staticmap($stopPositions);
  } else {
  trackEvent("View Stops", "View Single Stop", $stop["stop_name"], $stop["stop_id"]);
  echo staticmap(Array(
  0 => Array(
  $stop["stop_lat"],
  $stop["stop_lon"]
  )
  ));
} }
else {  
echo '<p>' . staticmap(Array( // time settings
0 => Array( echo '<div id="settings" data-role="collapsible" data-collapsed="true">
$stop[2], <h3>Change Time (' . (isset($_REQUEST['time']) ? $_REQUEST['time'] : "Current Time,") . ' ' . ucwords(service_period()) . ')...</h3>
$stop[3] <form action="' . basename($_SERVER['PHP_SELF']) . '" method="GET">
) <input type="hidden" name="stopid" id="stopid" value="' . (isset($_REQUEST['stopid']) ? $_REQUEST['stopid'] : "") . '"/>
)) . '</p>'; <input type="hidden" name="stopcode" id="stopcode" value="' . (isset($_REQUEST['stopcode']) ? $_REQUEST['stopcode'] : "") . '"/>
  <div class="ui-body">
  <div data-role="fieldcontain">
  <label for="time"> Time: </label>
  <input type="time" name="time" id="time" value="' . (isset($_REQUEST['time']) ? $_REQUEST['time'] : date("H:i")) . '"/>
  <a href="#" name="currentTime" id="currentTime" onClick="var d = new Date();' . "$('#time').val(d.getHours() +':'+ (d.getMinutes().toString().length == 1 ? '0'+ d.getMinutes(): d.getMinutes()));" . '">Current Time?</a>
  </div>
  <div data-role="fieldcontain">
  <label for="service_period"> Service Period: </label>
  <select name="service_period" id="service_period">';
  foreach ($service_periods as $service_period) {
  echo "<option value=\"$service_period\"" . (service_period() === $service_period ? " SELECTED" : "") . '>' . ucwords($service_period) . '</option>';
} }
  echo '</select>
  <a href="#" style="display:none" name="currentPeriod" id="currentPeriod">Current Period?</a>
  </div>
   
  <input type="submit" value="Update"/>
  </div></form>
  </div>';
   
  echo '</span><span class="content-primary">';
echo ' <ul data-role="listview" data-inset="true">'; echo ' <ul data-role="listview" data-inset="true">';
if (sizeof($allStopsTrips) > 0) { if (sizeof($allStopsTrips) > 0) {
$trips = $allStopsTrips; sktimesort($allStopsTrips, "arrival_time", true);
  $trips = $allStopsTrips;
  } else {
  $trips = getStopTripsWithTimes($stopid);
} }
else { echo "<div class='ui-header' style='overflow: visible; height: 2.5em'>";
$url = $APIurl . "/json/stoptrips?stop=" . $stopid . "&time=" . midnight_seconds() . "&service_period=" . service_period(); // later/earlier button setup
$trips = json_decode(getPage($url)); if (sizeof($trips) == 0) {
  $time = isset($_REQUEST['time']) ? strtotime($_REQUEST['time']) : time();
  $earlierTime = $time - (90 * 60);
  $laterTime = $time + (90 * 60);
  } else {
  $earlierTime = strtotime($trips[0]['arrival_time']) - (90 * 60);
  $laterTime = strtotime($trips[sizeof($trips) - 1]['arrival_time']) - 60;
} }
foreach ($trips as $row) { if (sizeof($stopids) > 0) {
echo '<li>'; $stopidurl = "stopids=" . implode(",", $stopids);
echo '<h3><a href="trip.php?stopid=' . $stopid . '&tripid=' . $row[1][0] . '">' . $row[1][1]; } else {
$viaPoints = viaPointNames($row[1][0], $stopid); $stopidurl = "stopid=$stopid";
if ($viaPoints != "") echo '<div class="viaPoints">Via: ' . $viaPoints . '</div>'; }
if (sizeof($tripStopNumbers) > 0) { if (sizeof($trips) > 10) {
  echo '<a href="stop.php?' . $stopidurl . '&service_period=' . service_period() . '&time=' . date("H:i", $laterTime) . '" data-icon="arrow-r" class="ui-btn-right">Later Trips</a>';
  }
  echo '<a href="stop.php?' . $stopidurl . '&service_period=' . service_period() . '&time=' . date("H:i", $earlierTime) . '" data-icon="arrow-l" class="ui-btn-left">Earlier Trips</a>';
  echo "</div>";
  if (sizeof($trips) == 0) {
  echo "<li style='text-align: center;'>No trips in the near future.</li>";
  } else {
  foreach ($trips as $trip) {
  echo '<li>';
   
  $destination = getTripDestination($trip['trip_id']);
  echo '<a href="trip.php?stopid=' . $stopid . '&amp;tripid=' . $trip['trip_id'] . '"><h3>' . $trip['route_short_name'] . " towards " . $destination['stop_name'] . "</h3><p>";
  $viaPoints = viaPointNames($trip['trip_id'], $trip['stop_sequence']);
  if ($viaPoints != "")
  echo '<br><span class="viaPoints">Via: ' . $viaPoints . '</span>';
  if (sizeof($tripStopNumbers) > 0) {
echo '<br><small>Boarding At: '; echo '<br><small>Boarding At: ';
foreach ($tripStopNumbers[$row[1][0]] as $key) { if (sizeof($tripStopNumbers[$trip['trip_id']]) == sizeof($stopids)) {
echo $stopNames[$key] .' '; echo "All Stops";
  } else {
  foreach ($tripStopNumbers[$trip['trip_id']] as $key) {
  echo $stopNames[$key] . ', ';
  }
} }
echo '</small>'; echo '</small>';
} }
echo '</a></h3>'; echo '</p>';
echo '<p class="ui-li-aside"><strong>' . midnight_seconds_to_time($row[0]) . '</strong></p>'; echo '<p class="ui-li-aside"><strong>' . $trip['arrival_time'] . '</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>';
echo '</ul></div>'; echo '</span>';
include_footer(); include_footer();
?> ?>