/** * renderUserProfile -- return mashead tab for fallowed pages * * @static * @access public * * * @return array */ public static function renderUserProfile(&$out) { global $wgTitle, $wgRequest, $wgOut, $wgExtensionsPath, $wgJsMimeType, $wgUser; wfProfileIn(__METHOD__); if (F::app()->checkSkin('wikiamobile')) { return true; } if ($wgUser->getId() != 0 && $wgRequest->getVal("hide_followed", 0) == 1) { $wgUser->setOption("hidefollowedpages", true); $wgUser->saveSettings(); } $key = $wgTitle->getDBKey(); if (strlen($key) > 0) { $user = User::newFromName($key); if ($user == null) { return true; } if ($user->getId() == 0) { //not a real user return true; } } else { $user = $wgUser; } // do not show Followed box on diffs if ($wgRequest->getVal('diff', null) != null) { return true; } if ($user->getOption("hidefollowedpages")) { return true; } $data = FollowModel::getUserPageWatchList($user->getId()); $wgOut->addExtensionStyle("{$wgExtensionsPath}/wikia/Follow/css/userpage.css"); $template = new EasyTemplate(dirname(__FILE__) . '/templates/'); if (count($data) == 0) { $data = null; } /* if ( count($data) > 5 ) { $data2 = array_slice($data, 5 ); $data = array_slice($data, 0, 5); } */ // BugId:2643 $moreUrl = null; if ($wgUser->getId() == $user->getId()) { $specialPage = SpecialPage::getSafeTitleFor('Following', $user->getName()); if (!empty($specialPage)) { $moreUrl = $specialPage->getLocalUrl(); } } $template->set_vars(array("isLogin" => $wgUser->getId() == $user->getId(), "hideUrl" => $wgTitle->getFullUrl("hide_followed=1"), "data" => $data, "moreUrl" => $moreUrl)); wfProfileOut(__METHOD__); $out['followedPages'] = $template->render("followedUserPage"); return true; }