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; }
/** * @author Jakub Kurcek * @param hubId integer * @param forceRefresh boolean - if true clears the cache and creates new one. * * Returns data for feed creation. If no cache - creates one. */ private function PrepareHotContentFeed($hubId, $forceRefresh = false) { global $wgMemc, $wgHTTPTimeout; // local settings $lang = "en"; $thumbSize = 288; $thumbHeight = 124; $resultsNumber = 10; $stopCache = false; // switch to false after tests if ($forceRefresh) { $this->clearCache($hubId); } $memcFeedArray = $this->getFromCache($hubId); if ($memcFeedArray == null || !empty($stopCache)) { $datafeeds = new WikiaStatsAutoHubsConsumerDB(DB_SLAVE); $out = $datafeeds->getTopArticles($hubId, $lang, $resultsNumber); $feedArray = array(); foreach ($out['value'] as $key => $val) { $httpResultArr = $this->getDataFromApi($val['wikiurl'] . '/api.php?action=imagecrop&imgId=' . $val['page_id'] . '&imgSize=' . (int) $thumbSize . '&imgHeight=' . (int) $thumbHeight . '&format=json'); $feedArray[] = array('title' => $val['page_name'], 'description' => $val['all_count'], 'url' => $val['page_url'], 'date' => time(), 'author' => 'Wikia', 'otherTags' => array('image' => $httpResultArr, 'fromwikia' => $val['wikiname'])); } $this->saveToCache($hubId, $feedArray); } else { $feedArray = $memcFeedArray; } return $feedArray; }
public function executeHotSpots() { global $wgUser, $wgTitle; $isManager = $wgUser->isAllowed('corporatepagemanager'); $datafeeds = new WikiaStatsAutoHubsConsumerDB(DB_SLAVE); $lang = AutoHubsPagesHelper::getLangForHub($wgTitle); $tag_id = AutoHubsPagesHelper::getHubIdFromTitle($wgTitle); $tag_name = AutoHubsPagesHelper::getHubNameFromTitle($wgTitle); 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); } $this->hidehotspots = false; $this->title = $wgTitle; $this->hotSpots = $temp['value']; $this->tag_id = $tag_id; $this->is_manager = $isManager; }