aboutsummaryrefslogtreecommitdiff
path: root/bridges/PresidenciaPTBridge.php
diff options
context:
space:
mode:
Diffstat (limited to 'bridges/PresidenciaPTBridge.php')
-rw-r--r--bridges/PresidenciaPTBridge.php145
1 files changed, 77 insertions, 68 deletions
diff --git a/bridges/PresidenciaPTBridge.php b/bridges/PresidenciaPTBridge.php
index e7b016ea..a0baa57f 100644
--- a/bridges/PresidenciaPTBridge.php
+++ b/bridges/PresidenciaPTBridge.php
@@ -1,77 +1,86 @@
<?php
-class PresidenciaPTBridge extends BridgeAbstract {
- const NAME = 'Presidência da República Portuguesa';
- const URI = 'https://www.presidencia.pt';
- const DESCRIPTION = 'Presidência da República Portuguesa';
- const MAINTAINER = 'somini';
- const PARAMETERS = array(
- 'Section' => array(
- '/atualidade/noticias' => array(
- 'name' => 'Notícias',
- 'type' => 'checkbox',
- 'defaultValue' => 'checked',
- ),
- '/atualidade/mensagens' => array(
- 'name' => 'Mensagens',
- 'type' => 'checkbox',
- 'defaultValue' => 'checked',
- ),
- '/atualidade/atividade-legislativa' => array(
- 'name' => 'Atividade Legislativa',
- 'type' => 'checkbox',
- 'defaultValue' => 'checked',
- ),
- '/atualidade/notas-informativas' => array(
- 'name' => 'Notas Informativas',
- 'type' => 'checkbox',
- 'defaultValue' => 'checked',
- )
- )
- );
- const PT_MONTH_NAMES = array(
- 'janeiro',
- 'fevereiro',
- 'março',
- 'abril',
- 'maio',
- 'junho',
- 'julho',
- 'agosto',
- 'setembro',
- 'outubro',
- 'novembro',
- 'dezembro');
+class PresidenciaPTBridge extends BridgeAbstract
+{
+ const NAME = 'Presidência da República Portuguesa';
+ const URI = 'https://www.presidencia.pt';
+ const DESCRIPTION = 'Presidência da República Portuguesa';
+ const MAINTAINER = 'somini';
+ const PARAMETERS = [
+ 'Section' => [
+ '/atualidade/noticias' => [
+ 'name' => 'Notícias',
+ 'type' => 'checkbox',
+ 'defaultValue' => 'checked',
+ ],
+ '/atualidade/mensagens' => [
+ 'name' => 'Mensagens',
+ 'type' => 'checkbox',
+ 'defaultValue' => 'checked',
+ ],
+ '/atualidade/atividade-legislativa' => [
+ 'name' => 'Atividade Legislativa',
+ 'type' => 'checkbox',
+ 'defaultValue' => 'checked',
+ ],
+ '/atualidade/notas-informativas' => [
+ 'name' => 'Notas Informativas',
+ 'type' => 'checkbox',
+ 'defaultValue' => 'checked',
+ ]
+ ]
+ ];
- public function getIcon(){
- return 'https://www.presidencia.pt/Theme/favicon/apple-touch-icon.png';
- }
+ const PT_MONTH_NAMES = [
+ 'janeiro',
+ 'fevereiro',
+ 'março',
+ 'abril',
+ 'maio',
+ 'junho',
+ 'julho',
+ 'agosto',
+ 'setembro',
+ 'outubro',
+ 'novembro',
+ 'dezembro'];
- public function collectData() {
- foreach(array_keys($this->getParameters()['Section']) as $k) {
- Debug::log('Key: ' . var_export($k, true));
- if($this->getInput($k)) {
- $html = getSimpleHTMLDOMCached($this->getURI() . $k);
+ public function getIcon()
+ {
+ return 'https://www.presidencia.pt/Theme/favicon/apple-touch-icon.png';
+ }
- foreach($html->find('#atualidade-list article.card-block') as $element) {
- $item = array();
+ public function collectData()
+ {
+ foreach (array_keys($this->getParameters()['Section']) as $k) {
+ Debug::log('Key: ' . var_export($k, true));
+ if ($this->getInput($k)) {
+ $html = getSimpleHTMLDOMCached($this->getURI() . $k);
- $link = $element->find('a', 0);
- $etitle = $element->find('.content-box h2', 0);
- $edts = $element->find('p', 1);
- $edt = html_entity_decode($edts->innertext, ENT_HTML5);
+ foreach ($html->find('#atualidade-list article.card-block') as $element) {
+ $item = [];
- $item['title'] = strip_tags($etitle->innertext);
- $item['uri'] = self::URI . $link->href;
- $item['description'] = $element;
- $item['timestamp'] = str_ireplace(
- array_map(function($name) { return ' de ' . $name . ' de '; }, self::PT_MONTH_NAMES),
- array_map(function($num) { return sprintf('-%02d-', $num); }, range(1, sizeof(self::PT_MONTH_NAMES))),
- $edt);
+ $link = $element->find('a', 0);
+ $etitle = $element->find('.content-box h2', 0);
+ $edts = $element->find('p', 1);
+ $edt = html_entity_decode($edts->innertext, ENT_HTML5);
- $this->items[] = $item;
- }
- }
- }
- }
+ $item['title'] = strip_tags($etitle->innertext);
+ $item['uri'] = self::URI . $link->href;
+ $item['description'] = $element;
+ $item['timestamp'] = str_ireplace(
+ array_map(function ($name) {
+ return ' de ' . $name . ' de ';
+ }, self::PT_MONTH_NAMES),
+ array_map(function ($num) {
+ return sprintf('-%02d-', $num);
+ }, range(1, sizeof(self::PT_MONTH_NAMES))),
+ $edt
+ );
+
+ $this->items[] = $item;
+ }
+ }
+ }
+ }
}