This repository has been archived by the owner on Mar 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
api.inc.php
76 lines (66 loc) · 2.02 KB
/
api.inc.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
<?php
error_reporting(-1);
class Stib
{
function GetLine($client, $line)
{
$request = 'network/line/'.$line;
$response = $client->request('GET', $request);
$body = $response->getBody();
$contents = (string) $body;
$line = json_decode($contents, true);
$directions = [];
reset($line['directions']);
while (list($station, $directionID) = each($line['directions']))
{
$pieces = explode("/", $directionID);
$directionID = end($pieces);
$directions += array ($station => $directionID);
}
$LineObject = (object) [
'name' => $line['name'],
'id' => $line['id'],
'directions' => $directions,
];
return $LineObject;
}
function GetDirection($client, $line, $Direction)
{
$request = "network/line/$line/$Direction";
$response = $client->request('GET', $request);
$body = $response->getBody();
$line = json_decode($body, true);
$stops = [];
reset($line['stops']);
$LineObject = (object) [
'line' => $line,
'stops' => $line['stops'],
];
return $LineObject;
}
function GetStop($client, $Stop, $StopName)
{
$request = 'realtime/stop/'.$Stop;
$response = $client->request('GET', $request);
$body = $response->getBody();
$line = json_decode($body, true);
$LineObject = (object) [
'name' => $StopName,
'id' => $Stop,
'results' => $line['results'],
];
return $LineObject;
}
function GetLines($client)
{
$request = 'network/lines';
$response = $client->request('GET', $request);
$body = $response->getBody();
$line = json_decode($body, true);
$LineObject = (object) [
'lines' => $line['lines'],
];
return $LineObject;
}
}
?>