apps = getContents(self::APPSURI); $this->apps = json_decode($this->apps, true)['applist']; } private function sortApps() { Debug::log('Sorting applications/plugins'); usort($this->apps, function ($app1, $app2) { return $app1['FirstSeen'] < $app2['FirstSeen'] ? 1 : -1; }); } public function collectData() { $this->fetchApps(); $this->sortApps(); 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('Icon', $app)) { $item['content'] .= ''; } if (array_key_exists('Overview', $app)) { $item['content'] .= '

' . $app['Overview'] . '

'; } if (array_key_exists('Project', $app)) { $item['uri'] = $app['Project']; } if (array_key_exists('Registry', $app)) { $item['content'] .= '
Docker Hub'; } if (array_key_exists('Support', $app)) { $item['content'] .= '
Support'; } $this->items[] = $item; if (count($this->items) >= 15) { break; } } } } }