handleRequest(); $fspot = new PHPFSPOT(); /* if no action is specified, no need to further process this * function here. */ if(!isset($_GET['action'])) return; 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['from'], $_GET['to']); if((isset($_GET['from']) && $fspot->isValidDate($_GET['from'])) && (isset($_GET['to']) && $fspot->isValidDate($_GET['to']))) { } else { $fspot->startSearch($_GET['for']); } break; case 'update_sort_order': if(isset($_POST['value']) && is_string($_POST['value'])) { print $fspot->updateSortOrder($_POST['value']); } 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(); } // class PHPFSPOT_RPC $rpc = new PHPFSPOT_RPC(); $rpc->process_ajax_request(); ?>