<?php namespace Adafruit\FeedMangler; use Adafruit\FeedMangler\Mangler; class Atom { public static function searchResults ($term) { $search_data = Mangler::getSearchData($term); $results = []; if (array_key_exists('projects', $search_data)) if (is_array($search_data['projects'])) $results = $search_data['projects']; $feed = new \FeedWriter\ATOM; $feed->setTitle('Hackaday IO - ' . $term); $feed->setLink(APPLICATION_URL); $feed->setChannelElement('updated', date(\DATE_ATOM , time())); $feed->setChannelElement('author', ['name' => 'Adafruit Industries Feed Mangler']); $feed->setSelfLink(APPLICATION_URL); foreach ($results as $result) { // print_r($result); $item = $feed->createNewItem(); $item->setAuthor('foo'); if (isset($result['url'])) { $item->setLink($result['url']); } else { // skip because why don't you have a url argh continue; } if (isset($result['updated'])) $item->setDate( date('r', $result['updated']) ); $content_html = ''; if (isset($result['summary'])) $content_html .= '<p><i>' . $result['summary'] . '</i></p>'; if (isset($result['description'])) $content_html .= '<p>' . nl2br($result['description']) . '</p>'; if (isset($result['skulls'])) { $s = $result['skulls']; if ($s > 100) $content_html .= "<p>☠ x {$s}</p>"; elseif ($s > 0) $content_html .= "<p>" . str_repeat('☠', $s); } if (strlen($content_html)) $item->setContent($content_html); if (isset($result['name'])) $item->setTitle($result['name']); $feed->addItem($item); } return $feed->generateFeed(); } }