vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Avatars On Custom Page (https://vborg.vbsupport.ru/showthread.php?t=305997)

t3h3th32 12-17-2013 05:36 PM

Avatars On Custom Page
 
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?

Code:

//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

kh99 12-17-2013 06:04 PM

I think the problem is probably that your code refers to $leader['permissions'] and $leader['adminavatar'], which I don't think are being set. But I don't know offhand what to do about it.

t3h3th32 12-17-2013 08:25 PM

Quote:

Originally Posted by kh99 (Post 2469037)
I think the problem is probably that your code refers to $leader['permissions'] and $leader['adminavatar'], which I don't think are being set. But I don't know offhand what to do about it.

Oh, thanks for the effort of looking at it, but I'm not sure, I completely follow. Thing is, those forum users have their own unique avatars, but the unknown.gif (no avatar) is being displayed instead. I'm kinda helpless.

Any ideas, what should I try to do now?

Regards,
~t3h'P?r4d0x

kh99 12-17-2013 08:41 PM

Well, if you remove some of the condition from one of the "if" statements, like this (remove part in red):

Code:

else
{
  if ($leader['hascustomavatar'] AND $vbulletin->options['avatarenabled'] AND ($leader['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canuseavatar'] OR $leader['adminavatar']))
  {
      if ($vbulletin->options['usefileavatar'])


then see if it works (save a copy or maybe copy the line as is and comment it out first, in case you want it back). That will try to show avatars even if a user has no permissions to use an avatar, or if "adminavatar" is not true, although I don't know what that is offhand. But it could be that those aren't important in your case so you might find that it works without that part of the condition. If not, then I'll try to figure it out when I get a chance (or maybe someone else will beat me to it).

t3h3th32 12-17-2013 11:09 PM

Hi again, removed the red part, but it changed the avatars on that page to a white one, on which was written vBulletin.

I'll appreciate any other suggestions.

Many thanks,
~t3h'Pâr4d0x

mokujin 12-18-2013 08:50 AM

Remove
PHP Code:

    if (empty($leader['avatarurl'])) {
        
$leader['avatarurl'] = vB_Template_Runtime::fetchStyleVar('imgdir_misc') . '/unknown.gif';
    } 

And replace
PHP Code:

$leader['avatarurl'] = ''

with
PHP Code:

$leader['avatarurl'] = vB_Template_Runtime::fetchStyleVar('imgdir_misc') . '/unknown.gif'



All times are GMT. The time now is 09:40 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.01216 seconds
  • Memory Usage 1,740KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (3)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete