public function executeIndex($params) { $page_owner = User::newFromName($this->wg->Title->getText()); if (!is_object($page_owner) || $page_owner->getId() == 0) { // do not show module if page owner does not exist or is an anonymous user return false; } // add CSS for this module $this->wg->Out->addStyle(AssetsManager::getInstance()->getSassCommonURL("skins/oasis/css/modules/FollowedPages.scss")); $showDeletedPages = isset($params['showDeletedPages']) ? (bool) $params['showDeletedPages'] : true; // get 6 followed pages $watchlist = FollowModel::getWatchList($page_owner->getId(), 0, 6, null, $showDeletedPages); $data = array(); // weird. why is this an array of one element? foreach ($watchlist as $unused_id => $item) { $pagelist = $item['data']; foreach ($pagelist as $page) { $data[] = $page; } } // only display your own page if ($page_owner->getId() == $this->wg->User->getId()) { $this->follow_all_link = Wikia::specialPageLink('Following', 'oasis-wikiafollowedpages-special-seeall', 'more'); } $this->data = $data; $this->max_followed_pages = min(self::MAX_FOLLOWED_PAGES, count($this->data)); }
function execute($par) { global $wgRequest, $wgOut, $wgUser, $wgTitle, $wgExtensionsPath, $wgJsMimeType, $wgExtensionsPath; $reqTitle = $wgRequest->getText('title', false); $userspace = ""; $list = explode('/', $reqTitle, 2); if (!empty($list[1])) { $t = Title::newFromText('Following', NS_SPECIAL); $wgOut->redirect($t->getFullURL()); } if ($wgRequest->wasPosted()) { if ($wgUser->getId() != 0 && $wgRequest->getVal("show_followed", 0) == 1) { $wgUser->setGlobalPreference("hidefollowedpages", false); $wgUser->saveSettings(); } } $wgOut->addExtensionStyle("{$wgExtensionsPath}/wikia/Follow/css/special.css"); $wgOut->addScript("<script type=\"{$wgJsMimeType}\" src=\"{$wgExtensionsPath}/wikia/Follow/js/ajax.js\"></script>\n"); $wgOut->setPageTitle(wfMsg('wikiafollowedpages-special-title')); if ($wgUser->getId() == 0) { $wgOut->addHTML(wfMsgExt('wikiafollowedpages-special-anon', array('parse'))); return true; } $user = $wgUser; $is_hide = false; if ($user->getGlobalPreference('hidefollowedpages')) { $is_hide = true; if ($user->getId() != $wgUser->getId()) { $wgOut->addHTML(wfMsgExt('wikiafollowedpages-special-hidden', array('parse'), $user->getName)); return true; } } $data = FollowModel::getWatchList($user->getId()); if (empty($data) || $user->getId() == 0) { $wgOut->addHTML(wfMsgExt('wikiafollowedpages-special-empty', array('parse'))); return true; } $this->setHeaders(); $template = new EasyTemplate(dirname(__FILE__) . '/templates/'); $template->set_vars(array("data" => $data, "owner" => $wgUser->getId() == $user->getId(), "user_id" => $user->getId(), "is_hide" => $is_hide, "show_link" => $wgTitle->getFullUrl())); $text = $template->render("followedPages"); $wgOut->addHTML($text); return true; }
/** * showAll -- ajax function to show all feeds on follow list * * @static * @access public * * * @return bool */ public static function showAll() { global $wgRequest, $wgUser, $wgExternalSharedDB, $wgWikiaEnableConfirmEditExt; wfProfileIn(__METHOD__); $user_id = $wgRequest->getVal('user_id'); $head = $wgRequest->getVal('head'); $from = $wgRequest->getVal('from'); $response = new AjaxResponse(); $user = User::newFromId($user_id); if (empty($user) || $user->getOption('hidefollowedpages')) { if ($user->getId() != $wgUser->getId()) { $response->addText(wfMsg('wikiafollowedpages-special-hidden')); return $response; } } $template = new EasyTemplate(dirname(__FILE__) . '/templates/'); $template->set_vars(array("data" => FollowModel::getWatchList($user_id, $from, FollowModel::$ajaxListLimit, $head), "owner" => $wgUser->getId() == $user_id, "user_id" => $user_id, "more" => true)); $text = $template->render("followedPages"); $response->addText($text); wfProfileOut(__METHOD__); return $response; }