Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #4  
Old 05-02-2012, 10:38 PM
souperman souperman is offline
 
Join Date: Mar 2011
Posts: 131
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can get the user avatarrevision and locate the file if it's stored on the hdd.

Code:
$avatar = "http://www.domain.com/customavatars/thumbs/avatar".$vbulletin->userinfo['userid']."_".$vbulletin->userinfo['avatarrevision'].".gif";
That's just the gist, here how I would do it:
Check if the user has an avatarid
If user has avatarid, then get the fileurl of the avatar from the avatar table
if user doesn't have an avatarid (avatarid = 0), then check if user has an avatarrevision > 0
if avatarrevision > 0 then you can get the url path from my code above using the userid and avatarrevision
if avatarrevision == 0 and avatarid ==0, then user has no avatar and display the no avatar url

Hope my pseudo code helps you out.

--------------- Added [DATE]1336002405[/DATE] at [TIME]1336002405[/TIME] ---------------

Here's what I use in one of my external scripts:

Code:
function get_avatar_url($avatarid)
{
	if ($avatarid == 0) 
	{
		$sql = "SELECT user.avatarrevision 
				FROM user  
				JOIN customavatar 
					ON user.userid = customavatar.userid 
				WHERE user.userid = '".mysql_real_escape_string($user_id)."'
				LIMIT 1";
		$result = mysql_query($sql);
		
		if (mysql_num_rows($result) > 0) 
		{
			$data = mysql_fetch_array($result);
			return "http://www.domain.com/customavatars/thumbs/avatar".$user_id."_".$data['avatarrevision'].".gif";
		}
		else 
		{
			return "http://www.domain.com/images/noavatarmini.gif";
		}
	}
	else 
	{
		return "http://www.domain.com/images/avatars/thumbs/".$avatarid.".gif";
	}
}
In my case, the avartarid is the given. To make it fit your purpose I would do a LEFT join on the customavatar table to get the avatarid and any other useful info.

I would recommend to do the join on the query that's already getting your user information to save resources. If you post your query I can help you out with that.
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 12:21 PM.


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.03760 seconds
  • Memory Usage 2,342KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadedmode.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete