Example #1
0
 /**
  * Handle incoming requests that query for sound samples in neighbourhood.
  * File names are taken from the database.
  */
 public static function handleSamplesRequest($latitude, $longitude, $range)
 {
     // Validate geo coordinates
     if (!MediaServer::validGeoCoordinates($latitude, $longitude)) {
         return array('Statuscode' => 'Error', 'Message' => 'Invalid or no geo coordinates provided.');
     }
     // Return data of sound samples in neighbourhood
     $database = new Database();
     $sampleData = $database->getSamples($latitude, $longitude, $range);
     if (count($sampleData) <= 0) {
         return array('Statuscode' => 'Info', 'Message' => 'No nearby sound samples found.');
     }
     // Log samples request
     Logger::log('Samples requested.', Logger::SAMPLES_REQUEST);
     // Send response
     return array('Statuscode' => 'OK', 'Message' => 'Sound samples queried successfully.', 'SampleData' => $sampleData, 'ResultCount' => count($sampleData));
 }