source: sandbox/webservice/api/rest/availableServers/AvailableServersResource.php @ 7855

Revision 7855, 1.3 KB checked in by alexandrecorreia, 11 years ago (diff)

Ticket #2507 - Correções dentro da API do webservice do expresso

  • Property svn:executable set to *
Line 
1<?php
2/**
3 * @uri /AvailableServers
4 */
5class AvailableServersResource extends Resource {
6
7        function post($request){
8                return $this->get($request);
9        }
10       
11        function get($request){
12
13                $error = null;         
14                parse_str($request->data, &$data);
15                               
16                if( file_exists(API_DIRECTORY.'/../../config/REST.ini') )
17                {
18                        $restServers = parse_ini_file(API_DIRECTORY.'/../../config/REST.ini', true );
19                       
20                        foreach( $restServers as $key => $value)
21                        {
22                                if(substr( $key, 0, 11 ) == "ServersRest")
23                                {
24                                        $servers[] = $value;
25                                }
26                        }
27                }
28                else{
29                        $error = array("code" => "001", "message" => "The servers list was not found.");
30                }
31
32                function cmp($a, $b)
33                {
34                        return strcmp(strtolower($a["serverName"]), strtolower($b["serverName"]));
35                }
36       
37                if(count($servers) > 0){
38                        usort($servers, "cmp");
39                }
40
41                $response = new Response($request);
42                $response->code = Response::OK;
43                $response->addHeader('content-type', 'application/json');
44                               
45                $body = array();
46               
47                if($data['id']){
48                        $body['id'] = $data['id'];
49                }
50                if($servers){
51                        $body['result'] = array( "servers" => $servers);
52                }
53                elseif($error){
54                        $body['error'] = $error;
55                }
56                else{
57                        $body['error'] = "OBJETO SEM RESULT E SEM ERRO REPORTADO.";
58                }
59                                               
60                $response->body = json_encode($body);
61                       
62                return $response;
63        }               
64
65}
Note: See TracBrowser for help on using the repository browser.