/**
  *
  * @global OutputPage $this->getOutput()
  * @param type $sParameter
  * @return type 
  */
 public function execute($sParameter)
 {
     parent::execute($sParameter);
     $extension = false;
     if ($sParameter) {
         $sParameter = $this->parseParams($sParameter);
     } else {
         $sParameter = array('Page' => $this->getRequest()->getVal('Page', ''));
     }
     if (isset($sParameter['Page'])) {
         $extension = $sParameter['Page'];
     }
     $rssFeeds = RSSFeeder::getRegisteredFeeds();
     if ($extension && is_array($rssFeeds[$extension])) {
         $this->getOutput()->disable();
         $runner = $rssFeeds[$extension]['method'];
         header('Content-Type: application/xml; charset=UTF-8');
         echo $rssFeeds[$extension]['object']->{$runner}($sParameter);
         return;
     }
     $this->getOutput()->addModuleStyles('ext.bluespice.rssFeeder');
     $form = new ViewBaseForm();
     $form->setId('RSSFeederForm');
     #$form->setValidationUrl( 'index.php?&action=remote&mod=RSSFeeder&rf=validate' );
     $label = new ViewFormElementLabel();
     $label->useAutoWidth();
     $label->setText('<h3>' . wfMessage('bs-rssfeeder-pagetext')->plain() . '</h3>');
     $form->addItem($label);
     foreach ($rssFeeds as $name => $feed) {
         $func = $feed['buildLinks'];
         $form->addItem($feed['object']->{$func}());
     }
     $this->getOutput()->addHTML($form->execute());
 }
 /**
  * Hook-Handler for MediaWiki hook MediaWikiPerformAction
  * @param OutputPage $wgOut MediaWiki Outpupage object.
  * @param Article $article MediaWiki article object.
  * @param Title $title MediaWiki title object.
  * @param User $user MediaWiki user object.
  * @param Request $request MediaWiki request object.
  * @param mediaWiki $mediaWiki MediaWiki mediaWiki object.
  * @return bool Always true.
  */
 public function onBSRSSFeederGetRegisteredFeeds($aFeeds)
 {
     RSSFeeder::registerFeed('recentchanges', wfMessage('bs-rssfeeder-recent-changes')->plain(), wfMessage('bs-rssstandards-desc-rc')->plain(), $this, NULL, NULL, 'buildLinksRc');
     RSSFeeder::registerFeed('followOwn', wfMessage('bs-rssstandards-title-own')->plain(), wfMessage('bs-rssstandards-desc-own')->plain(), $this, 'buildRssOwn', array('u'), 'buildLinksOwn');
     RSSFeeder::registerFeed('followPage', wfMessage('bs-rssstandards-title-page')->plain(), wfMessage('bs-rssstandards-desc-page')->plain(), $this, 'buildRssPage', array('p', 'ns'), 'buildLinksPage');
     RSSFeeder::registerFeed('namespace', wfMessage('bs-ns')->plain(), wfMessage('bs-rssstandards-desc-ns')->plain(), $this, 'buildRssNs', array('ns'), 'buildLinksNs');
     RSSFeeder::registerFeed('category', wfMessage('bs-rssstandards-title-cat')->plain(), wfMessage('bs-rssstandards-desc-cat')->plain(), $this, 'buildRssCat', array('cat'), 'buildLinksCat');
     RSSFeeder::registerFeed('watchlist', wfMessage('bs-rssstandards-title-watch')->plain(), wfMessage('bs-rssstandards-desc-watch')->plain(), $this, 'buildRssWatch', array('days'), 'buildLinksWatch');
     return true;
 }
 public function onBSRSSFeederGetRegisteredFeeds($aFeeds)
 {
     RSSFeeder::registerFeed('blog', wfMessage('bs-blog-blog')->plain(), wfMessage('bs-blog-extension-description')->plain(), $this, 'buildRssNsBlog', null, 'buildLinksNs');
     return true;
 }