/** * Validate the client's API key, save uploaded sound sample on * disk and return a success message. * * \param $request REST request from client * * \return Array with response data */ private function uploadSoundSample($request) { $result = array(); $bodyData = $request->getBodyData(); $arguments = $request->getURLArguments(); // Validate client credentials if (isset($bodyData['AppName']) && isset($bodyData['ApiKey']) && Authentication::validate($bodyData['AppName'], $bodyData['ApiKey'])) { // Upload sound sample if (isset($arguments['latitude']) && isset($arguments['longitude']) && isset($bodyData['Time']) && isset($bodyData['Tag']) && isset($bodyData['PayloadType']) && isset($bodyData['Payload']) && isset($bodyData['ReportedBy'])) { // Prevent PHP notice because of undefined index if (!isset($bodyData['Title'])) { $bodyData['Title'] = null; } if (!isset($bodyData['Description'])) { $bodyData['Description'] = null; } $result = MediaServer::handleUploadRequest($arguments['latitude'], $arguments['longitude'], $bodyData['Title'], $bodyData['Time'], $bodyData['Description'], $bodyData['Tag'], $bodyData['PayloadType'], $bodyData['Payload'], $bodyData['ReportedBy']); } else { $result = array('Statuscode' => 'Error', 'Message' => 'Invalid or incomplete request. Check URL arguments and body data.'); } } else { $result = array('Statuscode' => 'Error', 'Message' => 'Invalid or no auth data provided. Check your API key.'); } return $result; }
/** * Method for file upload. */ public function uploadSample($latitude, $longitude, $title, $timestamp, $description, $payloadType, $payload) { return MediaServer::handleUploadRequest($latitude, $longitude, $title, $timestamp, $description, $payloadType, $payload); }