summaryrefslogtreecommitdiff
path: root/bridges/FeedExpanderExampleBridge.php
diff options
context:
space:
mode:
Diffstat (limited to 'bridges/FeedExpanderExampleBridge.php')
-rw-r--r--bridges/FeedExpanderExampleBridge.php62
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') . '!');
+ }
+ }
+}