/** * Prepares the User's Reputation Display * */ function prepare_reputation() { if (!isset($this->prepared['reputationdisplay'])) { if (!isset($this->prepared['userperms'])) { $this->prepare('userperms'); } fetch_reputation_image($this->userinfo, $this->prepared['userperms']); $this->prepared['reputationdisplay'] = $this->userinfo['reputationdisplay']; } }
if ($bday[2] == '0000') { $userinfo['birthday'] = "$bday[0]-$bday[1]"; } else { $userinfo['birthday'] = "$bday[0]-$bday[1]-$bday[2]"; } } } } if ($show['reputationcol']) { $checkperms = cache_permissions($userinfo, false); fetch_reputation_image($userinfo, $checkperms); } $can_view_profile_pic = ( $show['profilepiccol'] AND $userinfo['profilepic'] AND ($userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canprofilepic'] OR $userinfo['adminprofilepic']) ); if ($userinfo['profilepicrequirement'] AND !can_view_profile_section($userinfo['userid'], 'profile_picture', $userinfo['profilepicrequirement'], $userinfo)) { $can_view_profile_pic = false; } if ($can_view_profile_pic) { if ($vbulletin->options['usefileavatar'])
else { $redirect_phrase = 'redirect_reputationadd'; } if (!$vbulletin->GPC['ajax']) { $vbulletin->url = fetch_seo_url('thread', $threadinfo, array('p' => $postid)) . "#post$postid"; eval(print_standard_redirect($redirect_phrase)); // redirect or close window here } else { cache_permissions($userinfo); $post = $userinfo; $repdisplay = fetch_reputation_image($post, $userinfo['permissions']); require_once(DIR . '/includes/class_xml.php'); require_once(DIR . '/includes/functions_misc.php'); $xml = new vB_AJAX_XML_Builder($vbulletin, 'text/xml'); $xml->add_tag('reputation', process_replacement_vars(fetch_phrase($redirect_phrase, 'frontredirect', 'redirect_')), array( 'reppower' => fetch_reppower($userinfo, $userinfo['permissions']), 'repdisplay' => process_replacement_vars($post['reputationdisplay']), 'userid' => $userinfo['userid'], )); $xml->print_xml(); } } else { $vbulletin->input->clean_array_gpc('p', array(
/** * Processes this post's user info assuming the user is registered. */ function process_registered_user() { global $show, $vbphrase; $post =& $this->post; // this is a stopgap required for rank's eval code fetch_musername($this->post); // get online status -- function call also sets values in $this->post $this->post['online_status_code'] = fetch_online_status($this->post, true); if (empty($this->cache['perms'][$this->post['userid']])) { $this->cache['perms'][$this->post['userid']] = cache_permissions($this->post, false); } // get avatar if ($this->post['avatarid']) { $this->post['avatarurl'] = $this->post['avatarpath']; } else { if ($this->post['hascustomavatar'] AND $this->registry->options['avatarenabled']) { if ($this->registry->options['usefileavatar']) { $this->post['avatarurl'] = $this->registry->options['avatarurl'] . '/avatar' . $this->post['userid'] . '_' . $this->post['avatarrevision'] . '.gif'; } else { $this->post['avatarurl'] = 'image.php?' . $this->registry->session->vars['sessionurl'] . 'u=' . $this->post['userid'] . '&dateline=' . $this->post['avatardateline']; } if ($this->post['avwidth'] AND $this->post['avheight']) { $this->post['avwidth'] = 'width="' . $this->post['avwidth'] . '"'; $this->post['avheight'] = 'height="' . $this->post['avheight'] . '"'; } else { $this->post['avwidth'] = ''; $this->post['avheight'] = ''; } } else { $this->post['avatarurl'] = ''; } } if ( // no avatar defined for this user empty($this->post['avatarurl']) OR // visitor doesn't want to see avatars ($this->registry->userinfo['userid'] > 0 AND !$this->registry->userinfo['showavatars']) OR // user has a custom avatar but no permission to display it (!$this->post['avatarid'] AND !($this->cache['perms'][$this->post['userid']]['genericpermissions'] & $this->registry->bf_ugp_genericpermissions['canuseavatar']) AND !$this->post['adminavatar']) // ) { $show['avatar'] = false; } else { $show['avatar'] = true; } // Generate Reputation Power if ($this->registry->options['postelements'] & POST_SHOW_REPPOWER AND $this->registry->options['reputationenable']) { if (!empty($this->cache['reppower'][$this->post['userid']])) { $this->post['reppower'] = $this->cache['reppower'][$this->post['userid']]; } else { $this->post['reppower'] = fetch_reppower($this->post, $this->cache['perms'][$this->post['userid']]); $this->cache['reppower'][$this->post['userid']] = $this->post['reppower']; } $show['reppower'] = true; } else { $show['reppower'] = false; } // get reputation if ($this->registry->options['reputationenable']) { fetch_reputation_image($this->post, $this->cache['perms'][$this->post['userid']]); $show['reputation'] = true; } else { $show['reputation'] = false; } // get join date & posts per day $jointime = (TIMENOW - $this->post['joindate']) / 86400; // Days Joined if ($jointime < 1) { // User has been a member for less than one day. $this->post['postsperday'] = $this->post['posts']; } else { $this->post['postsperday'] = vb_number_format($this->post['posts'] / $jointime, 2); } $this->post['joindate'] = vbdate($this->registry->options['registereddateformat'], $this->post['joindate']); // format posts number $this->post['posts'] = vb_number_format($this->post['posts']); $show['profile'] = true; $show['search'] = true; $show['buddy'] = true; $show['emaillink'] = ( $this->post['showemail'] AND $this->registry->options['displayemails'] AND ( !$this->registry->options['secureemail'] OR ( $this->registry->options['secureemail'] AND $this->registry->options['enableemail'] ) ) AND $this->registry->userinfo['permissions']['genericpermissions'] & $this->registry->bf_ugp_genericpermissions['canemailmember'] AND $this->registry->userinfo['userid'] ); $show['homepage'] = ($this->post['homepage'] != '' AND $this->post['homepage'] != 'http://'); $show['pmlink'] = ($this->registry->options['enablepms'] AND $this->registry->userinfo['permissions']['pmquota'] AND ($this->registry->userinfo['permissions']['adminpermissions'] & $this->registry->bf_ugp_adminpermissions['cancontrolpanel'] OR ($this->post['receivepm'] AND $this->cache['perms'][$this->post['userid']]['pmquota']) )) ? true : false; // Generate Age if ($this->registry->options['postelements'] & POST_SHOW_AGE AND ($this->post['showbirthday'] == 1 OR $this->post['showbirthday'] == 2)) { if (!$this->cache['year']) { $this->cache['year'] = vbdate('Y', TIMENOW, false, false); $this->cache['month'] = vbdate('n', TIMENOW, false, false); $this->cache['day'] = vbdate('j', TIMENOW, false, false); } if (empty($this->cache['age'][$this->post['userid']])) { $date = explode('-', $this->post['birthday']); if ($this->cache['year'] > $date[2] AND $date[2] != '0000') { $this->post['age'] = $this->cache['year'] - $date[2]; if ($this->cache['month'] < $date[0] OR ($this->cache['month'] == $date[0] AND $this->cache['day'] < $date[1])) { $this->post['age']--; } if ($this->post['age'] < 101) { $this->cache['age'][$this->post['userid']] = $this->post['age']; } else { unset($this->post['age']); } } } else { $this->post['age'] = $this->cache['age'][$this->post['userid']]; } } // Display infractions $show['infraction'] = ($this->post['userid'] AND ($this->registry->options['postelements'] & POST_SHOW_INFRACTION) AND ( $this->post['ipoints'] OR $this->post['warnings'] OR $this->post['infractions']) AND ( $this->registry->userinfo['permissions']['genericpermissions'] & $this->registry->bf_ugp_genericpermissions['canreverseinfraction'] OR $this->registry->userinfo['permissions']['genericpermissions'] & $this->registry->bf_ugp_genericpermissions['canseeinfraction'] OR $this->registry->userinfo['permissions']['genericpermissions'] & $this->registry->bf_ugp_genericpermissions['cangiveinfraction'] OR ($this->post['userid'] == $this->registry->userinfo['userid'] /*AND $this->registry->options['canseeown']*/) )); // Moved to a function to allow child overriding, i.e. announcements $this->process_signature(); }
/** * Prepares the User's Reputation Display * */ function prepare_reputation() { if (!isset($this->prepared['reputationdisplay'])) { if (!isset($this->prepared['userperms'])) { $this->prepare('userperms'); } if ($this->registry->options['reputationenable']) { fetch_reputation_image($this->userinfo, $this->prepared['userperms']); } $this->prepared['level'] = $this->userinfo['level']; $this->prepared['reputationdisplay'] = $this->userinfo['reputationdisplay']; } }