handleJson($json); $this->orderItems(); $this->limitItems(); } /** * Handle JSON */ private function handleJson($json) { $graveyard = json_decode($json, true); foreach($graveyard as $tombstone) { $item = array(); $openDate = new DateTime($tombstone['dateOpen']); $closeDate = new DateTime($tombstone['dateClose']); $currentDate = new DateTime(); $yearOpened = $openDate->format('Y'); $yearClosed = $closeDate->format('Y'); if ($closeDate > $currentDate) { continue; } $item['title'] = $tombstone['name'] . ' (' . $yearOpened . ' - ' . $yearClosed . ')'; $item['uid'] = $tombstone['slug']; $item['timestamp'] = strtotime($tombstone['dateClose']); $item['content'] = <<{$tombstone['description']}

{$tombstone['link']}

EOD; $item['enclosures'][] = self::URI . '/assets/tombstone.svg'; $this->items[] = $item; } } /** * Order items by timestamp */ private function orderItems() { $sort = array(); foreach ($this->items as $key => $item) { $sort[$key] = $item['timestamp']; } array_multisort($sort, SORT_DESC, $this->items); $this->items = array_slice($this->items, 0, 15); } /** * Limit items to 15 */ private function limitItems() { $this->items = array_slice($this->items, 0, 15); } }