Log in

View Full Version : Access Avatars Outside of vBulletin - Stuck!


davide101
02-06-2007, 03:57 PM
Hi everyone,

I'm trying to display a user's avatar outside of vBulletin. I have it working for users that have created their own avatar - but I can't figure out how to grab the image when someone's using one of the forum's defaults.

Here's the getavatar.php that searches the database and returns a link to the appropriate file:

<?php

$config_filename = dirname(__FILE__) . "/includes/config.php";

require_once $config_filename;
define( 'TABLE_PREFIX', $config['Database']['tableprefix'] );

$userid = $_REQUEST['userid'];

$conn = mysql_connect( $config['MasterServer']['servername'], $config['MasterServer']['username'], $config['MasterServer']['password'] );
if (!$conn)
die ("Could not connect to server.");

if (!mysql_select_db( $config['Database']['dbname'], $conn ))
die ("Database not found.");

$sql = "SELECT filedata, dateline, filename
FROM vb_customavatar
WHERE userid = $userid";
$results = mysql_query($sql, $conn);
if (!$results)
die ("Error running query.");

$row=mysql_fetch_array($results);

header('Cache-control: max-age=31536000');
header('Expires: ' . gmdate('D, d M Y H:i:s', (TIMENOW + 31536000)) . ' GMT');
header('Content-disposition: inline; filename=' . $row['filename']);
header('Content-transfer-encoding: binary');
header('Content-Length: ' . strlen($row['filedata']));
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $row['dateline']) . ' GMT');
$extension = trim(substr(strrchr(strtolower($row['filename']), '.'), 1));
if ($extension == 'jpg' OR $extension == 'jpeg')
header('Content-type: image/jpeg');
else if ($extension == 'png')
header('Content-type: image/png');
else
header('Content-type: image/gif');

echo $row['filedata'];

?>

You can see it work correctly here:
http://www.diabetesdaily.com/forum/getavatar.php?userid=1

Any ideas on how expand this to grab the other images?

David

davide101
02-09-2007, 03:12 PM
Bump. Even a little pointer in the right direction would be great. If you had to bring this information together, how would you go about it?

jeramie78
07-09-2007, 04:59 AM
hate to bring up a old topic but have you gotten this to work by pulling the forums avatars also or is it still just custom avatars

davide101
07-16-2007, 02:04 PM
Jeramie, I've had no luck with this. I stopped using avatars altogether in the Welcome box. If you ever come across a solution, be sure to post back. Best of luck.

Dismounted
07-20-2007, 12:28 PM
// include backend
require_once('./global.php');
require_once(DIR . '/includes/functions_user.php');

// setup avatar if exists
$avatar = fetch_avatar_url($vbulletin->userinfo['userid']);
if ($avatar != '' AND $vbulletin->options['avatarenabled'])
{
$avatarurl = $avatar[0];
}

davide101
07-23-2007, 01:25 PM
Thanks! That is very straight forward and easier than he way I was trying to do it.

Dismounted
07-24-2007, 11:37 AM
vBulletin has a lot of hidden functions...

davide101
07-24-2007, 12:42 PM
Thanks! Works like a charm!