setProjectId($iProjectId); $bValidRequest = $oSpot->validateMutationRequest($sAction, $sCsrfToken); if(!$bValidRequest) $sResult = Spot::getJsonResult(false, Spot::UNAUTHORIZED); elseif($sAction == '') $sResult = $oSpot->getAppMainPage(); else { switch($sAction) { case 'markers': $sResult = $oSpot->getMarkers(); break; case 'last_update': $sResult = $oSpot->getLastUpdate(); break; case 'geojson': $sResult = $oSpot->getProjectGeoJson(); break; case 'next_feed': $sResult = $oSpot->getNextFeed($sRefId); break; case 'new_feed': $sResult = $oSpot->getNewFeed($sRefId); break; case 'add_post': $sResult = $oSpot->addPost($sName, $sContent); break; case 'subscribe': $sResult = $oSpot->subscribe($sEmail, $sName); break; case 'unsubscribe': $sResult = $oSpot->unsubscribe(); break; case 'unsubscribe_email': $sResult = $oSpot->unsubscribeFromEmail($iEntityId); break; case 'update_project': $sResult = $oSpot->updateProject(); break; default: if($oSpot->checkUserClearance(User::CLEARANCE_ADMIN)) { switch($sAction) { case 'upload': $sResult = $oSpot->upload(); break; case 'add_comment': $sResult = $oSpot->addComment($iEntityId, $sContent); break; case 'add_position': $sResult = $oSpot->addPosition($sLat, $sLng, $iTimestamp); break; case 'admin_get': $sResult = $oSpot->getAdminSettings(); break; case 'admin_set': $sResult = $oSpot->setAdminSettings($sType, $iEntityId, $sField, $oValue); break; case 'admin_create': $sResult = $oSpot->createAdminSettings($sType); break; case 'admin_delete': $sResult = $oSpot->deleteAdminSettings($sType, $iEntityId); break; case 'sql': $sResult = $oSpot->getDbBuildScript(); break; case 'build_geojson': $sResult = $oSpot->buildGeoJSON($sName); break; default: $sResult = Spot::getJsonResult(false, Spot::NOT_FOUND); } } else $sResult = Spot::getJsonResult(false, Spot::NOT_FOUND); } } $sDebug = ob_get_clean(); if(Settings::DEBUG && $sDebug!='') $oSpot->addUncaughtError($sDebug); echo $sResult;