[7306] | 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 | } |
---|