<?php class ParksOnTheAirBridge extends BridgeAbstract { const MAINTAINER = 's0lesurviv0r'; const NAME = 'Parks On The Air Spots'; const URI = 'https://pota.app/#'; const API_URI = 'https://api.pota.app/spot/activator'; const CACHE_TIMEOUT = 60; // 1m const DESCRIPTION = 'Parks On The Air Activator Spots'; public function collectData() { $header = ['Content-type:application/json']; $opts = [CURLOPT_HTTPGET => 1]; $json = getContents(self::API_URI, $header, $opts); $spots = json_decode($json, true); foreach ($spots as $spot) { $title = $spot['activator'] . ' @ ' . $spot['reference'] . ' ' . $spot['frequency'] . ' kHz'; $park_link = self::URI . '/park/' . $spot['reference']; $content = <<<EOL <a href="{$park_link}"> {$spot['reference']}, {$spot['name']}</a><br /> Location: {$spot['locationDesc']}<br /> Frequency: {$spot['frequency']} kHz<br /> Spotter: {$spot['spotter']}<br /> Comments: {$spot['comments']} EOL; $this->items[] = [ 'uri' => $park_link, 'title' => $title, 'content' => $content, 'timestamp' => $spot['spotTime'] ]; } } }