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


All times are GMT. The time now is 10:06 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.01305 seconds
  • Memory Usage 1,765KB
  • 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
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete