source: sandbox/webservice/api/rest/dispatch.php @ 6423

Revision 6423, 2.3 KB checked in by asaikawa, 12 years ago (diff)

Ticket #2507 - Implementado o Recurso que recupera os eventos de um determinado periodo

  • Property svn:executable set to *
Line 
1<?php
2
3// load libraries
4require_once(__DIR__.'/../library/tonic/lib/tonic.php');
5require_once(__DIR__.'/../library/utils/Errors.php');
6
7// load adapters
8require_once(__DIR__."/../adapters/ExpressoAdapter.php");
9require_once(__DIR__."/../adapters/MailAdapter.php");
10require_once(__DIR__."/../adapters/CatalogAdapter.php");
11require_once(__DIR__."/../adapters/CalendarAdapter.php");
12
13// Load all resources
14require_once(__DIR__."/core/ExpressoVersionResource.php");
15require_once(__DIR__."/core/LoginResource.php");
16require_once(__DIR__."/core/LogoutResource.php");
17require_once(__DIR__."/mail/FoldersResource.php");
18require_once(__DIR__."/mail/MessagesResource.php");
19require_once(__DIR__."/mail/AddFolderResource.php");
20require_once(__DIR__."/mail/DelFolderResource.php");
21require_once(__DIR__."/mail/RenameFolderResource.php");
22require_once(__DIR__."/mail/CleanTrashResource.php");
23require_once(__DIR__."/mail/AttachmentResource.php");
24require_once(__DIR__."/mail/SendResource.php");
25require_once(__DIR__."/mail/SendSupportFeedbackResource.php");
26require_once(__DIR__."/catalog/ContactsResource.php");
27require_once(__DIR__."/catalog/ContactPictureResource.php");
28require_once(__DIR__."/calendar/EventsResource.php");
29
30//Retrieveing the mapping of the URIs and his respectives classNames and classPath
31$config = parse_ini_file( __DIR__ . '/../config/Tonic.srv', true );
32$autoload = array();
33$classpath = array();
34
35foreach( $config as $uri => $classFile )
36        foreach( $classFile as $className => $filePath )
37        {
38                $autoload[ $uri ] = $className;
39                $classpath[ $className ] = $filePath;
40        }
41
42        $request = new Request(array(
43                        'baseUri' => dirname($_SERVER['SCRIPT_NAME']),
44                        'autoload' => $autoload
45        ));
46       
47try {
48        $resource = $request->loadResource();
49        $response = $resource->exec($request);
50       
51} catch (ResponseException $e) {
52       
53        switch ($e->getCode()) {
54               
55                case Response::UNAUTHORIZED:
56                        $response = $e->response($request);
57                        $response->addHeader('WWW-Authenticate', 'Basic realm="Tonic"');
58                        break;
59                default:
60                       
61                        $response = new Response($request);
62                        $response->code = Response::OK;
63                        $response->addHeader('content-type', 'application/json');
64                        if($request->id)
65                                $body['id']     = $request->id;
66                       
67                        $body['error'] = array("code" => "".$e->getCode(), "message" => $e->getMessage());
68                        $response->body = json_encode($body);
69        }
70}
71
72$response->output();
73
74?>
Note: See TracBrowser for help on using the repository browser.