PDA

View Full Version : [release v2] my stars hack (adm/smod/mod/user)


marl
30 Mar 2001, 10:53
ok, this is the hack i use.
it makes difference on per user/mod/super mod/admin basis.
You can customize it as you like.

If the user has below than X msgs, he get an empty star.
If the user reach X msgs, he will get a special star which means he reach the max :))

You'll need six images,so.
[star.*.gif]
star.no.gif // the empty one
star.user.gif
star.mod.gif
star.supermod.gif
star.admin.gif
star.max.gif //the special one



<?php
// very basic stars hack by freddie
$sh = 12; //height of the stars
$sw = 11; //width of the stars
$starposts = 20; // Number of posts to give a new star
$maxstars = 10; // Maximum stars per line
$maxtotalstars = 20; // Maximum stars to give
$maxmsgs = $starposts*$maxtotalstars;

unset($stars);

// Everyone else
if ($post[usergroupid]==6)
//admins
$starsgif = '<img src="images/star.admin.gif" border=0 width='.$sw.' height='.$sh.' alt="This star means '.$starposts.' messages">';
elseif ($post[usergroupid]==5)
//supermods
$starsgif = '<img src="images/star.supermod.gif" border=0 width='.$sw.' height='.$sh.' alt="This star means '.$starposts.' messages">';
elseif ($post[usergroupid]==7)
//mods
$starsgif = '<img src="images/star.mod.gif" border=0 width='.$sw.' height='.$sh.' alt="This star means '.$starposts.' messages">';
else
//normalusers
$starsgif = '<img src="images/star.user.gif" border=0 width='.$sw.' height='.$sh.' alt="This star means '.$starposts.' messages">';

$starsmaxgif = '<img src="images/star.max.gif" border=0 width='.$sw.' height='.$sh.' alt="This user has more than '.$maxmsgs.')">';

$numstars = intval($post[posts] / $starposts);
$starcount = 0;
for ($x=0; $numstars>0 && $x<$numstars ;$x++) {
if ($x == $maxtotalstars-1) {
$stars .= $starsmaxgif;
break;
}
$stars .= $starsgif;
$starcount++;
if ($starcount == $maxstars) {
$stars .='<br>';
$starcount = 0;
}
}

if (!$stars) {
$stars = '<img src="images/star.no.gif" border=0 width='.$sw.' height='.$sh.' alt="This user has just arrived.">';
}

?>


to use it, include the code where you want, in the postbit template.

finally, here are my stars.

hope this is useful :D

30 Mar 2001, 10:57
ops.... i forgot to give credit to freddie for the original code.... silly me :)

i've just create a complete package to be sure the code will not mess up.

cya.

30 Mar 2001, 11:02
hey, any chance ya can merge this with tubedogg's star hack?

http://www.vbulletin.com/forum/showthread.php?s=&threadid=12648

30 Mar 2001, 18:46
it's a totally different approach...
mine is a hack "as is", tubedogg's one has cp integration and other features...

30 Mar 2001, 19:51
I want the CP intergration!
As does alot of people!

30 Mar 2001, 19:56
i pasted the code in to the postbit template and i get nothing back...

here is my postbit template:fixed now so i am cleaning this thread up some

i just get the php stuff back when i do a view source on the html it generates??? why? do i need to put the php tags @ the top/bottom??

30 Mar 2001, 20:01
sorry, i was my fault
i was in a hurry :)

save the code as a file, in the main forum dir,eg. stars.php,
then in the head of your showthread.php file, right under require global.php,add

include('stars.php');



and in the postbit simply insert $stars

:D
hope it helps.

30 Mar 2001, 20:11
:D

now it makes sense... thanks... except everybody has one blank star... hmm... time to debug and figure out why...

30 Mar 2001, 21:03
Stars (or ranks) will officially make their debut in version 2.1. I will try to create something as diverse and feature rich as possible.

30 Mar 2001, 21:06
Originally posted by freddie
Stars (or ranks) will officially make their debut in version 2.1. I will try to create something as diverse and feature rich as possible.

:)

sounds great... in the meantime.. any idea why the if statment in the above code doesn't work for me... i am using 2.0b3

30 Mar 2001, 23:44
it gives a blank star until they reach the minimum amount of posts to obtain a star.

31 Mar 2001, 00:36
Originally posted by marl
it gives a blank star until they reach the minimum amount of posts to obtain a star.

i have over 500 posts myself and i get a blank... i am also an admin... several of my other users are in the hundreds and still no stars either... how many posts are needed??? i thought it was only like 20...

31 Mar 2001, 00:42
you can customize these values:

$sh = 12; //height of the stars
$sw = 11; //width of the stars
$starposts = 20; // Number of posts to give a new star
$maxstars = 10; // Maximum stars per line
$maxtotalstars = 20; // Maximum stars to give
$maxmsgs = $starposts*$maxtotalstars;

31 Mar 2001, 00:47
i've messed w/them some and i still only get one blank star... as if the "if - ifelse - else" statment is not working right...

31 Mar 2001, 00:47
either that or the "for" loop maybe?

31 Mar 2001, 03:20
the right place to fit is:


while ($post=$DB_site->fetch_array($posts) and $counter++<$perpage) {
//stars hack
include('stars.php');