|
|
- <?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();
- }
-
- }
|