The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
could someone take a look at this script?
can someone look at this script and explain or show why the Gold member users only see the default color in the postbit?
Code:
global $vbulletin; /// NOTE - Make sure that the $user information includes the MembergroupIDs if (!array_key_exists('membergroupids', $user) || !array_key_exists('usergroupid', $user)) { global $vbulletin; $tempuser = $vbulletin->db->query_first(sprintf("SELECT usergroupid,membergroupids FROM " . TABLE_PREFIX . "user WHERE userid=%d",$user['userid'])); $user['membergroupids'] = $tempuser['membergroupids']; $user['membergroupids'] .= ','.$tempuser['usergroupid']; } else { $user['membergroupids'] .= ','.$user['usergroupid']; } if (in_array(24,explode(',',$user['membergroupids']))) { /// NOTE - Make sure that the $user information includes the field we are checking for if (!array_key_exists('field16', $user)) { global $vbulletin; $tempuserfield = $vbulletin->db->query_first(sprintf("SELECT field16 FROM " . TABLE_PREFIX . "userfield WHERE userid=%d",$user['userid'])); $user['field16'] = $tempuserfield['field16']; } $my_special_color = ($user['field16']) ? $user['field16'] : 'olive'; $user['musername'] = '<span style="display:-moz-inline-stack;display:inline-block;font-weight:bold;color:'.$my_special_color.';">'.$user['username'].'</span>'; if (strtolower($my_special_color) == 'rainbow') { $len = 16; $base='123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $max=strlen($base)-1; $randstr=''; mt_srand((double)microtime()*1000000); while (strlen($randstr)<$len+1) {$randstr .= $base[mt_rand(0,$max)];} $user['musername'] = ' <span id="spastic_username_container_'.$randstr.'">' . $user['username'] . '</span> <script type="text/javascript"> set_as_spastic(document.getElementById(\'spastic_username_container_'.$randstr.'\'),\''.$user['username'].'\'); </script>'; } } and i get a database error on the "who's online" page for those users and the product "vsa - advanced forum statistics" does not show up for those users. could someone help me? thanks, Houston |
#2
|
|||
|
|||
I can't see anything wrong in what's posted - is this a plugin? Which hook?
|
#3
|
||||
|
||||
Quote:
yes its a hook. its a fetch_musername |
#4
|
|||
|
|||
OK, looks like the problem is that you're changing $user['membergroupids'] and messing up some stuff that tries to use it later (a reference is passed to the function so any changes will affect the variable that's passed to fetch_musername() even after it returns).
So I would make these changes (lines in blue added, lines in red can be deleted): Code:
global $vbulletin; /// NOTE - Make sure that the $user information includes the MembergroupIDs if (!array_key_exists('membergroupids', $user) || !array_key_exists('usergroupid', $user)) { global $vbulletin; $tempuser = $vbulletin->db->query_first(sprintf("SELECT usergroupid,membergroupids FROM " . TABLE_PREFIX . "user WHERE userid=%d",$user['userid'])); $user['membergroupids'] = $tempuser['membergroupids']; $user['usergroupid'] = $tempuser['usergroupid']; //$user['membergroupids'] .= ','.$tempuser['usergroupid']; } //else //{ // $user['membergroupids'] .= ','.$user['usergroupid']; //} //if (in_array(24,explode(',',$user['membergroupids']))) if (is_member_of($user, 24)) { but I'm not sure that fixes everything. I noticed "rainbow" didn't seem to work, and I don't know why the problems only happened with non-admin or mod users. |
Благодарность от: | ||
Max Taxable |
#5
|
||||
|
||||
Quote:
now its just that in the post bit, if I'm a regular member, i see all the people who have a colored name just the default color. 'olive' how do i make it where they can see everyones individual color? |
#6
|
|||
|
|||
I don't have that problem on my test forum - admins and Registered Users are able to see special colors, as long as the user with the color is a member of the special group. You're going to have to put in some debug lines to see if you can figure out what's going on (like maybe echo() some values to an html comment and then view the page source to see them).
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|