enqueue(array( 'ranks', )); if (empty($_GET[POST_USERS_URL]) || $_GET[POST_USERS_URL] == GUEST_UID) { bb_die($lang['NO_USER_ID_SPECIFIED']); } if (!$profiledata = get_userdata($_GET[POST_USERS_URL])) { bb_die($lang['NO_USER_ID_SPECIFIED']); } if (!$userdata['session_logged_in']) { redirect(LOGIN_URL . "?redirect={$_SERVER['REQUEST_URI']}"); } if (!$ranks = $datastore->get('ranks')) { $datastore->update('ranks'); $ranks = $datastore->get('ranks'); } $poster_rank = $rank_image= $rank_style = $rank_select = ''; if ($user_rank = $profiledata['user_rank'] AND isset($ranks[$user_rank])) { $rank_image = ($ranks[$user_rank]['rank_image']) ? '' : ''; $poster_rank = $ranks[$user_rank]['rank_title']; $rank_style = $ranks[$user_rank]['rank_style']; } if (IS_ADMIN) { $rank_select = array($lang['NONE'] => 0); foreach ($ranks as $row) { $rank_select[$row['rank_title']] = $row['rank_id']; } $rank_select = build_select('rank-sel', $rank_select, $user_rank); } if (bf($profiledata['user_opt'], 'user_opt', 'user_viewemail') || $profiledata['user_id'] == $userdata['user_id'] || IS_AM) { $email_uri = ($bb_cfg['board_email_form']) ? 'profile.php?mode=email&'. POST_USERS_URL .'='. $profiledata['user_id'] : 'mailto:'. $profiledata['user_email']; $email = ''. $profiledata['user_email'] .''; } else { $email = ''; } // Medal MOD // // Category // $sql = "SELECT cat_id, cat_title FROM " . BB_MEDAL_CAT . " ORDER BY cat_order"; if( !($result = DB()->sql_query($sql)) ) { bb_die('Could not query medal categories list'); $category_rows = array(); while ( $row = DB()->sql_fetchrow($result) ) { $category_rows[] = $row; } DB()->sql_freeresult($result); $sql = "SELECT m.medal_id, mu.user_id FROM " . BB_MEDAL . " m, " . BB_MEDAL_USER . " mu WHERE mu.user_id = '" . $profiledata['user_id'] . "' AND m.medal_id = mu.medal_id ORDER BY m.medal_name"; if($result = DB()->sql_query($sql)) { $medal_list = DB()->sql_fetchrowset($result); $medal_count = count($medal_list); if ( $medal_count ) { $medal_count = '' . $medal_count . ''; $template->assign_block_vars('switch_display_medal', array()); $template->assign_block_vars('switch_display_medal.medal', array( 'MEDAL_BUTTON' => '') ); } } for ($i = 0; $i < count($category_rows); $i++) { $cat_id = $category_rows[$i]['cat_id']; $sql = "SELECT m.medal_id, m.medal_name,m.medal_description, m.medal_image, m.cat_id, mu.issue_reason, mu.issue_time, c.cat_id, c.cat_title FROM " . BB_MEDAL . " m, " . BB_MEDAL_USER . " mu, " . BB_MEDAL_CAT . " c WHERE mu.user_id = '" . $profiledata['user_id'] . "' AND m.cat_id = c.cat_id AND m.medal_id = mu.medal_id ORDER BY c.cat_order, m.medal_name, mu.issue_time"; if ($result = DB()->sql_query($sql)) { $row = $rowset = array(); $medal_time = $lang['Medal_time'] . ': '; $medal_reason = $lang['Medal_reason'] . ': '; while ($row = DB()->sql_fetchrow($result)) { if (empty($rowset[$row['medal_name']])) { $rowset[$row['medal_name']]['cat_id'] = $row['cat_id']; $rowset[$row['medal_name']]['cat_title'] = $row['cat_title']; $rowset[$row['medal_name']]['medal_description'] = $row['medal_description']; $rowset[$row['medal_name']]['medal_image'] = $row['medal_image']; $row['issue_reason'] = ( $row['issue_reason'] ) ? $row['issue_reason'] : $lang['Medal_no_reason']; $rowset[$row['medal_name']]['medal_issue'] = '' . $medal_time . bb_date($row['issue_time']) . '' . $medal_reason . $row['issue_reason'] . '
'; $rowset[$row['medal_name']]['medal_count'] = '1'; } else { $row['issue_reason'] = ( $row['issue_reason'] ) ? $row['issue_reason'] : $lang['Medal_no_reason']; $rowset[$row['medal_name']]['medal_issue'] .= '' . $medal_time . bb_date($row['issue_time']) . '' . $medal_reason . $row['issue_reason'] . '
'; $rowset[$row['medal_name']]['medal_count'] += '1'; } } $medal_width = ( $bb_cfg['medal_display_width'] ) ? 'width="'.$bb_cfg['medal_display_width'].'"' : ''; $medal_height = ( $bb_cfg['medal_display_height'] ) ? 'height="'.$bb_cfg['medal_display_height'].'"' : ''; $medal_name = array(); $data = array(); // // Should we display this category/medal set? // $display_medal = 0; while (list($medal_name, $data) = @each($rowset)) { if ( $cat_id == $data['cat_id'] ) { $display_medal = 1; } if ( !empty($display_medal) ) { $template->assign_block_vars('switch_display_medal.details', array( 'MEDAL_CAT' => $data['cat_title'], 'MEDAL_NAME' => $medal_name, 'MEDAL_DESCRIPTION' => $data['medal_description'], 'MEDAL_IMAGE' => '' . $medal_name . '', 'MEDAL_IMAGE_SMALL' => '' . $medal_name . '', 'MEDAL_ISSUE' => $data['medal_issue'], 'MEDAL_COUNT' => $lang['Medal_amount'] . $data['medal_count'], 'L_MEDAL_DESCRIPTION' => $lang['Medal_description']) ); $display_medal = 0; } } } } //Medal MOD [END] // Report // // Get report user module and create report link // include(INC_DIR ."functions_report.php"); $report_user = report_modules('name', 'report_user'); if ($report_user && $report_user->auth_check('auth_write')) { $template->assign_block_vars('switch_report_user', array()); $template->assign_vars(array( 'U_REPORT_USER' => 'report.php?mode='. $report_user->mode .'&id='. $profiledata['user_id'], 'L_REPORT_USER' => $report_user->lang['WRITE_REPORT']) ); } // Report [END] // // Generate page // $profile_user_id = ($profiledata['user_id'] == $userdata['user_id']); $signature = ($bb_cfg['allow_sig'] && $profiledata['user_sig']) ? $profiledata['user_sig'] : ''; if(bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) { if($profile_user_id) { $signature = $lang['SIGNATURE_DISABLE']; } else { $signature = ''; } } else if ($signature) { $signature = bbcode2html($signature); } $template->assign_vars(array( 'PAGE_TITLE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']), 'USERNAME' => $profiledata['username'], 'PROFILE_USER_ID' => $profiledata['user_id'], 'PROFILE_USER' => $profile_user_id, 'USER_REGDATE' => bb_date($profiledata['user_regdate'], 'Y-m-d H:i', false), 'POSTER_RANK' => ($poster_rank) ? "". $poster_rank ."" : $lang['USER'], 'RANK_IMAGE' => $rank_image, 'RANK_SELECT' => $rank_select, 'POSTS' => $profiledata['user_posts'], 'PM' => ''. $lang['SEND_PRIVATE_MESSAGE'] .'', 'EMAIL' => $email, 'WWW' => $profiledata['user_website'], 'ICQ' => $profiledata['user_icq'], 'LAST_VISIT_TIME' => ($profiledata['user_lastvisit']) ? (bf($profiledata['user_opt'], 'user_opt', 'user_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_lastvisit'], 'Y-m-d H:i', false) : $lang['NEVER'], 'LAST_ACTIVITY_TIME' => ($profiledata['user_session_time']) ? (bf($profiledata['user_opt'], 'user_opt', 'user_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_session_time'], 'Y-m-d H:i', false) : $lang['NEVER'], 'USER_ACTIVE' => $profiledata['user_active'], 'LOCATION' => $profiledata['user_from'], 'OCCUPATION' => $profiledata['user_occ'], 'INTERESTS' => $profiledata['user_interests'], 'SKYPE' => $profiledata['user_skype'], 'TWITTER' => $profiledata['user_twitter'], 'USER_POINTS' => $profiledata['user_points'], 'GENDER' => ($bb_cfg['gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '', 'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? $profiledata['user_birthday'] : '', 'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '', 'L_VIEWING_PROFILE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']), 'L_MY_PROFILE' => sprintf($lang['VIEWING_MY_PROFILE'], 'profile.php?mode=editprofile'), 'U_SEARCH_USER' => "search.php?search_author=1&uid={$profiledata['user_id']}", 'U_SEARCH_TOPICS' => "search.php?uid={$profiledata['user_id']}&myt=1", 'U_SEARCH_RELEASES' => "tracker.php?rid={$profiledata['user_id']}#results", 'AVATAR_IMG' => get_avatar($profiledata['user_id'], $profiledata['avatar_ext_id'], !bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')), 'SIGNATURE' => $signature, 'SHOW_PASSKEY' => (IS_ADMIN || $profile_user_id), 'SHOW_ROLE' => (IS_AM || $profile_user_id || $profiledata['user_active']), 'GROUP_MEMBERSHIP' => false, 'TRAF_STATS' => !(IS_AM || $profile_user_id), 'L_USER_MEDAL' => $lang['Medals'], // Medal MOD 'USER_MEDAL_COUNT' => $medal_count, // Medal MOD 'L_MEDAL_INFORMATION' => $lang['Medal_Information'], // Medal MOD 'L_MEDAL_NAME' => $lang['Medal_name'], // Medal MOD 'L_MEDAL_DETAIL' => $lang['Medal_details'], // Medal MOD )); if (IS_ADMIN) { $group_membership = array(); $sql = " SELECT COUNT(g.group_id) AS groups_cnt, g.group_single_user, ug.user_pending FROM ". BB_USER_GROUP ." ug LEFT JOIN ". BB_GROUPS ." g USING(group_id) WHERE ug.user_id = {$profiledata['user_id']} GROUP BY ug.user_id, g.group_single_user, ug.user_pending ORDER BY NULL"; if ($rowset = DB()->fetch_rowset($sql)) { $member = $pending = $single = 0; foreach ($rowset as $row) { if (!$row['group_single_user'] && !$row['user_pending']) { $member = $row['groups_cnt']; } else if (!$row['group_single_user'] && $row['user_pending']) { $pending = $row['groups_cnt']; } else if ($row['group_single_user']) { $single = $row['groups_cnt']; } } if ($member) $group_membership[] = $lang['PARTY'] ." $member"; if ($pending) $group_membership[] = $lang['CANDIDATE'] ." $pending"; if ($single) $group_membership[] = $lang['INDIVIDUAL']; $group_membership = join(', ', $group_membership); } $template->assign_vars(array( 'GROUP_MEMBERSHIP' => (bool) $group_membership, 'GROUP_MEMBERSHIP_TXT' => $group_membership, )); } else if (IS_MOD) { $template->assign_vars(array( 'SHOW_GROUP_MEMBERSHIP' => ($profiledata['user_level'] != USER), )); } // Show users torrent-profile if (IS_AM || $profile_user_id || !bf($profiledata['user_opt'], 'user_opt', 'user_dls')) { require(INC_DIR .'ucp/viewtorrent.php'); } // Ajax bt_userdata if (IS_AM || $profile_user_id) { show_bt_userdata($profiledata['user_id']); } else { $template->assign_vars(array( 'DOWN_TOTAL_BYTES' => false, 'MIN_DL_BYTES' => false, )); } if (IS_ADMIN) { $ajax_user_opt = bb_json_encode(array( 'dis_avatar' => bf($profiledata['user_opt'], 'user_opt', 'dis_avatar'), 'dis_sig' => bf($profiledata['user_opt'], 'user_opt', 'dis_sig'), 'dis_passkey' => bf($profiledata['user_opt'], 'user_opt', 'dis_passkey'), 'dis_pm' => bf($profiledata['user_opt'], 'user_opt', 'dis_pm'), 'dis_post' => bf($profiledata['user_opt'], 'user_opt', 'dis_post'), 'dis_post_edit' => bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit'), 'dis_topic' => bf($profiledata['user_opt'], 'user_opt', 'dis_topic'), )); $template->assign_vars(array( 'EDITABLE_TPLS' => true, 'AJAX_USER_OPT' => $ajax_user_opt, 'U_MANAGE' => "profile.php?mode=editprofile&u={$profiledata['user_id']}", 'U_PERMISSIONS' => "admin/admin_ug_auth.php?mode=user&u={$profiledata['user_id']}", )); } $user_restrictions = array(); if (bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS']; if (bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) $user_restrictions[] = $lang['SHOW_CAPTION']; if (bf($profiledata['user_opt'], 'user_opt', 'dis_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT']; if (bf($profiledata['user_opt'], 'user_opt', 'dis_pm')) $user_restrictions[] = $lang['SEND_PM']; if (bf($profiledata['user_opt'], 'user_opt', 'dis_post')) $user_restrictions[] = $lang['SEND_MESSAGE']; if (bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit')) $user_restrictions[] = $lang['EDIT_POST']; if (bf($profiledata['user_opt'], 'user_opt', 'dis_topic')) $user_restrictions[] = $lang['NEW_THREADS']; $template->assign_var('USER_RESTRICTIONS', join('
  • ', $user_restrictions)); print_page('usercp_viewprofile.tpl');