<?php

class WallmineNewsBridge extends BridgeAbstract
{
    const NAME = 'Wallmine News Bridge';
    const URI = 'https://wallmine.com';
    const DESCRIPTION = 'Returns financial news';
    const MAINTAINER = 'VerifiedJoseph';
    const PARAMETERS = [];

    const CACHE_TIMEOUT = 900; // 15 mins

    public function collectData()
    {
        $html = getSimpleHTMLDOM($this->getURI() . '/news/');

        $html = defaultLinkTo($html, self::URI);

        foreach ($html->find('div.container.news-card') as $div) {
            $item = [];
            $item['uri'] = $div->find('a', 0)->href;

            $image = $div->find('img.img-fluid', 0)->src;

            $page = getSimpleHTMLDOMCached($item['uri'], 7200);

            $article = $page->find('div.container.article-container', 0);

            $item['title'] = $article->find('h1', 0)->plaintext;

            $article->find('p.published-on', 0)->children(0)->outertext = '';
            $article->find('p.published-on', 0)->children(1)->outertext = '';
            $date = str_replace('at', '', $article->find('p.published-on', 0)->innertext);

            $item['timestamp'] = $date;

            $article->find('h1', 0)->outertext = '';
            $article->find('p.published-on', 0)->outertext = '';

            $item['content'] = $article->innertext;
            $item['enclosures'][] = $image;

            $this->items[] = $item;

            if (count($this->items) >= 10) {
                break;
            }
        }
    }
}