static function getCurrentTitleMetaDescription() { global $wgTitle; static $titleTest = null; $return = ''; if ($wgTitle->getNamespace() == NS_MAIN && $wgTitle->getFullText() == wfMsg('mainpage')) { $return = wfMsg('mainpage_meta_description'); } elseif ($wgTitle->getNamespace() == NS_MAIN) { $desc = ''; if (!$titleTest) { $titleTest = TitleTests::newFromTitle($wgTitle); if ($titleTest) { $desc = $titleTest->getMetaDescription(); } } if (!$desc) { if (!self::$wgTitleAMIcache) { self::$wgTitleAMIcache = new ArticleMetaInfo($wgTitle); } $ami = self::$wgTitleAMIcache; $desc = $ami->getDescription(); } if (!$desc) { $return = wfMsg('article_meta_description', $wgTitle->getText()); } else { $return = $desc; } } elseif ($wgTitle->getNamespace() == NS_CATEGORY) { // get keywords $subcats = self::getMetaSubcategories($wgTitle, 3); $keywords = implode(", ", $subcats); if ($keywords) { $return = wfMsg('category_meta_description', $wgTitle->getText(), $keywords); } else { $return = wfMsg('subcategory_meta_description', $wgTitle->getText(), $keywords); } } elseif ($wgTitle->getNamespace() == NS_USER) { $desc = ProfileBox::getMetaDesc(); $return = $desc; } elseif ($wgTitle->getNamespace() == NS_IMAGE) { $articles = ImageHelper::getLinkedArticles($wgTitle); if (count($articles) && $articles[0]) { $articleTitle = wfMsg('howto', $articles[0]); if (preg_match('@Step (\\d+)@', $wgTitle->getText(), $m)) { $imageNum = '#' . $m[1]; } else { $imageNum = ''; } $return = wfMsg('image_meta_description', $articleTitle, $imageNum); } else { $return = wfMsg('image_meta_description_no_article', $wgTitle->getText()); } } elseif ($wgTitle->getNamespace() == NS_SPECIAL && $wgTitle->getText() == "Popularpages") { $return = wfMsg('popularpages_meta_description'); } return $return; }
static function addTwitterMetaProperties() { global $wgTitle, $wgRequest, $wgOut, $wgLanguageCode, $wgServer; $action = $wgRequest->getVal('action', 'view'); if ($wgTitle->getNamespace() != NS_MAIN || $action != "view") { return; } $isMainPage = $wgTitle && $wgTitle->getNamespace() == NS_MAIN && $wgTitle->getText() == wfMessage('mainpage')->inContentLanguage()->text() && $action == 'view'; if (!self::$wgTitleAMIcache) { self::$wgTitleAMIcache = new ArticleMetaInfo($wgTitle); } $ami = self::$wgTitleAMIcache; if ($isMainPage) { $twitterTitle = "wikiHow"; } else { $twitterTitle = wfMessage('howto', $ami->titleText)->text(); } if ($isMainPage) { $twitterDesc = "wikiHow - How to do anything"; } else { $twitterDesc = $ami->getFacebookDescription(); } if ($isMainPage) { $twitterImg = "/images/7/71/Wh-logo.jpg"; } else { $twitterImg = $ami->getImage(); } if ($wgLanguageCode == 'en') { $twitterImg = $wgServer . $twitterImg; } else { $twitterImg = wfGetPad('http://www.wikihow.com' . $twitterImg); } $wgOut->addHeadItem('tcard', '<meta name="twitter:card" content="summary_large_image"/>' . "\n"); if (!self::isImageExclusionArticle()) { $wgOut->addHeadItem('timage', '<meta name="twitter:image:src" content="' . $twitterImg . '"/>' . "\n"); } $wgOut->addHeadItem('tsite', '<meta name="twitter:site" content="@wikihow"/>' . "\n"); $wgOut->addHeadItem('tdesc', '<meta name="twitter:description" content="' . htmlentities($twitterDesc) . '"/>' . "\n"); $wgOut->addHeadItem('ttitle', '<meta name="twitter:title" content="' . htmlentities($twitterTitle) . '"/>' . "\n"); $wgOut->addHeadItem('turl', '<meta name="twitter:url" content="' . $wgTitle->getFullURL() . '"/>' . "\n"); }