use the following.
I have marked the relevant values in red.
Code:
// ###################### Start Reputation Image Hack - Paul Marsden v1.1 #######################
function fetch_reputation_image(&$post, &$perms)
{
global $vboptions, $stylevar, $vbphrase;
$band_a_val = 500;
$band_a_count = 2;
$band_b_val = 2000;
$band_b_count = 2;
$band_c_val = 5000;
$band_c_count = 2;
// For each band 'band_x_val' is the vaulue of each pip and 'band_x_count' is the number displayed before moving onto the next level.
if (!$vboptions['reputationenable'])
{
return true;
}
if (!$post['reputationlevelid'])
{
$post['level'] = $vboptions['reputationundefined'];
}
if (!$post['showreputation'] AND $perms['genericpermissions'] & CANHIDEREP)
{
$posneg = 'off';
$post['level'] = $vbphrase['reputation_disabled'];
eval('$post[\'reputationdisplay\'] .= "' . fetch_template('postbit_reputation') . '";');
}
else
{
$repval = $post['reputation'];
if ($repval == 0)
{
$posneg = 'zero';
eval('$post[\'reputationdisplay\'] .= "' . fetch_template('postbit_reputation') . '";');
}
else if ($post['reputation'] < 0)
{
$repa = 'poo';
$repb = 'poo';
$repc = 'poo';
$repval = $repval * -1;
}
else
{
$repa = 'star';
$repb = 'star';
$repc = 'star';
}
$count = $band_a_count;
while ($count > 0 and $repval > 0) {
$count -= 1;
$repval -= $band_a_val;
$posneg = $repa;
eval('$post[\'reputationdisplay\'] .= "' . fetch_template('postbit_reputation') . '";');
}
$count = $band_b_count;
while ($count > 0 and $repval > 0) {
$count -= 1;
$repval -= $band_b_val;
$posneg = $repb;
eval('$post[\'reputationdisplay\'] .= "' . fetch_template('postbit_reputation') . '";');
}
$count = $band_c_count;
while ($count > 0 and $repval > 0) {
$count -= 1;
$repval -= $band_c_val;
$posneg = $repc;
eval('$post[\'reputationdisplay\'] .= "' . fetch_template('postbit_reputation') . '";');
}
}
return true;
}
You need four image files ;
star.gif = Positive rep image.
poo.gif = Negative rep image.
zero.gif = Image when rep is exactly zero.
off.gif = Image if rep display is disabled.
This will give you the closest possible to what you want - you will get ;
1 Star = 0-500
2 Star = 501-1000
3 Star = 1001 - 3000
4 Star = 3001 - 5000
5 Star = 5001 - 10000
6 Star = 10001 +
No more than 6 stars.
Negative scores will work exactly the same, but display poo.gif