<?php

class PCGWNewsBridge extends FeedExpander
{
    const MAINTAINER = 'somini';
    const NAME = 'PCGamingWiki News';
    const BASE_URI = 'https://www.pcgamingwiki.com';
    const URI = self::BASE_URI . '/wiki/PCGamingWiki:News';
    const DESCRIPTION = 'PCGW News Feed';

    public function getIcon()
    {
        return 'https://static.pcgamingwiki.com/favicons/pcgamingwiki.png';
    }

    public function collectData()
    {
        $html = getSimpleHTMLDOM($this->getURI());

        $now = strtotime('now');

        foreach ($html->find('.mw-parser-output .news_li') as $element) {
            $item = [];

            $date_string = $element->find('b', 0)->innertext;
            $date = strtotime($date_string);
            if ($date > $now) {
                $date = strtotime($date_string . ' - 1 year');
            }
            $item['title'] = self::NAME . ' for ' . date('Y-m-d', $date);
            $item['content'] = $element;
            $item['uri'] = $this->getURI();
            $item['timestamp'] = $date;

            $this->items[] = $item;
        }
    }
}