View Single Post
  #1253  
Old 11-11-2008, 02:03 PM
XManuX XManuX is offline
 
Join Date: Feb 2007
Posts: 46
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Avatars are not amongst the vBulletin data that vBridge collects.

In order to use them on your Wordpress pages, along with infos like User's Title or so, you need to modify the vBridge query that gets data from vBulletin replies.

Below is more a technical draft than a failsafe HowTo.

- Open vbbridge.php and look for the following query:
PHP Code:
$sql "select postid, username, userid, pagetext, title FROM " .  TABLE_PREFIX "post where threadid = '$results->vb_threadid' order by dateline"
This is the one that gets data about every vBulletin replies to your Wordpress article.

Replace it by:
PHP Code:
$sql "SELECT postid, p.username, p.userid, pagetext, p.title, u.avatarid, u.avatarrevision, a.avatarpath 
    FROM " 
TABLE_PREFIX "post AS p 
    LEFT JOIN " 
TABLE_PREFIX "user AS u ON u.userid = p.userid 
    LEFT JOIN " 
TABLE_PREFIX "avatar AS a ON a.avatarid = u.avatarid
    WHERE threadid = '
$results->vb_threadid' ORDER BY dateline"
As you can see, we are now getting much more data from vBulletin : the user's 'avatarid', 'avatarrevision', 'avatarpath' and even the user's title.

- Save your vbbridge.php.

- Now the quick and dirty part : there are probably vBulletin functions to handle avatars properly, since i haven't had a look at that yet, here is some bad way to handle most of the avatars.

- Open your theme php file where you already did some copy/paste with the vbbridge code to handle comments.

- Look for :
PHP Code:
<?php
foreach ($vbridge[replies] as $reply) {
?>
- Below, you may add this code :
PHP Code:
<?php 
if ($reply[avatarpath]) {
 echo 
"<img src=\"" get_option('vbb_VBURL') . "/" $reply[avatarpath] ."\" alt=\"avatar\" />";
} else {
 echo 
"<img src=\"" get_option('vbb_VBURL') . "/customavatars/avatar" $reply[userid] ."_" $reply[avatarrevision] . ".gif\" alt=\"avatar\" />";
}
?>
Keep in mind that it's an early version and that a more complete way of handling avatars should be achieved, especially when no avatars are selected.

For infos here is the part of code that i used a few years ago to handle avatars displaying in non-vb pages (not vbbridge related !)

PHP Code:
$query ="SELECT user.avatarid, user.avatarrevision AS avrevis, avatarpath, NOT ISNULL(filedata) AS hascustom, customavatar.dateline
    FROM user AS user
    LEFT JOIN avatar AS avatar ON avatar.avatarid = user.avatarid
    LEFT JOIN customavatar AS customavatar ON customavatar.userid = user.userid
    WHERE user.userid ="
$prof_uid;
$result requete($query);
$row mysql_fetch_array($result);

// on a renseign? le champ de chemin d'avatar
if (!empty($row['avatarpath']))
{
 
$prof_avatar "<img src=\"http://ladln.org/boards/{$row['avatarpath']}\" alt=\"avatar\" />";
}
// sinon on check si on a upload? un avatar custom
else if ($row['hascustom'])
{
    if (
strlen($row['hascustom'] > 10))
    {
        
$prof_avatar =  "<img src=\"http://ladln.org/boards/image.php?u=$prof_uid&amp;dateline=$row[dateline]\" alt=\"avatar\" />";
    } else {
        
$prof_avatar "<img src=\"http://ladln.org/boards/customavatars/avatar{$prof_uid}_{$row['avrevis']}.gif\" alt=\"avatar\" />";
    }
}
else if (
$row['avrevis']>0)
{
    
$prof_avatar "<img src=\"http://ladln.org/boards/customavatars/avatar{$prof_uid}_{$row['avrevis']}.gif\" alt=\"avatar\" />";
}
else
{
$prof_avatar "[N.A]";

Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01179 seconds
  • Memory Usage 1,809KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (5)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete