X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=rpc.php;h=bdb7004ad6de1d6a03ec68c1760077517aa8e67d;hp=d7dafce23d68f486a28c34301ba5593471647d9f;hb=df8001b575ecc53c0f9d10f43ce9136220c9c927;hpb=005562e4a4fb2b37fc6f1d4a8ca4a9c11ab42ed1 diff --git a/rpc.php b/rpc.php index d7dafce..bdb7004 100644 --- a/rpc.php +++ b/rpc.php @@ -42,32 +42,32 @@ class PHPFSPOT_RPC { switch($_GET['action']) { case 'showphoto': - - $fspot->showPhoto($_GET['id']); + 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': - - $fspot->addTag($_GET['id']); + if(isset($_GET['id']) && is_numeric($_GET['id'])) { + $fspot->addTag($_GET['id']); + } break; case 'deltag': - - $fspot->delTag($_GET['id']); + if(isset($_GET['id']) && is_numeric($_GET['id'])) { + $fspot->delTag($_GET['id']); + } break; case 'reset': - $fspot->resetTagSearch(); $fspot->resetTags(); $fspot->resetDateSearch(); @@ -75,28 +75,38 @@ class PHPFSPOT_RPC { break; case 'tagcondition': - - $fspot->setTagCondition($_GET['mode']); + if(isset($_GET['mode']) && in_array($_GET['mode'], Array('or', 'and'))) { + $fspot->setTagCondition($_GET['mode']); + } break; case 'show_photo_index': - - $_SESSION['begin_with'] = $_GET['begin_with']; + 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'], $_GET['sort_order']); + $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; @@ -105,7 +115,11 @@ class PHPFSPOT_RPC { break; case 'get_calendar_matrix': - $fspot->get_calendar_matrix($_GET['year'], $_GET['month'], $_GET['day']); + 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': @@ -119,6 +133,10 @@ class PHPFSPOT_RPC { case 'get_next_slideshow_img': print $fspot->getNextSlideShowImage(); break; + + case 'get_prev_slideshow_img': + print $fspot->getPrevSlideShowImage(); + break; }