diff --git a/bridges/BundesbankBridge.php b/bridges/BundesbankBridge.php new file mode 100644 index 00000000..972290bd --- /dev/null +++ b/bridges/BundesbankBridge.php @@ -0,0 +1,83 @@ + array( + 'name' => 'Language', + 'type' => 'list', + 'required' => true, + 'defaultValue' => self::LANG_DE, + 'values' => array( + 'English' => self::LANG_EN, + 'Deutsch' => self::LANG_DE + ) + ) + ) + ); + + public function getURI() { + switch($this->getInput(self::PARAM_LANG)) { + case self::LANG_EN: return self::URI . 'en/publications/reports/studies'; + case self::LANG_DE: return self::URI . 'de/publikationen/berichte/studien'; + } + + return parent::getURI(); + } + + public function collectData() { + + $html = getSimpleHTMLDOM($this->getURI()) + or returnServerError('No response for ' . $this->getURI()); + + $html = defaultLinkTo($html, $this->getURI()); + + foreach($html->find('ul.resultlist li') as $study) { + $item = array(); + + $item['uri'] = $study->find('.teasable__link', 0)->href; + + // Get title without child elements (i.e. subtitle) + $title = $study->find('.teasable__title div.h2', 0); + + foreach($title->children as &$child) { + $child->outertext = ''; + } + + $item['title'] = $title->innertext; + + // Add subtitle to the content if it exists + $item['content'] = ''; + + if($subtitle = $study->find('.teasable__subtitle', 0)) { + $item['content'] .= '' . $study->find('.teasable__subtitle', 0)->plaintext . ''; + } + + $item['content'] .= '

' . $study->find('.teasable__text', 0)->plaintext . '

'; + + $item['timestamp'] = strtotime($study->find('.teasable__date', 0)->plaintext); + + // Downloads and older studies don't have images + if($study->find('.teasable__image', 0)) { + $item['enclosures'] = array( + $study->find('.teasable__image img', 0)->src + ); + } + + $this->items[] = $item; + } + + } + +}