示例#1
0
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}";
}
示例#2
0
 /**
  * wrapper for getList witch caching output
  * @author Maciej Błaszkowski <marooned at wikia-inc.com>
  */
 static function getListForWidget($parameters, $userLangEqContent)
 {
     global $wgMemc;
     wfProfileIn(__METHOD__);
     $key = wfMemcKey('community_widget_v1', $parameters['uselang']);
     $feedHTML = $wgMemc->get($key);
     if (empty($feedHTML)) {
         $feedHTML = ActivityFeedHelper::getList($parameters);
         /* RT#50042: Don't show deleted pages in last activity widget */
         /* Probably content is not getting refreshed often enough */
         $wgMemc->set($key, $feedHTML, 60 * 5);
     }
     wfProfileOut(__METHOD__);
     return $feedHTML;
 }