_dbid = $dbid; } public function handle() { $db = DB::table('databases')->where('id','=',$this->_dbid)->first(); $urls = preg_split('/\s+/', $db->ping_urls); $location = [ 'location' => json_decode($db->last_location, true) ]; if($db->current_trip) $location['trip'] = json_decode($db->current_trip, true); $location = json_encode($location, JSON_UNESCAPED_SLASHES); foreach($urls as $url) { if(trim($url)) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer '.$db->read_token, 'Compass-Url: '.env('BASE_URL').'api/last?token='.$db->read_token.'&geocode=1' ]); curl_setopt($ch, CURLOPT_POSTFIELDS, $location); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); $timestamp = ''; if($db->last_location) { $timestamp = json_decode($db->last_location)->properties->timestamp; } Log::info("Notifying ".$url." with current location: ".$timestamp); } } } }