vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   Glowing usernames based on postcount? (https://vborg.vbsupport.ru/showthread.php?t=26163)

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:

PHP Code:

<?

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>"; }

?>


Kier 08-23-2001 01:28 AM

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:

PHP Code:

$post[specialusername] = $post[username];

if ( 
$post[posts] >= ) { $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/sho...?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

PHP Code:

    // global options
    
global $showdeficon,$showonline,$displayemails,$enablepms,$allowsignatures,$wordwrap,$dateformat,$timeformat,$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
PHP Code:

$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...
PHP Code:

// ###################### 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,$forum;
    
// global options
    
global $showdeficon,$showonline,$displayemails,$enablepms,$allowsignatures,$wordwrap,$dateformat,$timeformat,$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?

Kier 09-17-2001 10:35 PM

Quote:

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

Quote:

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
PHP Code:

$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...
PHP Code:

// ###################### 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,$forum;
    
// global options
    
global $showdeficon,$showonline,$displayemails,$enablepms,$allowsignatures,$wordwrap,$dateformat,$timeformat,$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 :
PHP Code:

// 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

PHP Code:

// 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:
PHP Code:

// ###################### 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,$forum;
    
// global options
    
global $showdeficon,$showonline,$displayemails,$enablepms,$allowsignatures,$wordwrap,$dateformat,$timeformat,$logip,$replacewords,$postsperday,$avatarenabled,$registereddateformat,$viewattachedimages;
    
// database
    
global $DB_site

UNDER IT ADD
PHP Code:

// 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/use...&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:

PHP Code:

// ###################### 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,$forum;
    
// global options
    
global $showdeficon,$displayemails,$enablepms,$allowsignatures,$wordwrap,$dateformat,$timeformat,$logip,$replacewords,$postsperday,$avatarenabled,$registereddateformat,$viewattachedimages

And add this below it:

PHP Code:

// 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?


All times are GMT. The time now is 03:50 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01386 seconds
  • Memory Usage 1,890KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (13)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (26)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete