<?php /* ************************************************************************* * * Copyright (c) by Andreas Unterkircher, unki@netshadow.at * All rights reserved * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * *************************************************************************/ require_once "phpfspot.class.php"; class PHPFSPOT_RPC { public function __construct() { session_start(); } // __construct() function process_ajax_request() { require_once 'HTML/AJAX/Server.php'; $server = new HTML_AJAX_Server(); $server->handleRequest(); $fspot = new PHPFSPOT(); switch($_GET['action']) { case 'showphoto': if(isset($_GET['id']) && is_numeric($_GET['id'])) { $fspot->showPhoto($_GET['id']); } break; case 'show_available_tags': $fspot->getAvailableTags(); break; case 'show_selected_tags': $fspot->getSelectedTags(); break; case 'addtag': if(isset($_GET['id']) && is_numeric($_GET['id'])) { $fspot->addTag($_GET['id']); } break; case 'deltag': if(isset($_GET['id']) && is_numeric($_GET['id'])) { $fspot->delTag($_GET['id']); } break; case 'reset': $fspot->resetTagSearch(); $fspot->resetTags(); $fspot->resetDateSearch(); $fspot->resetPhotoView(); break; case 'tagcondition': if(isset($_GET['mode']) && in_array($_GET['mode'], Array('or', 'and'))) { $fspot->setTagCondition($_GET['mode']); } break; case 'show_photo_index': if(isset($_GET['begin_with']) && is_numeric($_GET['begin_with'])) { $_SESSION['begin_with'] = $_GET['begin_with']; } else { unset($_SESSION['begin_with']); } $fspot->showPhotoIndex(); break; case 'showcredits': $fspot->showCredits(); break; case 'search': $fspot->startSearch($_GET['for'], $_GET['sort_order'], $_GET['from'], $_GET['to']); if((isset($_GET['from']) && $fspot->isValidDate($_GET['from'])) && (isset($_GET['to']) && $fspot->isValidDate($_GET['to']))) { } else { $fspot->startSearch($_GET['for'], $_GET['sort_order']); } break; case 'get_export': /* $_GET['mode'] will be validated by getExport() */ $fspot->getExport($_GET['mode']); break; case 'get_photo_to_show': $fspot->getCurrentPhoto(); break; case 'get_calendar_matrix': if((is_numeric($_GET['year']) || !isset($_GET['year'])) && (is_numeric($_GET['month']) || !isset($_GET['month'])) && (is_numeric($_GET['day']) || !isset($_GET['day']))) { $fspot->get_calendar_matrix($_GET['year'], $_GET['month'], $_GET['day']); } break; case 'what_to_do': print $fspot->whatToDo(); break; case 'reset_slideshow': print $fspot->resetSlideShow(); break; case 'get_next_slideshow_img': print $fspot->getNextSlideShowImage(); break; case 'get_prev_slideshow_img': print $fspot->getPrevSlideShowImage(); break; } } // process_ajax_request(); } $rpc = new PHPFSPOT_RPC(); $rpc->process_ajax_request(); ?>