X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=rpc.php;h=ad80ca5eedcf2d4f7d8a66aab20b4e2c5315b858;hb=ffc29441338ca87bec6f6f1a331f638818edf693;hp=d0a6c1c9e088ea68c96153a30705fee9af1371a8;hpb=fc802d09f196e338f7485e38057ec84df5c81bf2;p=phpfspot.git diff --git a/rpc.php b/rpc.php index d0a6c1c..ad80ca5 100644 --- a/rpc.php +++ b/rpc.php @@ -31,7 +31,7 @@ class PHPFSPOT_RPC { } // __construct() - function process_ajax_request() + public function process_ajax_request() { require_once 'HTML/AJAX/Server.php'; @@ -40,7 +40,18 @@ class PHPFSPOT_RPC { $fspot = new PHPFSPOT(); - switch($_GET['action']) { + /* if no action is specified, no need to further process this + * function here. + */ + if(!isset($_GET['action']) && !isset($_POST['action'])) + return; + + if(isset($_GET['action'])) + $action = $_GET['action']; + if(isset($_POST['action'])) + $action = $_POST['action']; + + switch($action) { case 'showphoto': if(isset($_GET['id']) && is_numeric($_GET['id'])) { $fspot->showPhoto($_GET['id']); @@ -48,35 +59,36 @@ class PHPFSPOT_RPC { break; case 'show_available_tags': - $fspot->getAvailableTags(); + print $fspot->getAvailableTags(); break; case 'show_selected_tags': - $fspot->getSelectedTags(); + print $fspot->getSelectedTags(); break; case 'addtag': - if(isset($_GET['id']) && is_numeric($_GET['id'])) { - $fspot->addTag($_GET['id']); + if(isset($_POST['id']) && is_numeric($_POST['id'])) { + print $fspot->addTag($_POST['id']); } break; case 'deltag': - if(isset($_GET['id']) && is_numeric($_GET['id'])) { - $fspot->delTag($_GET['id']); + if(isset($_POST['id']) && is_numeric($_POST['id'])) { + print $fspot->delTag($_POST['id']); } break; case 'reset': $fspot->resetTagSearch(); + $fspot->resetNameSearch(); $fspot->resetTags(); $fspot->resetDateSearch(); $fspot->resetPhotoView(); break; case 'tagcondition': - if(isset($_GET['mode']) && in_array($_GET['mode'], Array('or', 'and'))) { - $fspot->setTagCondition($_GET['mode']); + if(isset($_POST['mode']) && in_array($_POST['mode'], Array('or', 'and'))) { + print $fspot->setTagCondition($_POST['mode']); } break; @@ -87,6 +99,9 @@ class PHPFSPOT_RPC { else { unset($_SESSION['begin_with']); } + if(isset($_GET['last_photo']) && is_numeric($_GET['last_photo'])) + $_SESSION['last_photo'] = $_GET['last_photo']; + $fspot->showPhotoIndex(); break; @@ -95,10 +110,17 @@ class PHPFSPOT_RPC { break; case 'search': - $fspot->startSearch($_GET['for'], $_GET['from'], $_GET['to'], $_GET['sort_order']); + print $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; @@ -134,7 +156,7 @@ class PHPFSPOT_RPC { } // process_ajax_request(); -} +} // class PHPFSPOT_RPC $rpc = new PHPFSPOT_RPC(); $rpc->process_ajax_request();