1 | <?php |
---|
2 | /** |
---|
3 | * @uri /AvailableServers |
---|
4 | */ |
---|
5 | class AvailableServersResource extends Resource { |
---|
6 | |
---|
7 | function post($request){ |
---|
8 | return $this->get($request); |
---|
9 | } |
---|
10 | |
---|
11 | function get($request){ |
---|
12 | $error = null; |
---|
13 | parse_str($request->data, &$data); |
---|
14 | $handle = fopen('../config/rest_servers.conf', "r"); |
---|
15 | $servers= array(); |
---|
16 | if($handle) { |
---|
17 | while (!feof ($handle)) { |
---|
18 | $line = fgets($handle,1024); |
---|
19 | if($line == null) |
---|
20 | continue; |
---|
21 | list($id, $name, $description, $url, $context, $status) = explode(";",$line); |
---|
22 | $servers[] = array( |
---|
23 | 'serverID' => $id, |
---|
24 | 'serverName' => $name, |
---|
25 | 'serverDescription' => utf8_encode($description), |
---|
26 | 'serverUrl' => $url, |
---|
27 | 'serverContext' => $context, |
---|
28 | 'serverStatus' => ($status ? "1" : "0") |
---|
29 | ); |
---|
30 | } |
---|
31 | fclose($handle); |
---|
32 | } |
---|
33 | else{ |
---|
34 | $error = array("code" => "001", "message" => "The servers list was not found."); |
---|
35 | } |
---|
36 | |
---|
37 | function cmp($a, $b) |
---|
38 | { |
---|
39 | return strcmp(strtolower($a["serverName"]), strtolower($b["serverName"])); |
---|
40 | } |
---|
41 | |
---|
42 | if(count($servers) > 0){ |
---|
43 | usort($servers, "cmp"); |
---|
44 | } |
---|
45 | |
---|
46 | $response = new Response($request); |
---|
47 | $response->code = Response::OK; |
---|
48 | $response->addHeader('content-type', 'application/json'); |
---|
49 | |
---|
50 | $body = array(); |
---|
51 | |
---|
52 | if($data['id']){ |
---|
53 | $body['id'] = $data['id']; |
---|
54 | } |
---|
55 | if($servers){ |
---|
56 | $body['result'] = array( "servers" => $servers); |
---|
57 | } |
---|
58 | elseif($error){ |
---|
59 | $body['error'] = $error; |
---|
60 | } |
---|
61 | else{ |
---|
62 | $body['error'] = "OBJETO SEM RESULT E SEM ERRO REPORTADO."; |
---|
63 | } |
---|
64 | |
---|
65 | $response->body = json_encode($body); |
---|
66 | |
---|
67 | return $response; |
---|
68 | } |
---|
69 | |
---|
70 | } |
---|