public function getMobileHtml() { global $wgOut, $wgParser, $IP, $wgTitle; require_once "{$IP}/extensions/wikihow/mobile/MobileHtmlBuilder.class.php"; $r = $this->r; $t = $r->getTitle(); $oldTitle = $wgTitle; $wgTitle = $t; $popts = $wgOut->parserOptions(); $popts->setTidy(true); $wgParser->disableCache(); $parser = new Parser(); $html = $parser->parse($this->wikitext, $t, $popts, true, true, $r->getId()); $html = $html->mText; $popts->setTidy(false); $m = new MobileArticleBuilder(); $html = $m->createByHtml($r->getTitle(), $html); $wgTitle = $oldTitle; return $html; }
private function displayHtml() { global $IP, $wgTitle, $wgOut, $wgRequest; $isMainPage = $wgTitle->getText() == wfMsg('mainpage'); $isSample = class_exists('DocViewer') && $wgTitle->getText() == 'DocViewer'; $action = $wgRequest->getVal('action', 'view'); $pageExists = $wgTitle->exists(); $article = ""; if (!$isMainPage) { // get the html for the article since it's already been generated $article = $wgOut->getHTML(); } $wgOut->clearHTML(); // handle search and i10l pages here require_once "{$IP}/extensions/wikihow/mobile/MobileHtmlBuilder.class.php"; if ($isMainPage) { // The main page doesn't need any content $article = 'Main-Page'; $m = new MobileMainPageBuilder(); } elseif ($isSample) { $sample_title = DocViewer::getPageTitle(); $title = Title::newFromText($sample_title); $article = 'Sample'; $m = new MobileSampleBuilder(); echo $m->createByHtml($title, $article); return; } elseif ($action == 'view-languages') { $m = new MobileViewLanguagesBuilder(); } elseif (!$pageExists) { $article = '404 page'; $m = new Mobile404Builder(); } else { // article page $m = new MobileArticleBuilder(); } $wgOut->setArticleBodyOnly(true); wfRunHooks('JustBeforeOutputHTML', array(&$this)); echo $m->createByHtml($wgTitle, $article); }