/** * * @param int $date * @return FeaturedFeedItem */ public function getFeedItem($date) { self::$parserOptions->setTimestamp($date); self::$parserOptions->setUserLang($this->language); $titleText = self::$parser->transformMsg($this->page, self::$parserOptions); $title = Title::newFromText($titleText); if (!$title) { return false; } $rev = Revision::newFromTitle($title); if (!$rev) { return false; // page does not exist } $text = $rev->getText(); if (!$text) { return false; } $text = self::$parser->parse($text, $title, self::$parserOptions)->getText(); $url = SpecialPage::getTitleFor('FeedItem', $this->name . '/' . wfTimestamp(TS_MW, $date) . '/' . $this->language->getCode())->getFullURL(); return new FeaturedFeedItem(self::$parser->transformMsg($this->entryName, self::$parserOptions), wfExpandUrl($url), $text, $date); }
function execute() { global $wgParser, $wgUser; $wgUser = new PPFuzzUser(); $wgUser->mName = 'Fuzz'; $wgUser->mFrom = 'name'; $wgUser->ppfz_test = $this; $options = new ParserOptions(); $options->setTemplateCallback(array($this, 'templateHook')); $options->setTimestamp(wfTimestampNow()); $this->output = call_user_func(array($wgParser, $this->entryPoint), $this->mainText, $this->title->getPrefixedText(), $options); return $this->output; }