/** * Get the given amount of top users for the given timeframe. * * @return String: HTML */ function getTopUsersForTag($input, $args, $parser) { global $wgLang; // Don't allow showing OVER 9000...I mean, over 50 users, duh. // Performance and all that stuff. if (!empty($args['limit']) && is_numeric($args['limit']) && $args['limit'] < 50) { $limit = intval($args['limit']); } else { $limit = 5; } if (!empty($args['period']) && strtolower($args['period']) == 'monthly') { $period = 'monthly'; } else { // "period" argument not supplied/it's not "monthly", so assume weekly $period = 'weekly'; } $fans = UserStats::getTopFansList($limit); $x = 1; $topfans = ''; foreach ($fans as $fan) { $avatar = new wAvatar($fan['user_id'], 'm'); $user = Title::makeTitle(NS_USER, $fan['user_name']); $topfans .= "<div class=\"top-fan\">\n\t\t\t\t<span class=\"top-fan-number\">{$x}.</span>\n\t\t\t\t<a href=\"{$user->getFullURL()}\">{$avatar->getAvatarURL()}</a>\n\t\t\t\t<span class=\"top-fans-user\"><a href=\"{$user->getFullURL()}\">{$fan['user_name']}</a></span>\n\t\t\t\t<span class=\"top-fans-points\"><b>+" . $wgLang->formatNum($fan['points']) . '</b> ' . wfMsg('top-fans-points') . '</span> </div>'; $x++; } return $topfans; }