Piwik_Translate('ExampleRssWidget_PluginDescription'), 'author' => 'Piwik', 'author_homepage' => 'http://piwik.org/', 'version' => '0.1', ); } public function getListHooksRegistered() { return array( 'template_css_import' => 'css'); } function css() { echo "\n"; } } Piwik_AddWidget('Example Widgets', 'HA WEBSYSTEMS', 'ExampleRssWidget', 'rssPiwik'); Piwik_AddWidget('Example Widgets', 'Piwik Changelog', 'ExampleRssWidget', 'rssChangelog'); /** * * @package Piwik_ExampleRssWidget */ class Piwik_ExampleRssWidget_Controller extends Piwik_Controller { function rssPiwik() { $rss = new Piwik_ExampleRssWidget_Rss('http://feeds.feedburner.com/Oss-Seo'); $rss->showDescription(true); echo $rss->get(); } function rssChangelog() { $rss = new Piwik_ExampleRssWidget_Rss('http://feeds.feedburner.com/PiwikReleases'); $rss->setCountPosts(1); $rss->showDescription(false); $rss->showContent(true); echo $rss->get(); } } /** * * @package Piwik_ExampleRssWidget */ class Piwik_ExampleRssWidget_Rss { protected $url = null; protected $count = 5; protected $showDescription = false; protected $showContent = false; function __construct($url) { $this->url = $url; } function showDescription($bool) { $this->showDescription = $bool; } function showContent($bool) { $this->showContent = $bool; } function setCountPosts($count) { $this->count = $count; } function get() { try { $rss = Zend_Feed::import($this->url); } catch (Zend_Feed_Exception $e) { echo "Error while importing feed: {$e->getMessage()}\n"; exit; } $output = '
'; return $output; } }