Exemplo n.º 1
0
 /**
  * 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;
 }