--- a/stopList.php +++ b/stopList.php @@ -17,7 +17,17 @@ */ include ('include/common.inc.php'); $stops = Array(); - +function stopCompare($stopName) { + return substr(trim(preg_replace("/\(Platform.*/", "", $stopName)),0,9); +} +function stopGroupTitle($stopName,$stopdesc) { + if (preg_match("/Dr |Cct |Cir |Av |St /",$stopName)) { + $descParts = explode("
",$stopdesc); + return trim(str_replace("Street: ","",$descParts[0])); + } else { + return trim(preg_replace("/\(Platform.*/", "",$stopName)); + } +} function navbar() { echo '
@@ -52,7 +62,7 @@ // Timing Points / All stops if (isset($allstops)) { $listType = 'allstops=yes'; - $stops = getStops(); + $stops = getStops($firstLetter); include_header("All Stops", "stopList"); navbar(); } else if (isset($nearby)) { @@ -99,19 +109,19 @@ //var_dump($stops); $stopsGrouped = Array(); foreach ($stops as $key => $stop) { - if ((trim(preg_replace("/\(Platform.*/", "", $stops[$key]["stop_name"])) != trim(preg_replace("/\(Platform.*/", "", $stops[$key + 1]["stop_name"]))) || $key + 1 >= sizeof($stops)) { + if (stopCompare($stops[$key]["stop_name"]) + != stopCompare($stops[$key + 1]["stop_name"]) + || $key + 1 >= sizeof($stops)) { if (sizeof($stopsGrouped) > 0) { // print and empty grouped stops // subsequent duplicates $stopsGrouped["stop_ids"][] = $stop['stop_id']; echo '
  • '; - if (!startsWith($stopsGrouped['stop_codes'][0], "Wj")) - echo 'Timing Point: '; echo ''; if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) { echo '' . distance($stop['stop_lat'], $stop['stop_lon'], $_SESSION['lat'], $_SESSION['lon'], true) . 'm away'; } - echo bracketsMeanNewLine(trim(preg_replace("/\(Platform.*/", "", $stop['stop_name'])) . '(' . sizeof($stopsGrouped["stop_ids"]) . ' stops)'); + echo stopGroupTitle($stop['stop_name'],$stop['stop_desc']) . '
    ' . sizeof($stopsGrouped["stop_ids"]) . ' stops'; echo "
  • \n"; flush(); @ob_flush(); @@ -119,20 +129,18 @@ } else { // just a normal stop echo '
  • '; - if (!startsWith($stop['stop_code'], "Wj")) - echo 'Timing Point'; - echo ''; + echo ''; if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) { echo '' . distance($stop['stop_lat'], $stop['stop_lon'], $_SESSION['lat'], $_SESSION['lon'], true) . 'm away'; } - echo bracketsMeanNewLine($stop['stop_name']); + echo $stop['stop_name']; echo "
  • \n"; flush(); @ob_flush(); } } else { // this is a duplicated line item - if ($key - 1 <= 0 || (trim(preg_replace("/\(Platform.*/", "", $stops[$key]['stop_name'])) != trim(preg_replace("/\(Platform.*/", "", $stops[$key - 1]['stop_name'])))) { + if ($key - 1 <= 0 || stopCompare($stops[$key]['stop_name']) != stopCompare($stops[$key - 1]['stop_name'])) { // first duplicate $stopsGrouped = Array( "name" => trim(preg_replace("/\(Platform.*/", "", $stop['stop_name'])),