View Full Version : Glowing usernames based on postcount?
dirgotronix
08-23-2001, 12:44 AM
I want to give my users something to look forward to besides custom titles, so I wanted to do the following:
On say 1000 postcount, make their username glow blue
on 1500, green
on 2000, red
etc etc. I know I can't do this in templates, so whereabouts in the code would I toss the if statements to do so?
tubedogg
08-23-2001, 12:49 AM
I don't know anything about making them glow...but you could give them a glowing usertitle.
admin/usertitle.php should give you some ideas for how to do usernames.
dirgotronix
08-23-2001, 12:59 AM
hmm... Yea, it does look like there's quite a bit of code to muck through in order to get every instance of a username to glow... I'll look into the title option, that seems like a viable thing
dirgotronix
08-23-2001, 01:21 AM
hrm... where would be best to put this little string of if's I wrote out? This way I can just add $userinfo[specialtitle] in place of $userinfo[username] in the templates where I see fit:
<?
if ( $userinfo[posts] > 500 ) { $userinfo[specialtitle] = "<table style=\"filter:glow(color=red, strength=2)\"><tr><td>$userinfo[username]</td></tr></table>"; }
if ( $userinfo[posts] > 1000 ) { $userinfo[specialtitle] = "<table style=\"filter:glow(color=orange, strength=2)\"><tr><td>$userinfo[username]</td></tr></table>"; }
if ( $userinfo[posts] > 1500 ) { $userinfo[specialtitle] = "<table style=\"filter:glow(color=yellow, strength=2)\"><tr><td>$userinfo[username]</td></tr></table>"; }
if ( $userinfo[posts] > 2000 ) { $userinfo[specialtitle] = "<table style=\"filter:glow(color=green, strength=2)\"><tr><td>$userinfo[username]</td></tr></table>"; }
if ( $userinfo[posts] > 2500 ) { $userinfo[specialtitle] = "<table style=\"filter:glow(color=blue, strength=2)\"><tr><td>$userinfo[username]</td></tr></table>"; }
if ( $userinfo[posts] > 3000 ) { $userinfo[specialtitle] = "<table style=\"filter:glow(color=indigo, strength=2)\"><tr><td>$userinfo[username]</td></tr></table>"; }
if ( $userinfo[posts] > 3500 ) { $userinfo[specialtitle] = "<table style=\"filter:glow(color=violet, strength=2)\"><tr><td>$userinfo[username]</td></tr></table>"; }
?>
You would probably want to place that code (without the <? ?>) within the getpostbit() function in admin/functions.php
dirgotronix
08-23-2001, 01:33 AM
Just the answer I was looking for. :) Thanks! I'll post my success/dismay after I tinker with it.
dirgotronix
08-23-2001, 02:59 AM
Ok, I've got a working example up, so I guess I'll post instructions for any other interested people.
In admin/functions.php:
under ############## Start buildpostbit ############
Right after all the global defs for function getpostbit($post):
Insert:
$post[specialusername] = $post[username];
if ( $post[posts] >= 0 ) { $post[specialusername] = "<table><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 500 ) { $post[specialusername] = "<table style=\"filter:glow(color=#000000, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 1000 ) { $post[specialusername] = "<table style=\"filter:glow(color=#111111, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 1500 ) { $post[specialusername] = "<table style=\"filter:glow(color=#222222, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 2000 ) { $post[specialusername] = "<table style=\"filter:glow(color=#333333, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 2500 ) { $post[specialusername] = "<table style=\"filter:glow(color=#444444, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 3000 ) { $post[specialusername] = "<table style=\"filter:glow(color=#555555, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 3500 ) { $post[specialusername] = "<table style=\"filter:glow(color=#666666, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 4000 ) { $post[specialusername] = "<table style=\"filter:glow(color=#777777, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 4500 ) { $post[specialusername] = "<table style=\"filter:glow(color=#888888, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 5000 ) { $post[specialusername] = "<table style=\"filter:glow(color=#999999, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
if ( $post[posts] > 5500 ) { $post[specialusername] = "<table style=\"filter:glow(color=#aaaaaa, strength=2)\"><tr><td>$post[username]</td></tr></table>"; }
Then, in your postbit template, change $post[username] to $post[specialusername]
The colors I used are just for example, since I'm not entirely creative at the moment.
dirgotronix
08-23-2001, 03:38 AM
Ok, my users have requested a custom color gradient, and that's easily doable with some math and an extra function. The only other thing I need is a way to grab say $userinfo[field14] in the getpostbit function. Can I just use that? Or do I actually have to run some whack mysql query to grab the data based on $post[userid] ?
dirgotronix
08-23-2001, 08:45 AM
guess not, unless it has a different name... oy...
Well, I tossed a script together, heres instructions for those of you that want it...
Add a new user profile field, call it favorite color or something, and make sure they do it all lowecase, one word, no spaces, as per the html approved color list found on many an html help page.
Take note of the field# of this field because you'll need to edit the script to use it.
go to: http://www.dirgotronix.net/test/glow.phps
save it on your server somewhere, I put glow.php in the forum directory. Change the require statement to point to your config.php, and change all instances of "field14" to whatever your favorite color field is.
Change $colormultiplier to a different number based on your highest user posts. a multiplier of 25 means that the color will be at its brightest for a user with 2600 posts. This is good for my forum, but it probably isn't for yours. I'll end up working out some kind of check and averaging in a bit, but it took me all night to get where I am.
right up from the bottom, there's an "if ( $glowposts < 500 )". This means that if the user has 0-499 posts, they don't get a glowing name. Change that as you see fit.
Save the file. Now, open up your control panel and change your phpinclude to have "require("/var/www/forum/glow.php"); or wherever you put it.
Next, edit admin/functions.php:
search for:
[QUOTE]global $showdeficon,$showonline,$displayemails,$enablepms ,$allowsignatures,$wordwrap,$dateformat,$timeforma t,$logip,$replacewords,$postsperday,$avatarenabled ,$registereddateformat,$viewattachedimages;
dirgotronix
08-23-2001, 08:50 AM
BTW, examples are on my forum, my announcement for it is here:
http://www.dirgotronix.net/forum/showthread.php?threadid=1317
Thomas P
08-23-2001, 09:03 AM
Hi,
please post that or a reference into the Hack Releases forum,
thx for your work,
-Tom
Reno of Shinra
09-17-2001, 04:55 PM
OK... I want to make it so that all my admins have glowing usernames in threads while everyone else doesn't.
Now... the question is...
What am I doing wrong? I've tried this and I still don't get glowing admins.
I know I can make everyone glow... but... aggh.
This is under ### start buildpostbit ###
function getpostbit($post)
in board/admin/functions.php
vB ver 2.0.3
// global options
global $showdeficon,$showonline,$displayemails,$enablepms ,$allowsignatures,$wordwrap,$dateformat,$timeforma t,$logip,$replacewords,$postsperday,$avatarenabled ,$registereddateformat,$viewattachedimages;
// begin glowing admin attempt
$post[specialusername] = $post[username];
$usergroupid=$bbuserinfo['usergroupid'];
if ($usergroupid == 5) { $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=4)\"><tr><td>$post[username]</td></tr></table>"; }
// end attempt
I'm really scratching my head here... do I need to use someother variable or something to get the poster's usergroupid?
I am a PHP newbie... but I saw $usergroupid=$bbuserinfo['usergroupid']; used further down in functions.php and figured it should work...
But I guess not.
Any suggestions?
dirgotronix
09-17-2001, 05:50 PM
looks to me like $bbuserinfo isn't defined in that section (see the global line for what variables are usable)
at least, that's my best guess.
dirgotronix
09-17-2001, 05:52 PM
Ah, and you're using an admin function, that I assume is only for the Admin CP. try showthread.php, member.php, or functions.php. Where are you trying to make it glow? In threads, the memberlist, user info...?
Reno of Shinra
09-17-2001, 06:01 PM
I was just basing this off the above version which uses postcounts...
I set where the glow effect is displayed through my templates... that isn't related to this.
The function is supposed to set the $post[specialusername] to $post[username] plus html formatting...
I KNOW it work, because if I remove the conditional and just say $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=4)\"><tr><td>$post[username]</td></tr></table>"; then ALL usernames glow.
That's not a problem.
My problem is that the if statement that checks the usergroupid does not work.
That's the ONLY thing that needs fixing...
As I asked... do i need a different variable in there or something?
$bbuserinfo is declared a few lines above where I pasted code from...
// ###################### Start buildpostbit #######################
function getpostbit($post) {
// sorts through all the stuff to return the postbit template
// user
global $bbuserinfo,$ignore;
// showthread
global $counter,$firstnew,$sigcache,$highlight,$postid,$f orum;
// global options
global $showdeficon,$showonline,$displayemails,$enablepms ,$allowsignatures,$wordwrap,$dateformat,$timeforma t,$logip,$replacewords,$postsperday,$avatarenabled ,$registereddateformat,$viewattachedimages;
// begin glowing admin attempt
$post[specialusername] = $post[username];
$usergroupid=$bbuserinfo['usergroupid'];
if ($usergroupid == 5) { $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=4)\"><tr><td>$post[username]</td></tr></table>"; }
// end attempt
Soul Lord XL
09-17-2001, 10:24 PM
I dont have a
############## Start buildpostbit ############
In admin / functions.php and i am running 2.01, any suggestions?
Originally posted by Soul Lord XL
I dont have a
############## Start buildpostbit ############
In admin / functions.php and i am running 2.01, any suggestions? Yes, upgrade to 2.0.3... it's available free to all licenced members.
Soul Lord XL
09-18-2001, 01:16 AM
ahh ok, will do!
Baratator
11-09-2001, 01:10 PM
Originally posted by Reno of Shinra
I was just basing this off the above version which uses postcounts...
I set where the glow effect is displayed through my templates... that isn't related to this.
The function is supposed to set the $post[specialusername] to $post[username] plus html formatting...
I KNOW it work, because if I remove the conditional and just say $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=4)\"><tr><td>$post[username]</td></tr></table>"; then ALL usernames glow.
That's not a problem.
My problem is that the if statement that checks the usergroupid does not work.
That's the ONLY thing that needs fixing...
As I asked... do i need a different variable in there or something?
$bbuserinfo is declared a few lines above where I pasted code from...
// ###################### Start buildpostbit #######################
function getpostbit($post) {
// sorts through all the stuff to return the postbit template
// user
global $bbuserinfo,$ignore;
// showthread
global $counter,$firstnew,$sigcache,$highlight,$postid,$f orum;
// global options
global $showdeficon,$showonline,$displayemails,$enablepms ,$allowsignatures,$wordwrap,$dateformat,$timeforma t,$logip,$replacewords,$postsperday,$avatarenabled ,$registereddateformat,$viewattachedimages;
// begin glowing admin attempt
$post[specialusername] = $post[username];
$usergroupid=$bbuserinfo['usergroupid'];
if ($usergroupid == 5) { $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=4)\"><tr><td>$post[username]</td></tr></table>"; }
// end attempt
same problem : if i don't put the condition it works but fo all the users... now how can we make it work only for the admins :)
dirgotronix
11-09-2001, 05:33 PM
I toyed with the variables that show in postbit, and here's the one I found:
$userinfo[usergroupid]
That displays the number of the usergroup. Try that instead of $bbuserinfo[usergroupid].
Baratator
11-09-2001, 05:46 PM
// begin glowing admin attempt
$post[specialusername] = $post[username];
if ($userinfo[usergroupid] == 5) { $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=4)\"><tr><td>$post[username]</td></tr></table>"; };
// end attempt
so this is what i added
but always the same thing :
// begin glowing admin attempt
$post[specialusername] = $post[username];
if ($userinfo[usergroupid] == 5) { $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=4)\"><tr><td>$post[username]</td></tr></table>"; };
// end attempt
does nothing and
// begin glowing admin attempt
$post[specialusername] = $post[username];
{ $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=4)\"><tr><td>$post[username]</td></tr></table>"; };
// end attempt
Makes all user titles glow in orange...
Palmer ofShinra
11-10-2001, 10:33 AM
This is the code I got working about a month ago
In admin/functions.php
FIND:
// ###################### Start getpostbit #######################
function getpostbit($post) {
// sorts through all the stuff to return the postbit template
// user
global $bbuserinfo,$ignore;
// showthread
global $counter,$firstnew,$sigcache,$highlight,$postid,$f orum;
// global options
global $showdeficon,$showonline,$displayemails,$enablepms ,$allowsignatures,$wordwrap,$dateformat,$timeforma t,$logip,$replacewords,$postsperday,$avatarenabled ,$registereddateformat,$viewattachedimages;
// database
global $DB_site;UNDER IT ADD
// begin glowing admin
$post[specialusername] = $post[username];
$usergroupid=$post[usergroupid];
if ($usergroupid == 6) { $post[specialusername] = "<table style=\"filter:glow(color=blue, strength=6)\"><tr><td><font size='-1' color='white'><b>$post[username]</b></font></td></tr></table>"; }
if ($usergroupid == 5) { $post[specialusername] = "<table style=\"filter:glow(color=blue, strength=4)\"><tr><td><font size='-1' color='white'><b>$post[username]</b></font></td></tr></table>"; }
// end glowing admins
This works for supermods and admins... Supermod usergroupid is 5, admin is 6.
Baratator
11-10-2001, 12:53 PM
okay so if i find the id of the other groups i cant make it all glows differently :)
Thx a lot :)
Palmer ofShinra
11-11-2001, 01:08 AM
To figure out usergroupids
In the Admin CP, click Modify under User Groups and Permissions.
Next to each usergroup, RIGHT click on the word EDIT and choose "Copy Shortcut" or whatever your system says to copy the link URL.
Then paste it into notepad... it'll look something like this
http://your.site.com/board/admin/usergroup.php?action=edit&usergroupid=5
Notice the last number... 5. That's the usergroupid number.
In this case, this is for Super Mods.
Warlord
01-21-2002, 03:40 AM
With help from Palmer of Shinra, we have adapted this to work on 2.2.1...
Find this:
// ###################### Start buildpostbit #######################
function getpostbit($post) {
// sorts through all the stuff to return the postbit template
// user
global $bbuserinfo,$session,$ignore,$cookietimeout;
// showthread
global $counter,$firstnew,$sigcache,$highlight,$postid,$f orum;
// global options
global $showdeficon,$displayemails,$enablepms,$allowsigna tures,$wordwrap,$dateformat,$timeformat,$logip,$re placewords,$postsperday,$avatarenabled,$registered dateformat,$viewattachedimages;
And add this below it:
// begin glowing admin
$post[specialusername] = $post[username];
$usergroupid=$post[usergroupid];
if ($usergroupid == 6) { $post[specialusername] = "<table style=\"filter:glow(color=red, strength=6)\"><tr><td><font size='-1' color='white'><b>$post[username]</b></font></td></tr></table>"; }
if ($usergroupid == 5) { $post[specialusername] = "<table style=\"filter:glow(color=orange, strength=8)\"><tr><td><font size='-1' color='white'><b>$post[username]</b></font></td></tr></table>"; }
if ($usergroupid == 7) { $post[specialusername] = "<table style=\"filter:glow(color=blue, strength=8)\"><tr><td><font size='-1' color='white'><b>$post[username]</b></font></td></tr></table>"; }
// end glowing admins
Then go edit your postbit template and change this:
[username]
to this:
[specialusername]
________________________________________________
This makes your usernames glow as follows:
Mods glow in blue
Super Mods in orange
Admins in red.
(I'm going to post this in Finshed hacks with credits due to Palmer of Shinra and everyone else who has put input into this hack)
Lucrecia
05-31-2002, 10:48 PM
Is there anyway to have it so members can choose their own colors in their profile?
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.