public function prepareData() { global $wgTitle, $wgUser, $wgCont; $pars = array(); $pars['slider'] = array(); $lang = AutoHubsPagesHelper::getLangForHub($wgTitle); $data = AutoHubsPagesData::newFromTagTitle($wgTitle); $tagname = AutoHubsPagesHelper::getHubNameFromTitle($wgTitle); $vars = AutoHubsPagesHelper::getHubsFeedsVariable($tagname); $isManager = $wgUser->isAllowed('corporatepagemanager'); $datafeeds = new WikiaStatsAutoHubsConsumerDB(DB_SLAVE); $tag_id = AutoHubsPagesHelper::getHubIdFromTitle($wgTitle); $tag_name = AutoHubsPagesHelper::getHubNameFromTitle($wgTitle); $pars['tagname'] = $tag_name; $pars['title'] = $wgTitle; $pars['var_feeds'] = $vars[$tag_name]; $pars['is_manager'] = $isManager; $pars['tag_id'] = $tag_id; if ($isManager) { $temp = $datafeeds->getTopWikis($tag_id, $lang, 30, true, true); $pars['topWikis1'] = $temp['value']; } else { $temp = $datafeeds->getTopWikis($tag_id, $lang, 10, false); $pars['topWikis1'] = $temp['value']; } $temp = $datafeeds->getTopUsers($tag_id, $lang, 5); $pars['topEditors'] = $temp['value']; if ($isManager) { $temp = $datafeeds->getTopBlogs($tag_id, $lang, 9, 3, true, true); } else { $temp = $datafeeds->getTopBlogs($tag_id, $lang, 3, 1); } $pars['topBlogs'] = $temp['value']; if ($isManager) { $temp = $datafeeds->getTopArticles($tag_id, $lang, 15, 3, true, true, true); } else { $temp = $datafeeds->getTopArticles($tag_id, $lang, 5, 1, false, false, true); } $pars['hotSpots'] = $temp['value']; $pars['slider'] = CorporatePageHelper::parseMsgImg('hub-' . $tag_name . '-slider', true); $pars['wikia_whats_up'] = wfMsgExt("corporatepage-wikia-whats-up", array("parsemag")); return $pars; }
public function executePopularStaffPosts() { global $wgUser, $wgTitle, $wgStylePath, $wgEnableBlog, $wgContLanguageCode; $isManager = $wgUser->isAllowed('corporatepagemanager'); $datafeeds = new WikiaStatsAutoHubsConsumerDB(DB_SLAVE); // $lang = AutoHubsPagesHelper::getLangForHub($wgTitle); // $tag_id = AutoHubsPagesHelper::getHubIdFromTitle($wgTitle); // $tag_name = AutoHubsPagesHelper::getHubNameFromTitle($wgTitle); // TODO: use ApiService wfProfileIn(__METHOD__ . '::HTTP'); $wikiurl = "http://community.wikia.com"; $html_out = Http::get($wikiurl . "/api.php?action=query&list=categorymembers&cmtitle=Category:Staff_blogs&cmnamespace=500&cmsort=timestamp&cmdir=desc&format=json"); $data = json_decode($html_out, true); wfProfileOut(__METHOD__ . '::HTTP'); $page_ids = array(); if (isset($data['query']) && isset($data['query']['categorymembers'])) { foreach ($data['query']['categorymembers'] as $r) { $page_ids[] = $r['pageid']; } } if ($isManager) { $temp = $datafeeds->getTopBlogs("staff", $wgContLanguageCode, 8, 4, true, true, $page_ids); } else { $temp = $datafeeds->getTopBlogs("staff", $wgContLanguageCode, 4, 4, false, false, $page_ids); } $posts = array(); foreach ($temp['value'] as $value) { // get additional data for the blog $post = array(); $post['title'] = $value['title']; $post['namespace'] = $value['namespace']; $post['timestamp'] = $value['timestamp']; $post['date'] = $value['date']; $post['avatar'] = AvatarService::renderAvatar($value['author'], 48); $post['userpage'] = $value['real_pagename']; // FIXME $post['username'] = $value['author']; $post['readmore'] = null; $post['text'] = $value['description']; $post['comments'] = $value['all_count']; $post['likes'] = null; $posts[] = $post; } $this->posts = $posts; $this->title = 'Popular Staff Blogs'; }