80c80b1c53d9225a0c787a688e5040d449cdee15
[phpfspot.git] / rpc.php
1 <?php
2
3 /* *************************************************************************
4  *
5  * Copyright (c) by Andreas Unterkircher, unki@netshadow.at
6  * All rights reserved
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License as published by
10  *  the Free Software Foundation; either version 2 of the License, or
11  *  (at your option) any later version.
12  *
13  *  This program is distributed in the hope that it will be useful,
14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *  GNU General Public License for more details.
17  *
18  *  You should have received a copy of the GNU General Public License
19  *  along with this program; if not, write to the Free Software
20  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  *
22  * *************************************************************************/
23
24 require_once "phpfspot.class.php";
25
26 class PHPFSPOT_RPC {
27
28    public function __construct()
29    {
30       session_start();
31
32    } // __construct()
33
34    function process_ajax_request()
35    {
36       require_once 'HTML/AJAX/Server.php';
37
38       $server = new HTML_AJAX_Server();
39       $server->handleRequest();
40
41       $fspot = new PHPFSPOT();
42
43       switch($_GET['action']) {
44          case 'showphoto':
45
46             $fspot->showPhoto($_GET['id']);
47             break;
48    
49          case 'show_available_tags':
50
51             $fspot->getAvailableTags();
52             break;
53
54          case 'show_selected_tags':
55
56             $fspot->getSelectedTags();
57             break;
58
59          case 'addtag':
60
61             $fspot->addTag($_GET['id']);
62             break;
63
64          case 'deltag':
65
66             $fspot->delTag($_GET['id']);
67             break;
68
69          case 'resettags':
70
71             $fspot->resetTags();
72             break;
73
74          case 'tagcondition':
75
76             $fspot->setTagCondition($_GET['mode']);
77             break;
78
79          case 'show_photo_index':
80
81             $_SESSION['begin_with'] = $_GET['begin_with'];
82             $fspot->showPhotoIndex();
83             break;
84    
85          case 'showbubbledetails':
86       
87             $fspot->showBubbleDetails($_GET['id'], $_GET['direction']);
88             break;
89
90          case 'showcredits':
91
92             $fspot->showCredits();
93             break;
94
95          case 'tag_search':
96
97             $fspot->startTagSearch($_GET['for']);
98             break;
99
100       }
101
102    } // process_ajax_request();
103
104 }
105
106 $rpc = new PHPFSPOT_RPC();
107 $rpc->process_ajax_request();
108
109 ?>