/** * Prepares the User's Instant Messaging Icons * */ function prepare_im_icons() { global $show; $this->prepared['icq'] = $this->userinfo['icq']; $this->prepared['aim'] = $this->userinfo['aim']; $this->prepared['msn'] = $this->userinfo['msn']; $this->prepared['yahoo'] = $this->userinfo['yahoo']; $this->prepared['skype'] = $this->userinfo['skype']; construct_im_icons($this->prepared); $this->prepared['hasimicons'] = $show['hasimicons']; $this->prepared['hasimdetails'] = ($this->prepared['icq'] or $this->prepared['aim'] or $this->prepared['msn'] or $this->prepared['yahoo'] or $this->prepared['skype']) ? true : false; $this->prepared['imicons'] = true; }
$guests["{$count}"]['username'] = $vbphrase['guest']; $guests["{$count}"]['invisible'] = 0; $guests["{$count}"]['displaygroupid'] = 1; fetch_musername($guests["{$count}"]); if ($vbulletin->options['WOLresolve'] and $permissions['wolpermissions'] & $vbulletin->bf_ugp_wolpermissions['canwhosonlineip']) { $guests["{$count}"]['host'] = @gethostbyaddr($users['host']); } $guests["{$count}"]['count'] = $count + 1; $guests["{$count}"]['useragent'] = htmlspecialchars_uni($users['useragent']); $count++; ($hook = vBulletinHook::fetch_hook('online_user')) ? eval($hook) : false; } } if (!$foundviewer and $vbulletin->userinfo['userid'] and ($vbulletin->GPC['who'] == '' or $vbulletin->GPC['who'] == 'members')) { // Viewing user did not show up so fake him construct_im_icons($vbulletin->userinfo); $userinfo["{$vbulletin->userinfo['userid']}"] = $vbulletin->userinfo; $userinfo["{$vbulletin->userinfo['userid']}"]['location'] = '/online.php'; $userinfo["{$vbulletin->userinfo['userid']}"]['host'] = IPADDRESS; $userinfo["{$vbulletin->userinfo['userid']}"]['lastactivity'] = TIMENOW; fetch_musername($userinfo["{$vbulletin->userinfo['userid']}"]); $userinfo["{$vbulletin->userinfo['userid']}"]['hidden'] = iif($vbulletin->userinfo['invisible'], '*'); $userinfo["{$vbulletin->userinfo['userid']}"]['invisible'] = 0; if ($vbulletin->options['WOLresolve'] and $permissions['wolpermissions'] & $vbulletin->bf_ugp_wolpermissions['canwhosonlineip']) { $userinfo["{$vbulletin->userinfo['userid']}"]['host'] = @gethostbyaddr($userinfo["{$vbulletin->userinfo['userid']}"]['host']); } } $show['ip'] = iif($permissions['wolpermissions'] & $vbulletin->bf_ugp_wolpermissions['canwhosonlineip'], true, false); $show['ajax_resolve'] = ($show['ip'] and !$vbulletin->options['WOLresolve']); $show['useragent'] = iif($vbulletin->GPC['ua'], true, false); $show['hidden'] = iif($permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canseehidden'], true, false);
/** * Processes instant messaging program icons. */ function process_im_icons() { construct_im_icons($this->post); }
$show['searchlink'] = true; } else { $show['searchlink'] = false; } if ($userinfo['showemail'] AND $vbulletin->options['displayemails'] AND (!$vbulletin->options['secureemail'] OR ($vbulletin->options['secureemail'] AND $vbulletin->options['enableemail'])) AND $vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canemailmember'] AND $vbulletin->userinfo['userid']) { $show['emaillink'] = true; } else { $show['emaillink'] = false; } construct_im_icons($userinfo, true); if ($userinfo['homepage'] != '' AND $userinfo['homepage'] != 'http://') { $show['homepagelink'] = true; } else { $show['homepagelink'] = false; } if ($vbulletin->options['enablepms'] AND $vbulletin->userinfo['permissions']['pmquota'] AND ($vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel'] OR ($userinfo['receivepm'] AND $userinfo['permissions']['pmquota'] AND (!$userinfo['receivepmbuddies'] OR can_moderate() OR strpos(" $userinfo[buddylist] ", ' ' . $vbulletin->userinfo['userid'] . ' ') !== false)) )) { $show['pmlink'] = true;
$vbulletin->input->clean_array_gpc('r', array('perpage' => TYPE_UINT, 'pagenumber' => TYPE_UINT)); $perpage = $vbulletin->GPC['perpage']; $pagenumber = $vbulletin->GPC['pagenumber']; $totalmembers = $group['members']; sanitize_pageresults($totalmembers, $pagenumber, $perpage); $groupmembers = $vbulletin->db->query_read("\n\t\tSELECT userfield.*, usertextfield.*, user.*, UNIX_TIMESTAMP(passworddate) AS passworddate,\n\t\t\tIF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, (user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ") AS invisible,\n\t\t\t" . ($vbulletin->options['avatarenabled'] ? 'avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline, customavatar.width AS avwidth, customavatar.height AS avheight,' : '') . "\n\t\t\tcustomprofilepic.userid AS profilepic, customprofilepic.dateline AS profilepicdateline, customprofilepic.width AS ppwidth, customprofilepic.height AS ppheight,\n\t\t\tuser.icq AS icq, user.aim AS aim, user.yahoo AS yahoo, user.msn AS msn, user.skype AS skype\n\t\tFROM " . TABLE_PREFIX . "socialgroupmember AS socialgroupmember\n\t\tINNER JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = socialgroupmember.userid)\n\t\tLEFT JOIN " . TABLE_PREFIX . "userfield AS userfield ON (user.userid = userfield.userid)\n\t\tLEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield ON (usertextfield.userid = user.userid)\n\t\t" . ($vbulletin->options['avatarenabled'] ? "LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON (avatar.avatarid = user.avatarid) LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON (customavatar.userid = user.userid) " : '') . "\n\t\tLEFT JOIN " . TABLE_PREFIX . "customprofilepic AS customprofilepic ON (user.userid = customprofilepic.userid)\n\t\tWHERE socialgroupmember.groupid = " . $vbulletin->GPC['groupid'] . " AND socialgroupmember.type = 'member'\n\t\tORDER BY user.username\n\t\tLIMIT " . ($pagenumber - 1) * $perpage . ", {$perpage}\n\t"); require_once DIR . '/includes/functions_bigthree.php'; while ($groupmember = $vbulletin->db->fetch_array($groupmembers)) { $width = 0; $height = 0; $alt = exec_switch_bg(); fetch_avatar_from_userinfo($groupmember, true); fetch_musername($groupmember); $user =& $groupmember; fetch_online_status($user, true); construct_im_icons($user, true); ($hook = vBulletinHook::fetch_hook('group_memberbit')) ? eval($hook) : false; eval('$member_list .= "' . fetch_template('memberinfo_small') . '";'); } $navbits = array('group.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['social_groups'], 'group.php?' . $vbulletin->session->vars['sessionurl'] . 'groupid=' . $group['groupid'] => $group['name'], '' => $vbphrase['member_list']); $custompagetitle = $group['name'] . ' - ' . $vbphrase['member_list']; $pagenav = construct_page_nav($pagenumber, $perpage, $totalmembers, 'group.php?' . $vbulletin->session->vars['sessionurl'] . 'do=viewmembers&groupid=' . $group['groupid'] . ($perpage ? "&pp={$perpage}" : '')); eval('$memberinfo_css = "' . fetch_template('memberinfo_css') . '";'); $templatename = 'socialgroups_memberlist'; } // ####################################################################### if ($_REQUEST['do'] == 'search') { $navbits = array('group.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['social_groups'], '' => $vbphrase['advanced_search']); $templatename = 'socialgroups_search'; } // #######################################################################
/** * Prepare any data needed for the output * * @param string The id of the block * @param array Options specific to the block */ function prepare_output($id = '', $options = array()) { global $show, $vbphrase; if ($this->profile->userinfo['friendcount'] != 0) { require_once DIR . '/includes/functions_bigthree.php'; $this->block_data = array(); if (is_array($options)) { $options = array_merge($this->option_defaults, $options); } else { $options = $this->option_defaults; } switch ($options['fetchorder']) { case 'asc': $friendorder = 'user.username ASC'; break; case 'desc': $friendorder = 'user.username DESC'; break; case 'rand': default: $friendorder = 'RAND()'; } $pagenumber = $options['pagenumber']; if (isset($options['perpage'])) { $perpage = $options['perpage']; } else { $perpage = $options['fetchamount']; } if (!$pagenumber or $options['tab'] != $id or empty($options['tab'])) { $pagenumber = 1; } else { if ($pagenumber > ceil($this->profile->userinfo['friendcount'] / $perpage)) { $pagenumber = ceil($this->profile->userinfo['friendcount'] / $perpage); } } $limitstart = ($pagenumber - 1) * $perpage; $limitamount = max(1, min($perpage, $this->profile->userinfo['friendcount'] - $limitstart)); $hook_query_fields = $hook_query_joins = $hook_query_where = ''; ($hook = vBulletinHook::fetch_hook('member_profileblock_friends_query')) ? eval($hook) : false; $friends_sql = $this->registry->db->query_read_slave("\n\t\t\t\tSELECT user.*, (user.options & " . $this->registry->bf_misc_useroptions['invisible'] . ") AS invisible " . ($this->registry->options['avatarenabled'] ? ", avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustom, customavatar.dateline AS avatardateline, customavatar.filedata_thumb, customavatar.height AS avheight, customavatar.width AS avwidth, customavatar.width_thumb AS avwidth_thumb, customavatar.height_thumb AS avheight_thumb" : "") . "\n\t\t\t\t\t{$hook_query_fields}\n\t\t\t\tFROM " . TABLE_PREFIX . "userlist AS userlist\n\t\t\t\tINNER JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = userlist.relationid)" . ($this->registry->options['avatarenabled'] ? "\n\t\t\t\tLEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON (avatar.avatarid = user.avatarid)\n\t\t\t\tLEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON (customavatar.userid = user.userid) " : '') . "\n\t\t\t\t{$hook_query_joins}\n\t\t\t\tWHERE userlist.userid = " . $this->profile->userinfo['userid'] . "\n\t\t\t\t\tAND userlist.type = 'buddy'\n\t\t\t\t\tAND userlist.friend = 'yes'\n\t\t\t\t\t{$hook_query_where}\n\t\t\t\tORDER BY {$friendorder}\n\t\t\t\tLIMIT {$limitstart}, {$limitamount}\n\t\t\t"); $friendbits = ''; $alt = 'alt2'; while ($user = $this->registry->db->fetch_array($friends_sql)) { fetch_avatar_from_userinfo($user, true); fetch_musername($user); $alt = $alt == 'alt1' ? 'alt2' : 'alt1'; fetch_online_status($user, true); construct_im_icons($user, true); if ($user['userid'] == $this->registry->userinfo['userid'] or $this->profile->userinfo['userid'] == $this->registry->userinfo['userid']) { if ($user['userid'] == $this->registry->userinfo['userid']) { $show['return'] = true; $remove = array('userid' => $this->profile->userinfo['userid'], 'return' => 1); } else { $remove = array('userid' => $user['userid']); } $show['breakfriendship'] = true; } else { $show['breakfriendship'] = false; } ($hook = vBulletinHook::fetch_hook('member_profileblock_friendbit')) ? eval($hook) : false; $templater = vB_Template::create($options['membertemplate']); $templater->register('remove', $remove); $templater->register('user', $user); $friendbits .= $templater->render(); } $pageinfo = array('tab' => $id); if ($perpage != $this->registry->options['friends_perpage']) { $paginfo['pp'] = $perpage; } $this->block_data['start_friends'] = $limitstart + 1; $this->block_data['friendbits'] = $friendbits; $this->block_data['showtotal'] = vb_number_format($this->registry->db->num_rows($friends_sql)); $this->block_data['end_friends'] = $limitstart + $this->block_data['showtotal']; sanitize_pageresults($this->profile->userinfo['friendcount'], $pagenumber, $perpage, 100, 5); $this->block_data['pagenav'] = construct_page_nav($pagenumber, $perpage, $this->profile->userinfo['friendcount'], '', '', $id, 'member', $this->profile->userinfo, $pageinfo); } }
/** * Prepares the User's Instant Messaging Icons * */ function prepare_im_icons() { global $show; $this->prepared['icq'] = $this->userinfo['icq']; $this->prepared['aim'] = $this->userinfo['aim']; $this->prepared['msn'] = $this->userinfo['msn']; $this->prepared['yahoo'] = $this->userinfo['yahoo']; $this->prepared['skype'] = $this->userinfo['skype']; require_once DIR . '/includes/class_postbit.php'; construct_im_icons($this->prepared); $this->prepared['hasimicons'] = $show['hasimicons']; $this->prepared['hasimdetails'] = ($this->prepared['icq'] or $this->prepared['aim'] or $this->prepared['msn'] or $this->prepared['yahoo'] or $this->prepared['skype']) ? true : false; $this->prepared['imicons'] = true; }
/** * Processes instant messaging program icons. */ function process_im_icons() { if ($this->template_prefix != 'vbcms_') { construct_im_icons($this->post); } }
if (!$showmembers) { continue; } if ($threadinfo['threadid'] and ($users['userid'] == $vbulletin->userinfo['userid'] or $users['inthread'] != $threadinfo['threadid'])) { continue; } $users = array_merge($users, convert_bits_to_array($users['options'], $vbulletin->bf_misc_useroptions)); $key = $users['userid']; if (empty($userinfo["{$key}"]['lastactivity']) or $userinfo["{$key}"]['lastactivity'] < $users['lastactivity']) { unset($userinfo["{$key}"]); // need this to sort by lastactivity $userinfo["{$key}"] = $users; fetch_musername($users); $userinfo["{$key}"]['musername'] = $users['musername']; $userinfo["{$key}"]['useragent'] = htmlspecialchars_uni($users['useragent']); construct_im_icons($userinfo["{$key}"]); if ($users['invisible']) { if ($permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canseehidden'] or $key == $vbulletin->userinfo['userid']) { $userinfo["{$key}"]['hidden'] = '*'; $userinfo["{$key}"]['invisible'] = 0; } } if ($vbulletin->options['WOLresolve'] and $permissions['wolpermissions'] & $vbulletin->bf_ugp_wolpermissions['canwhosonlineip']) { $userinfo["{$key}"]['host'] = @gethostbyaddr($users['host']); } $userinfo["{$key}"]['buddy'] = $buddy["{$key}"]; } } else { // Guest or Spider.. $spider = ''; if ($threadinfo['threadid'] and $users['inthread'] != $threadinfo['threadid']) {