Sorry, I don't run CMPS on my site nor have it installed on my PC, so I got no idea what format it is valid and what not. However, you can try this new approach.
NOTE: THIS INSTALLION IS FOR CMPS ONLY.
1. create a php file named topreferrers.php with the content:
PHP Code:
<?php
// by tnguy3n @ vbviet.org
// number of top xx referrers to show
$num = 5;
$referrals = $db->query_read("SELECT COUNT(*) AS totalref, user.username, user.userid, user.usergroupid, usergroup.usergroupid, usergroup.opentag, usergroup.closetag FROM " . TABLE_PREFIX . "user AS users LEFT JOIN " . TABLE_PREFIX . "user AS user ON (users.referrerid = user.userid) LEFT JOIN " . TABLE_PREFIX . "usergroup ON (usergroup.usergroupid = user.usergroupid) WHERE users.referrerid != 0 GROUP BY users.referrerid ORDER BY totalref DESC LIMIT 0,$num");
$numref = $db->num_rows($referrals);
if($numref == '0')
{
$showreferrers = "No referrer found!";
}
while($referral = $db->fetch_array($referrals))
{
// display referrals on forumhome
$showreferrers .= "<a href=\"member.php?$session[sessionurl]u=$referral[userid]\" title=''>$referral[opentag]$referral[username]$referral[closetag]</a> ($referral[totalref])<br />;";
}
eval('$home[$mods[\'modid\']][\'content\'] = "' . fetch_template('adv_portal_topreferrers') . '";');
unset($referrals, $numref, $num);
?>
2. create a new template named adv_portal_topreferrers with content:
HTML Code:
<tr>
<td class="$bgclass">
$showreferrers
</td>
</tr>
3. In your CMPS block manager, create a new module of PHP file that print results of topreferrers.php.