Grouping of identical stops on trip view
[busui.git] / stopList.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
include ('common.inc.php');
function navbar()
{
        echo '
                <div data-role="navbar">
                        <ul> 
                                <li><a href="stopList.php">Timing Points</a></li>
                                <li><a href="stopList.php?suburbs=yes">By Suburb</a></li>
                                <li><a href="stopList.php?nearby=yes">Nearby Stops</a></li>
                                <li><a href="stopList.php?allstops=yes">All Stops</a></li> 
                        </ul>
                </div>
        ';
}
// By suburb
if (isset($_REQUEST['suburbs'])) {
        include_header("Stops by Suburb", "stopList");
        navbar();
        echo '  <ul data-role="listview" data-filter="true" data-inset="true" >';
        foreach ($suburbs as $suburb) {
                echo '<li><a href="stopList.php?suburb=' . urlencode($suburb) . '">' . $suburb . '</a></li>';
        }
        echo '</ul>';
}
else {
        // Timing Points / All stops
        if ($_REQUEST['allstops']) {
                $url = $APIurl . "/json/stops";
                include_header("All Stops", "stopList");
                navbar();
                timePlaceSettings();
        }
        else if ($_REQUEST['nearby']) {
                $url = $APIurl . "/json/neareststops?lat={$_SESSION['lat']}&lon={$_SESSION['lon']}&limit=15";
                include_header("Nearby Stops", "stopList");
                navbar();
                timePlaceSettings(true);
        }
        else if ($_REQUEST['suburb']) {
                $suburb = filter_var($_REQUEST['suburb'], FILTER_SANITIZE_STRING);
                $url = $APIurl . "/json/stopzonesearch?q=" . $suburb;
                include_header("Stops in " . ucwords($suburb) , "stopList");
                if (isMetricsOn()) {
                        // Create a new Instance of the tracker
                        $owa = new owa_php($config);
                        // 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_list_suburb');
                        // Set a property
                        $event->set('stop_list_suburb', $suburb);
                        // Track the event
                        $owa->trackEvent($event);
                }
                navbar();
        }
        else {
                $url = $APIurl . "/json/timingpoints";
                include_header("Timing Points / Major Stops", "stopList");
                navbar();
                timePlaceSettings();
        }
        echo '<div class="noscriptnav"> Go to letter: ';
        foreach (range('A', 'Z') as $letter) {
                echo "<a href=\"#$letter\">$letter</a>&nbsp;";
        }
        echo "</div>
        <script>
$('.noscriptnav').hide();
        </script>";
        echo '  <ul data-role="listview" data-filter="true" data-inset="true" >';
        $contents = json_decode(getPage($url));
        foreach ($contents as $key => $row) {
                $stopName[$key] = $row[1];
        }
        // Sort the stops by name
        array_multisort($stopName, SORT_ASC, $contents);
        $firstletter = "";
        foreach ($contents as $row) {
                if (substr($row[1], 0, 1) != $firstletter) {
                        echo "<a name=$firstletter></a>";
                        $firstletter = substr($row[1], 0, 1);
                }
                echo '<li>';
                if (!startsWith($row[5], "Wj")) echo '<img src="css/images/time.png" alt="Timing Point" class="ui-li-icon">';
                echo '<a href="stop.php?stopid=' . $row[0] . (startsWith($row[5], "Wj") ? '&stopcode=' . $row[5] : "") . '">';
                if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) {
                        echo '<span class="ui-li-count">' . floor(distance($row[2], $row[3], $_SESSION['lat'], $_SESSION['lon'])) . 'm away</span>';
                }
                echo bracketsMeanNewLine($row[1]);
                echo '</a></li>';
        }
        echo '</ul>';
}
include_footer();
?>