function ActivityFeedTag_render($content, $attributes, $parser, $frame) { global $wgExtensionsPath, $wgEnableAchievementsInActivityFeed, $wgEnableAchievementsExt; if (!class_exists('ActivityFeedHelper')) { return ''; } wfProfileIn(__METHOD__); $parameters = ActivityFeedHelper::parseParameters($attributes); $tagid = str_replace('.', '_', uniqid('activitytag_', true)); //jQuery might have a problem with . in ID $jsParams = "size={$parameters['maxElements']}"; if (!empty($parameters['includeNamespaces'])) { $jsParams .= "&ns={$parameters['includeNamespaces']}"; } if (!empty($parameters['flags'])) { $jsParams .= '&flags=' . implode('|', $parameters['flags']); } $parameters['tagid'] = $tagid; $feedHTML = ActivityFeedHelper::getList($parameters); $style = empty($parameters['style']) ? '' : ' style="' . $parameters['style'] . '"'; $timestamp = wfTimestampNow(); $snippetsDependencies = array('/extensions/wikia/MyHome/ActivityFeedTag.js', '/extensions/wikia/MyHome/ActivityFeedTag.css'); if (!empty($wgEnableAchievementsInActivityFeed) && !empty($wgEnableAchievementsExt)) { array_push($snippetsDependencies, '/extensions/wikia/AchievementsII/css/achievements_sidebar.css'); } $snippets = F::build('JSSnippets')->addToStack($snippetsDependencies, null, 'ActivityFeedTag.initActivityTag', array('tagid' => $tagid, 'jsParams' => $jsParams, 'timestamp' => $timestamp)); wfProfileOut(__METHOD__); return "<div{$style}>{$feedHTML}</div>{$snippets}"; }
public function execute() { $params = $this->extractRequestParams(); $attributes = ''; $parameters = ActivityFeedHelper::parseParameters($attributes); $removeDuplicatesType = in_array('shortlist', $parameters['flags']) ? 1 : 0; //remove duplicates using only title for shortlist $feedProxy = new ActivityFeedAPIProxy($parameters['includeNamespaces']); $feedRenderer = new ActivityFeedRenderer(); $feedProvider = new DataFeedProvider($feedProxy, $removeDuplicatesType, $parameters); $feedData = $feedProvider->get($parameters['maxElements']); #echo "<pre>"; #print_r($feedData); #die; $data = array(); foreach ($feedData["results"] as $id => $row) { $data[] = $this->rewriteRow($row); } #print_r($data); #die; $this->getResult()->setIndexedTagName($data, "af"); $this->getResult()->addValue("query", $this->getModuleName(), $data); }
/** * @author Maciej Błaszkowski <marooned at wikia-inc.com> */ function ActivityFeedAjax() { global $wgRequest, $wgLang; wfProfileIn(__METHOD__); $params = $wgRequest->getVal('params'); $parameters = ActivityFeedHelper::parseParameters(explode('&', $params)); if (!empty($parameters['uselang']) && $wgLang->getCode() != $parameters['uselang']) { $wgLang = Language::factory($parameters['uselang']); } $feedHTML = ActivityFeedHelper::getList($parameters); $data = array('data' => $feedHTML, 'timestamp' => wfTimestampNow()); $json = json_encode($data); $response = new AjaxResponse($json); $response->setContentType('application/json; charset=utf-8'); $response->setCacheDuration(60); wfProfileOut(__METHOD__); return $response; }