diff options
author | Johannes Schauer <josch@debian.org> | 2017-08-04 22:06:01 +0200 |
---|---|---|
committer | Johannes Schauer <josch@debian.org> | 2017-08-04 22:06:01 +0200 |
commit | b005331cd910c0cc7dee2ddf82491b8248f431cf (patch) | |
tree | ff8b5cbfe81d570b878cb8d60ee51d07c3b1d059 /bridges/FeedExpanderExampleBridge.php |
Import rss-bridge_2017-08-03.orig.tar.gz
[dgit import orig rss-bridge_2017-08-03.orig.tar.gz]
Diffstat (limited to 'bridges/FeedExpanderExampleBridge.php')
-rw-r--r-- | bridges/FeedExpanderExampleBridge.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/bridges/FeedExpanderExampleBridge.php b/bridges/FeedExpanderExampleBridge.php new file mode 100644 index 0000000..9d2f178 --- /dev/null +++ b/bridges/FeedExpanderExampleBridge.php @@ -0,0 +1,62 @@ +<?php +class FeedExpanderExampleBridge extends FeedExpander { + + const MAINTAINER = 'logmanoriginal'; + const NAME = 'FeedExpander Example'; + const URI = '#'; + const DESCRIPTION = 'Example bridge to test FeedExpander'; + + const PARAMETERS = array( + 'Feed' => array( + 'version' => array( + 'name' => 'Version', + 'type' => 'list', + 'required' => true, + 'title' => 'Select your feed format/version', + 'defaultValue' => 'RSS 2.0', + 'values' => array( + 'RSS 0.91' => 'rss_0_9_1', + 'RSS 1.0' => 'rss_1_0', + 'RSS 2.0' => 'rss_2_0', + 'ATOM 1.0' => 'atom_1_0' + ) + ) + ) + ); + + public function collectData(){ + switch($this->getInput('version')) { + case 'rss_0_9_1': + parent::collectExpandableDatas('http://static.userland.com/gems/backend/sampleRss.xml'); + break; + case 'rss_1_0': + parent::collectExpandableDatas('http://feeds.nature.com/nature/rss/current?format=xml'); + break; + case 'rss_2_0': + parent::collectExpandableDatas('http://feeds.rssboard.org/rssboard?format=xml'); + break; + case 'atom_1_0': + parent::collectExpandableDatas('http://segfault.linuxmint.com/feed/atom/'); + break; + default: returnClientError('Unknown version ' . $this->getInput('version') . '!'); + } + } + + protected function parseItem($newsItem) { + switch($this->getInput('version')) { + case 'rss_0_9_1': + return $this->parseRSS_0_9_1_Item($newsItem); + break; + case 'rss_1_0': + return $this->parseRSS_1_0_Item($newsItem); + break; + case 'rss_2_0': + return $this->parseRSS_2_0_Item($newsItem); + break; + case 'atom_1_0': + return $this->parseATOMItem($newsItem); + break; + default: returnClientError('Unknown version ' . $this->getInput('version') . '!'); + } + } +} |