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