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);
 }