Exemplo n.º 1
0
 public function displayHtml()
 {
     global $IP, $wgTitle, $wgOut, $wgUser, $wgRequest, $wgContLanguageCode;
     global $wgLang, $wgContLang, $wgXhtmlDefaultNamespace;
     $sk = new SkinWikihowskin();
     $articleName = $wgTitle->getText();
     $partialUrl = $wgTitle->getPartialURL();
     $isMainPage = $articleName == wfMsg('mainpage');
     $action = $wgRequest->getVal('action', 'view');
     //$lang = $this->getSiteLanguage();
     //$deviceOpts = $this->getDevice();
     $pageExists = $wgTitle->exists();
     $randomUrl = '/' . wfMsg('special-randomizer');
     $titleBar = wfMsg('pagetitle', $articleName);
     $canonicalUrl = 'http://' . $IP . '/' . $wgTitle->getPartialURL();
     $rtl = $wgContLang->isRTL() ? " dir='RTL'" : '';
     $head_element = "<html xmlns:fb=\"https://www.facebook.com/2008/fbml\" xmlns=\"{$wgXhtmlDefaultNamespace}\" xml:lang=\"{$wgContLanguageCode}\" lang=\"{$wgContLanguageCode}\" {$rtl}>\n";
     $css = '/extensions/min/f/skins/WikiHow/new.css,extensions/wikihow/common/jquery-ui-themes/jquery-ui.css,extensions/wikihow/gallery/prettyPhoto-3.12/src/prettyPhoto.css,extensions/wikihow/NewLayout/Layout_03.css';
     if ($wgUser->getID() > 0) {
         $css .= ',/skins/WikiHow/loggedin.css';
     }
     $css .= '?' . WH_SITEREV;
     $css = wfGetPad($css);
     if ($wgIsDomainTest) {
         $base_href = '<base href="http://www.wikihow.com/" />';
     } else {
         $base_href = '';
     }
     $out = new OutputPage();
     $headlinks = $out->getHeadLinks();
     if (!$wgIsDomainTest) {
         $canonicalUrl = '<link rel="canonical" href="' . $wgTitle->getFullURL() . '" />';
     }
     //get login/sign up stuff
     $login = "";
     $li = $wgLang->specialPage("Userlogin");
     $lo = $wgLang->specialPage("Userlogout");
     $rt = $wgTitle->getPrefixedURL();
     if (0 == strcasecmp(urlencode($lo), $rt)) {
         $q = "";
     } else {
         $q = "returnto={$rt}";
     }
     if ($wgUser->getID()) {
         $uname = $wgUser->getName();
         if (strlen($uname) > 16) {
             $uname = substr($uname, 0, 16) . "...";
         }
         $login = wfMsg('welcome_back', $wgUser->getUserPage()->getFullURL(), $uname);
         if ($wgLanguageCode == 'en' && $wgUser->isFacebookUser()) {
             $login = wfMsg('welcome_back_fb', $wgUser->getUserPage()->getFullURL(), $wgUser->getName());
         }
     } else {
         $login = wfMsg('signup_or_login', $q) . " " . wfMsg('facebook_connect_header', wfGetPad("/skins/WikiHow/images/facebook_share_icon.gif"));
     }
     if ($wgUser->getID() > 0) {
         $helplink = $sk->makeLinkObj(Title::makeTitle(NS_CATEGORY, wfMsg('help')), wfMsg('help'));
         $logoutlink = $sk->makeLinkObj(Title::makeTitle(NS_SPECIAL, 'Userlogout'), wfMsg('logout'));
         $login .= " | " . $helplink . " | " . $logoutlink;
     }
     $headerVars = array('title' => $titleBar, 'head_element' => $head_element, 'base_href' => $base_href, 'globalvar_script' => Skin::makeGlobalVariablesScript($this->data), 'css' => $css, 'headlinks' => $headlinks, 'canon' => $canonicalUrl, 'headitems' => $wgOut->getHeadItems(), 'login' => $login);
     if ($wgUser->getID() > 0) {
         $footer_links = wfMsgExt('site_footer_new', 'parse');
     } else {
         $footer_links = wfMsgExt('site_footer_new_anon', 'parse');
     }
     if ($wgUser->getID() > 0 || $isMainPage) {
         $sub_foot = wfMsg('sub_footer_new', wfGetPad(), wfGetPad());
     } else {
         $sub_foot = wfMsg('sub_footer_new_anon', wfGetPad(), wfGetPad());
     }
     $footerVars = array('footer_links' => $footer_links, 'search' => GoogSearch::getSearchBox("cse-search-box-footer") . '<br />', 'cat_list' => $sk->getCategoryList(), 'sub_foot' => $sub_foot, 'footertail' => $this->getFooterTail());
     $article = $wgOut->getHTML();
     $wgOut->clearHTML();
     //parse that article text
     $article = call_user_func('self::parseArticle_' . self::ARTICLE_LAYOUT, $article);
     $wgOut->addHTML(EasyTemplate::html('header_' . self::ARTICLE_LAYOUT . '.tmpl.php', $headerVars));
     $wgOut->addHTML($article);
     $wgOut->addHTML(EasyTemplate::html('footer_' . self::ARTICLE_LAYOUT . '.tmpl.php', $footerVars));
     print $wgOut->getHTML();
 }