/** * * @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()); }
public function buildLinksOwn() { global $wgUser; $set = new ViewFormElementFieldset(); $set->setLabel(wfMessage('bs-rssstandards-title-own')->plain()); $label = new ViewFormElementLabel(); $label->useAutoWidth(); $label->setFor('btnFeedOwn'); $label->setText(wfMessage('bs-rssstandards-desc-own')->plain()); $oSpecialRSS = SpecialPage::getTitleFor('RSSFeeder'); $sUserName = $wgUser->getName(); $sUserToken = $wgUser->getToken(); $btn = new ViewFormElementButton(); $btn->setId('btnFeedOwn'); $btn->setName('btnFeedOwn'); $btn->setType('button'); $btn->setValue($oSpecialRSS->getLinkUrl(array('Page' => 'followOwn', 'u' => $sUserName, 'h' => $sUserToken))); $btn->setLabel(wfMessage('bs-rssfeeder-submit')->plain()); $set->addItem($label); $set->addItem($btn); return $set; }