[S]Hello all,
I am using vBulletin 4.2.1 on my local server as my dev site, and once done, I will go live with this on the forum I help administrate which runs vBulletin 4.2.2 patch level 2.
I am doing some custom hacks to Valter's great chatbox, and I am stumped on how to display user avatars. We use the file system to store our avatars, so I cannot use the image.php?u=userid method.
So, I have written a plugin, hook location is parse_templates, with the plugin PHP code:
PHP Code:
require_once('./includes/functions_user.php');
$avatar_url = fetch_avatar_url($vbulletin->userinfo[$vsacb_msg_box.userid]);
$avatar = $avatar_url[0];
$user_avatar = '<img src="'.$avatar.'" border="0" width="40" style="vertical-align: middle" />';
vB_Template::preRegister('vsa_chatbox_bit',array('user_avatar' => $user_avatar));
Now, what I get is my avatar in every posted message, instead of the avatars of the users who actually posted the various messages. Can anyone tell me what I am missing? [/S]
I found the solution to my problem!
Instead of creating a new plugin, I hacked an existing one. I opened the plugin titled "VSa - ChatBox - MN" and located the line:
PHP Code:
$vsacb_msg_box_parsed = str_replace('\'', ''', $vsacb_bbparser->do_parse($vsacb_msg_box_styled,1,$vsacb_smilies_onoff,1,1,1));
And after that, inserted the code:
PHP Code:
require_once('./includes/functions_user.php');
$avatar_url = fetch_avatar_url($vsacb_msg_box['userid']);
$avatar = $avatar_url[0];
if (!$avatar)
{
$avatar = './images/misc/unknown.gif';
}
$user_avatar = '<img src="'.$avatar.'" border="0" width="48" style="vertical-align: middle" />';
vB_Template::preRegister('vsa_chatbox_bit',array('user_avatar' => $user_avatar));
Save the plugin, and then in the template "vsa_chatbox_bit" you may use "{vb:raw user_avatar}" to display the user avatars.