t3h3th32
12-17-2013, 05:36 PM
Hello,
I've got yet another thingy, I can't seem to be able to resolve on my own.
Basically, what this is, is that I have a custom page, it's a TSO leader board (stands for: Time Spent Online), it's basically very similar to "memberlist.php", just different layout and different data in, but the principle is the same.
Now to the problem itself. Thing is, I wanted to have avatars there for the displayed members, but all I got is the default [?] unknown.gif avatar displaying.
May I please ask someone to check this code out and find my mistake?
//Get sorted user records loop thro and run templater to build the template data
$leaders = $db->query_read_slave("
SELECT
user.*, avatar.avatarpath,NOT ISNULL(customavatar.userid) AS hascustomavatar,customavatar.dateline AS avatardateline, customavatar.width AS avwidth, customavatar.height AS avheight
FROM
" . TABLE_PREFIX . "user AS user
LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON(customavatar.userid = user.userid)
" . ($include_userfield_join ? "LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield USING (userid)" : '') . "
WHERE $condition
ORDER BY user.timespentonline DESC
LIMIT " . ($limitlower - 1) . ", $perpage
");
$content = '';
$itemcount = ($pagenumber - 1) * $perpage;
$first = $itemcount + 1;
while ($leader = $db->fetch_array($leaders))
{
$leader['avwidth'] = '';
$leader['avheight'] = '';
if ($leader['avatarid'])
{
$leader['avatarurl'] = $leader['avatarpath'];
}
else
{
if ($leader['hascustomavatar'] AND $vbulletin->options['avatarenabled'] AND ($leader['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canuseavatar'] OR $leader['adminavatar']))
{
if ($vbulletin->options['usefileavatar'])
{
$leader['avatarurl'] = $vbulletin->options['avatarurl'] . "/thumbs/avatar$userinfo[userid]_$userinfo[avatarrevision].gif";
}
else
{
$leader['avatarurl'] = 'image.php?' . $vbulletin->session->vars['sessionurl'] . "u=$userinfo[userid]&dateline=$userinfo[avatardateline]" . '&type=thumb';
}
if ($userinfo['avheight'] AND $userinfo['avwidth'])
{
$leader['avheight'] = "height=\"$userinfo[avheight]\"";
$leader['avwidth'] = "width=\"$userinfo[avwidth]\"";
}
}
else
{
$leader['avatarurl'] = '';
}
}
if (empty($leader['avatarurl'])) {
$leader['avatarurl'] = vB_Template_Runtime::fetchStyleVar('imgdir_misc') . '/unknown.gif';
}
fetch_musername($leader);
$leader['timespentonline_formatted'] = calc_timespent($leader['timespentonline']);
$leader['timespentonline_perday_formatted'] = calc_timeperday($leader['timespentonline'],$leader['joindate']);
Much appreciated,
~t3h'P?r4d0x
I've got yet another thingy, I can't seem to be able to resolve on my own.
Basically, what this is, is that I have a custom page, it's a TSO leader board (stands for: Time Spent Online), it's basically very similar to "memberlist.php", just different layout and different data in, but the principle is the same.
Now to the problem itself. Thing is, I wanted to have avatars there for the displayed members, but all I got is the default [?] unknown.gif avatar displaying.
May I please ask someone to check this code out and find my mistake?
//Get sorted user records loop thro and run templater to build the template data
$leaders = $db->query_read_slave("
SELECT
user.*, avatar.avatarpath,NOT ISNULL(customavatar.userid) AS hascustomavatar,customavatar.dateline AS avatardateline, customavatar.width AS avwidth, customavatar.height AS avheight
FROM
" . TABLE_PREFIX . "user AS user
LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON(customavatar.userid = user.userid)
" . ($include_userfield_join ? "LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield USING (userid)" : '') . "
WHERE $condition
ORDER BY user.timespentonline DESC
LIMIT " . ($limitlower - 1) . ", $perpage
");
$content = '';
$itemcount = ($pagenumber - 1) * $perpage;
$first = $itemcount + 1;
while ($leader = $db->fetch_array($leaders))
{
$leader['avwidth'] = '';
$leader['avheight'] = '';
if ($leader['avatarid'])
{
$leader['avatarurl'] = $leader['avatarpath'];
}
else
{
if ($leader['hascustomavatar'] AND $vbulletin->options['avatarenabled'] AND ($leader['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canuseavatar'] OR $leader['adminavatar']))
{
if ($vbulletin->options['usefileavatar'])
{
$leader['avatarurl'] = $vbulletin->options['avatarurl'] . "/thumbs/avatar$userinfo[userid]_$userinfo[avatarrevision].gif";
}
else
{
$leader['avatarurl'] = 'image.php?' . $vbulletin->session->vars['sessionurl'] . "u=$userinfo[userid]&dateline=$userinfo[avatardateline]" . '&type=thumb';
}
if ($userinfo['avheight'] AND $userinfo['avwidth'])
{
$leader['avheight'] = "height=\"$userinfo[avheight]\"";
$leader['avwidth'] = "width=\"$userinfo[avwidth]\"";
}
}
else
{
$leader['avatarurl'] = '';
}
}
if (empty($leader['avatarurl'])) {
$leader['avatarurl'] = vB_Template_Runtime::fetchStyleVar('imgdir_misc') . '/unknown.gif';
}
fetch_musername($leader);
$leader['timespentonline_formatted'] = calc_timespent($leader['timespentonline']);
$leader['timespentonline_perday_formatted'] = calc_timeperday($leader['timespentonline'],$leader['joindate']);
Much appreciated,
~t3h'P?r4d0x