1<?php
2class PresidenciaPTBridge extends BridgeAbstract {
3	const NAME = 'Presidência da República Portuguesa';
4	const URI = 'https://www.presidencia.pt';
5	const DESCRIPTION = 'Presidência da República Portuguesa | Mensagens';
6	const MAINTAINER = 'somini';
7
8	const PT_MONTH_NAMES = array(
9		'janeiro',
10		'fevereiro',
11		'março',
12		'abril',
13		'maio',
14		'junho',
15		'julho',
16		'agosto',
17		'setembro',
18		'outubro',
19		'novembro',
20		'dezembro');
21
22	public function collectData() {
23		$html = getSimpleHTMLDOM($this->getURI() . '/atualidade/mensagens')
24			or returnServerError('Could not load content');
25
26		foreach($html->find('#atualidade-list article.card-block') as $element) {
27			$item = array();
28
29			$link = $element->find('a', 0);
30			$etitle = $link->find('h2', 0);
31			$edts = $element->find('p', 1);
32			$edt = html_entity_decode($edts->innertext, ENT_HTML5);
33
34			$item['title'] = $etitle->innertext;
35			$item['uri'] = self::URI . $link->href;
36			$item['description'] = $element;
37			$item['timestamp'] = str_ireplace(
38				array_map(function($name) { return ' de ' . $name . ' de '; }, self::PT_MONTH_NAMES),
39				array_map(function($num) { return sprintf('-%02d-', $num); }, range(1, sizeof(self::PT_MONTH_NAMES))),
40				$edt);
41
42			$this->items[] = $item;
43		}
44	}
45}
46