diff options
Diffstat (limited to 'bridges/UnraidCommunityApplicationsBridge.php')
-rw-r--r-- | bridges/UnraidCommunityApplicationsBridge.php | 121 |
1 files changed, 66 insertions, 55 deletions
diff --git a/bridges/UnraidCommunityApplicationsBridge.php b/bridges/UnraidCommunityApplicationsBridge.php index c2cb3ace..5acd5049 100644 --- a/bridges/UnraidCommunityApplicationsBridge.php +++ b/bridges/UnraidCommunityApplicationsBridge.php @@ -1,70 +1,81 @@ <?php -class UnraidCommunityApplicationsBridge extends BridgeAbstract { - const NAME = 'Unraid Community Applications'; - const URI = 'https://forums.unraid.net/topic/38582-plug-in-community-applications/'; - const DESCRIPTION = 'Fetches the latest fifteen new apps/plugins from Unraid Community Applications'; - const MAINTAINER = 'Paroleen'; - const CACHE_TIMEOUT = 3600; - const APPSURI = 'https://raw.githubusercontent.com/Squidly271/AppFeed/master/applicationFeed.json'; +class UnraidCommunityApplicationsBridge extends BridgeAbstract +{ + const NAME = 'Unraid Community Applications'; + const URI = 'https://forums.unraid.net/topic/38582-plug-in-community-applications/'; + const DESCRIPTION = 'Fetches the latest fifteen new apps/plugins from Unraid Community Applications'; + const MAINTAINER = 'Paroleen'; + const CACHE_TIMEOUT = 3600; - private $apps = array(); + const APPSURI = 'https://raw.githubusercontent.com/Squidly271/AppFeed/master/applicationFeed.json'; - private function fetchApps() { - Debug::log('Fetching all applications/plugins'); - $this->apps = getContents(self::APPSURI); - $this->apps = json_decode($this->apps, true)['applist']; - } + private $apps = []; - private function sortApps() { - Debug::log('Sorting applications/plugins'); - usort($this->apps, function($app1, $app2) { - return $app1['FirstSeen'] < $app2['FirstSeen'] ? 1 : -1; - }); - } + private function fetchApps() + { + Debug::log('Fetching all applications/plugins'); + $this->apps = getContents(self::APPSURI); + $this->apps = json_decode($this->apps, true)['applist']; + } - public function collectData() { - $this->fetchApps(); - $this->sortApps(); + private function sortApps() + { + Debug::log('Sorting applications/plugins'); + usort($this->apps, function ($app1, $app2) { + return $app1['FirstSeen'] < $app2['FirstSeen'] ? 1 : -1; + }); + } - Debug::log('Building RSS feed'); - foreach($this->apps as $app) { - if(!array_key_exists('Language', $app)) { - $item = array(); - $item['title'] = $app['Name']; - $item['timestamp'] = $app['FirstSeen']; - $item['author'] = explode('\'', $app['Repo'])[0]; - $item['categories'] = explode(' ', $app['Category']); - $item['content'] = ''; + public function collectData() + { + $this->fetchApps(); + $this->sortApps(); - if(array_key_exists('Icon', $app)) - $item['content'] .= '<img style="width: 64px" src="' - . $app['Icon'] - . '">'; + Debug::log('Building RSS feed'); + foreach ($this->apps as $app) { + if (!array_key_exists('Language', $app)) { + $item = []; + $item['title'] = $app['Name']; + $item['timestamp'] = $app['FirstSeen']; + $item['author'] = explode('\'', $app['Repo'])[0]; + $item['categories'] = explode(' ', $app['Category']); + $item['content'] = ''; - if(array_key_exists('Overview', $app)) - $item['content'] .= '<p>' - . $app['Overview'] - . '</p>'; + if (array_key_exists('Icon', $app)) { + $item['content'] .= '<img style="width: 64px" src="' + . $app['Icon'] + . '">'; + } - if(array_key_exists('Project', $app)) - $item['uri'] = $app['Project']; + if (array_key_exists('Overview', $app)) { + $item['content'] .= '<p>' + . $app['Overview'] + . '</p>'; + } - if(array_key_exists('Registry', $app)) - $item['content'] .= '<br><a href="' - . $app['Registry'] - . '">Docker Hub</a>'; + if (array_key_exists('Project', $app)) { + $item['uri'] = $app['Project']; + } - if(array_key_exists('Support', $app)) - $item['content'] .= '<br><a href="' - . $app['Support'] - . '">Support</a>'; + if (array_key_exists('Registry', $app)) { + $item['content'] .= '<br><a href="' + . $app['Registry'] + . '">Docker Hub</a>'; + } - $this->items[] = $item; + if (array_key_exists('Support', $app)) { + $item['content'] .= '<br><a href="' + . $app['Support'] + . '">Support</a>'; + } - if(count($this->items) >= 15) - break; - } - } - } + $this->items[] = $item; + + if (count($this->items) >= 15) { + break; + } + } + } + } } |