"; $arr = (array)get_downloadspeed_row($user['download']); $name = $arr['name'] ?? ''; $download = "\"Downstream ".$name; $arr = (array)get_uploadspeed_row($user['upload']); $name = $arr['name'] ?? ''; $upload = "\"Upstream ".$name; $arr = get_isp_row($user['isp']); $name = $arr['name'] ?? ''; $isp = $name; if ($user["gender"] == "Male") $gender = "Male"; elseif ($user["gender"] == "Female") $gender = "Female"; elseif ($user["gender"] == "N/A") $gender = "N/A"; stdhead($lang_userdetails['head_details_for']. $user["username"]); $enabled = $user["enabled"] == 'yes'; $moviepicker = $user["picker"] == 'yes'; print("

" . get_username($user['id'], true,false) . $country."

"); if (!$enabled) print("

".$lang_userdetails['text_account_disabled_note']."

"); elseif ($CURUSER["id"] <> $user["id"]) { $r = sql_query("SELECT id FROM friends WHERE userid={$CURUSER['id']} AND friendid=$id") or sqlerr(__FILE__, __LINE__); $friend = mysql_num_rows($r); $r = sql_query("SELECT id FROM blocks WHERE userid={$CURUSER['id']} AND blockid=$id") or sqlerr(__FILE__, __LINE__); $block = mysql_num_rows($r); if ($friend) print("

(".$lang_userdetails['text_remove_from_friends'].")

\n"); elseif($block) print("

(".$lang_userdetails['text_remove_from_blocks'].")

\n"); else { print("

(".$lang_userdetails['text_add_to_friends'].")"); print(" - (".$lang_userdetails['text_add_to_blocks'].")

"); } } begin_main_frame(); if ($CURUSER['id'] == $user['id'] || get_user_class() >= $cruprfmanage_class) print("

".$lang_userdetails['text_flush_ghost_torrents']."".$lang_userdetails['text_here']."

\n"); ?> = $prfmanage_class) || $CURUSER['id'] == $user['id']){ //Xia Zuojie: Taste compatibility is extremely slow. It can takes thounsands of datebase queries. It is disabled until someone makes it fast. /* if (isset($CURUSER) && $CURUSER['id'] != $user['id']) { $user_snatched = sql_query("SELECT * FROM snatched WHERE userid = $CURUSER['id']") or sqlerr(__FILE__, __LINE__); if(mysql_num_rows($user_snatched) == 0) $compatibility_info = $lang_userdetails['text_unknown']; else { while ($user_snatched_arr = mysql_fetch_array($user_snatched)) { $torrent_2_user_value = get_torrent_2_user_value($user_snatched_arr); $user_snatched_res_target = sql_query("SELECT * FROM snatched WHERE torrentid = " . $user_snatched_arr['torrentid'] . " AND userid = " . $user['id']) or sqlerr(__FILE__, __LINE__); // if(mysql_num_rows($user_snatched_res_target) == 1) // have other peole snatched this torrent { $user_snatched_arr_target = mysql_fetch_array($user_snatched_res_target) or sqlerr(__FILE__, __LINE__); // find target user's current analyzing torrent's snatch info $torrent_2_user_value_target = get_torrent_2_user_value($user_snatched_arr_target); //get this torrent to target user's value if(!isset($other_user_2_curuser_value[$user_snatched_arr_target['userid']])) // first, set to 0 $other_user_2_curuser_value[$user_snatched_arr_target['userid']] = 0.0; $other_user_2_curuser_value[$user_snatched_arr_target['userid']] += $torrent_2_user_value_target * $torrent_2_user_value; } } $val = $other_user_2_curuser_value[$user['id']]; if ($val > 1) { $val = 1; $compatibility_info = $lang_userdetails['text_super']; $bar_url = "pic/loadbargreen.gif"; } elseif ($val > 0.7 && $val<=1) { $compatibility_info = $lang_userdetails['text_very_high']; $bar_url = "pic/loadbargreen.gif"; } elseif ($val > 0.45 && $val<=0.7) { $compatibility_info = $lang_userdetails['text_high']; $bar_url = "pic/loadbargreen.gif"; } elseif ($val > 0.2 && $val<=0.45) { $compatibility_info = $lang_userdetails['text_medium']; $bar_url = "pic/loadbaryellow.gif"; } elseif ($val > 0.05 && $val<=0.2) { $compatibility_info = $lang_userdetails['text_low']; $bar_url = "pic/loadbarred.gif"; } else { $val = 0; $compatibility_info = $lang_userdetails['text_very_low']; $bar_url = "pic/loadbarred.gif"; } $width = $val * 400; $compatibility_info = "
" . number_format($val * 100, 2) . "%   " . $compatibility_info . "
"; //die("ss" . htmlspecialchars($compatibility_info)); } print("".$lang_userdetails['row_compatibility']."". $compatibility_info ."\n"); } */ if ($CURUSER['id'] == $user['id'] || get_user_class() >= $viewinvite_class){ if ($user["invites"] <= 0) tr_small($lang_userdetails['row_invitation'], $lang_userdetails['text_no_invitation'], 1); else tr_small($lang_userdetails['row_invitation'], "".$user['invites']."", 1);} else{ if ($CURUSER['id'] != $user['id'] || get_user_class() != $viewinvite_class){ if ($user["invites"] <= 0) tr_small($lang_userdetails['row_invitation'], $lang_userdetails['text_no_invitation'], 1); else tr($lang_userdetails['row_invitation'], $user['invites'], 1);} } if ($user["invited_by"] > 0) { tr_small($lang_userdetails['row_invited_by'], get_username($user['invited_by']), 1); } tr_small($lang_userdetails['row_join_date'], $joindate, 1); tr_small($lang_userdetails['row_last_seen'], $lastseen, 1); if ($where_tweak == "yes") { tr_small($lang_userdetails['row_last_seen_location'], $user[page], 1); } if (get_user_class() >= $userprofile_class OR $user["privacy"] == "low") { tr_small($lang_userdetails['row_email'], "".$user['email']."", 1); } if (get_user_class() >= $userprofile_class) { $resip = sql_query("SELECT ip FROM iplog WHERE userid =$id GROUP BY ip") or sqlerr(__FILE__, __LINE__); $iphistory = mysql_num_rows($resip); if ($iphistory > 0) tr_small($lang_userdetails['row_ip_history'], $lang_userdetails['text_user_earlier_used']."" . $iphistory. $lang_userdetails['text_different_ips'].add_s($iphistory, true)."", 1); } if (get_user_class() >= $userprofile_class || $user["id"] == $CURUSER["id"]) { if ($enablelocation_tweak == 'yes'){ list($loc_pub, $loc_mod) = get_ip_location($user['ip']); $locationinfo = "[" . $loc_pub . "]"; } else $locationinfo = ""; tr_small($lang_userdetails['row_ip_address'], $user['ip'].$locationinfo, 1); } $res = sql_query("SELECT agent, peer_id, ip, port FROM peers WHERE userid = {$user['id']} GROUP BY agent") or sqlerr(); $clientselect = ""; if (mysql_num_rows($res) > 0) { $first = true; while($arr = mysql_fetch_assoc($res)) { $clientselect .= ($first == true ? "" : " ; ") . get_agent($arr["peer_id"], $arr["agent"]); $first = false; if (get_user_class() >= $userprofile_class || $user["id"] == $CURUSER["id"]) $clientselect .= " (" . $arr["ip"] . ":" . $arr["port"] . ")"; } } if ($clientselect) tr_small($lang_userdetails['row_bt_client'], $clientselect, 1); if ($user["downloaded"] > 0) { $sr = floor($user["uploaded"] / $user["downloaded"] * 1000) / 1000; $sr = "" . $lang_userdetails['row_share_ratio'] . ": " . number_format($sr, 3) . "  " . get_ratio_img($sr) . ""; } $xfer = "" . $lang_userdetails['row_uploaded'] . ": ". mksize($user["uploaded"]) . "  " . $lang_userdetails['row_downloaded'] . ": " . mksize($user["downloaded"]) . ""; tr_small($lang_userdetails['row_transfer'], "" . ($sr ?? '') . $xfer . "
", 1); if ($user["leechtime"] > 0) { $slr = floor($user["seedtime"] / $user["leechtime"] * 1000) / 1000; $slr = "" . $lang_userdetails['text_seeding_leeching_time_ratio'] . ": " . number_format($slr, 3) . "  " . get_ratio_img($slr) . ""; } $slt = "" . $lang_userdetails['text_seeding_time'] . ": ". mkprettytime($user["seedtime"]) . "  " . $lang_userdetails['text_leeching_time'] . ": " . mkprettytime($user["leechtime"]) . ""; tr_small($lang_userdetails['row_sltime'], "" . ($slr ?? '') . $slt . "
", 1); if ($user["download"] && $user["upload"]) tr_small($lang_userdetails['row_internet_speed'], $download."    ".$upload."    ".$isp, 1); tr_small($lang_userdetails['row_gender'], $gender, 1); if (($user['donated'] > 0 || $user['donated_cny'] > 0 )&& (get_user_class() >= $userprofile_class || $CURUSER["id"] == $user["id"])) tr_small($lang_userdetails['row_donated'], "$".htmlspecialchars($user['donated'])."      ".htmlspecialchars($user[donated_cny]), 1); if ($user["avatar"]) tr_small($lang_userdetails['row_avatar'], return_avatar_image(htmlspecialchars(trim($user["avatar"]))), 1); $uclass = get_user_class_image($user["class"]); tr_small($lang_userdetails['row_class'], "\"".get_user_class_name($user["class"],false,false,true)."\" ".($user['title']!=="" ? " ".htmlspecialchars(trim($user["title"]))."" : ""), 1); tr_small($lang_userdetails['row_torrent_comment'], ($torrentcomments && ($user["id"] == $CURUSER["id"] || get_user_class() >= $viewhistory_class) ? "".$torrentcomments."" : $torrentcomments), 1); tr_small($lang_userdetails['row_forum_posts'], ($forumposts && ($user["id"] == $CURUSER["id"] || get_user_class() >= $viewhistory_class) ? "".$forumposts."" : $forumposts), 1); if ($user["id"] == $CURUSER["id"] || get_user_class() >= $viewhistory_class) tr_small($lang_userdetails['row_karma_points'], htmlspecialchars($user['seedbonus']), 1); if ($user["ip"] && (get_user_class() >= $torrenthistory_class || $user["id"] == $CURUSER["id"])){ tr_small($lang_userdetails['row_uploaded_torrents'], "\"Show/Hide\" ".$lang_userdetails['text_show_or_hide']."
", 1); tr_small($lang_userdetails['row_current_seeding'], "\"Show/Hide\" ".$lang_userdetails['text_show_or_hide']."
", 1); tr_small($lang_userdetails['row_current_leeching'], "\"Show/Hide\" ".$lang_userdetails['text_show_or_hide']."
", 1); tr_small($lang_userdetails['row_completed_torrents'], "\"Show/Hide\" ".$lang_userdetails['text_show_or_hide']."
", 1); tr_small($lang_userdetails['row_incomplete_torrents'], "\"Show/Hide\" ".$lang_userdetails['text_show_or_hide']."
", 1); } if ($user["info"]) print("" . format_comment($user["info"],false) . "\n"); } else { print("".$lang_userdetails['text_public_access_denied'].$user['username'].$lang_userdetails['text_user_wants_privacy']."\n"); } $showpmbutton = 0; if ($CURUSER["id"] != $user["id"]) if (get_user_class() >= $staffmem_class) $showpmbutton = 1; elseif ($user["acceptpms"] == "yes") { $r = sql_query("SELECT id FROM blocks WHERE userid={$user['id']} AND blockid={$CURUSER['id']}") or sqlerr(__FILE__,__LINE__); $showpmbutton = (mysql_num_rows($r) == 1 ? 0 : 1); } elseif ($user["acceptpms"] == "friends") { $r = sql_query("SELECT id FROM friends WHERE userid={$user['id']} AND friendid={$CURUSER['id']}") or sqlerr(__FILE__,__LINE__); $showpmbutton = (mysql_num_rows($r) == 1 ? 1 : 0); } if ($CURUSER["id"] != $user["id"]){ print(""); if ($showpmbutton) print("\"PM\""); print("\"Report\""); print(""); } print("\n"); if (get_user_class() >= $prfmanage_class && $user["class"] < get_user_class()) { begin_frame($lang_userdetails['text_edit_user'], true); print("
"); print(""); print(""); print(""); print("\n"); tr($lang_userdetails['row_title'], "", 1); $avatar = htmlspecialchars(trim($user["avatar"])); tr($lang_userdetails['row_privacy_level'], "".$lang_userdetails['radio_low']."".$lang_userdetails['radio_normal']."".$lang_userdetails['radio_strong'], 1); tr($lang_userdetails['row_avatar_url'], "", 1); $signature = trim($user["signature"]); tr($lang_userdetails['row_signature'], "", 1); if (get_user_class() == UC_STAFFLEADER) { tr($lang_userdetails['row_donor_status'], "".$lang_userdetails['radio_yes']." ".$lang_userdetails['radio_no'], 1); tr($lang_userdetails['row_donated'], "USD:     CNY: " . $lang_userdetails['text_transaction_memo'] . "", 1); } if (get_user_class() == $prfmanage_class) $maxclass = UC_VIP; else $maxclass = get_user_class() - 1; $classselect=classlist('class', $maxclass, $user["class"]); tr($lang_userdetails['row_class'], $classselect, 1); tr($lang_userdetails['row_vip_by_bonus'], "".$lang_userdetails['radio_yes']." ".$lang_userdetails['radio_no']."
".$lang_userdetails['text_vip_by_bonus_note'], 1); tr($lang_userdetails['row_vip_until'], " ".$lang_userdetails['text_vip_until_note'], 1); $supportlang = htmlspecialchars($user["supportlang"]); $supportfor = htmlspecialchars($user["supportfor"]); $pickfor = htmlspecialchars($user["pickfor"]); $staffduties = htmlspecialchars($user["stafffor"]); tr($lang_userdetails['row_staff_duties'], "", 1); tr($lang_userdetails['row_support_language'], "", 1); tr($lang_userdetails['row_support'], "".$lang_userdetails['radio_yes']." ".$lang_userdetails['radio_no'], 1); tr($lang_userdetails['row_support_for'], "", 1); tr($lang_userdetails['row_movie_picker'], "".$lang_userdetails['radio_yes']."".$lang_userdetails['radio_no'], 1); tr($lang_userdetails['row_pick_for'], "", 1); if (get_user_class() >= $cruprfmanage_class) { $modcomment = htmlspecialchars($user["modcomment"]); tr($lang_userdetails['row_comment'], "", 1); $bonuscomment = htmlspecialchars($user["bonuscomment"]); tr($lang_userdetails['row_seeding_karma'], "", 1); } $warned = $user["warned"] == "yes"; print(""); tr($lang_userdetails['row_enabled'], "".$lang_userdetails['radio_yes']."".$lang_userdetails['radio_no'], 1); tr($lang_userdetails['row_forum_post_possible'], "".$lang_userdetails['radio_yes']."".$lang_userdetails['radio_no'], 1); tr($lang_userdetails['row_upload_possible'], "".$lang_userdetails['radio_yes']."".$lang_userdetails['radio_no'], 1); tr($lang_userdetails['row_download_possible'], "".$lang_userdetails['radio_yes']."".$lang_userdetails['radio_no'], 1); tr($lang_userdetails['row_show_ad'], "".$lang_userdetails['radio_yes']."".$lang_userdetails['radio_no'], 1); tr($lang_userdetails['row_no_ad_until'], " ".$lang_userdetails['text_no_ad_until_note'], 1); if (get_user_class() >= $cruprfmanage_class) { tr($lang_userdetails['row_change_username'], "", 1); tr($lang_userdetails['row_change_email'], "", 1); } tr($lang_userdetails['row_change_password'], "", 1); tr($lang_userdetails['row_repeat_password'], "", 1); if (get_user_class() >= $cruprfmanage_class) { tr($lang_userdetails['row_amount_uploaded'], "", 1); tr($lang_userdetails['row_amount_downloaded'], "", 1); tr($lang_userdetails['row_seeding_karma'], "", 1); tr($lang_userdetails['row_invites'], "", 1); } tr($lang_userdetails['row_passkey'], "".$lang_userdetails['checkbox_reset_passkey'], 1); print("\n"); print("
".$lang_userdetails['row_warning_system'].""); if ($warned) { $warneduntil = $user['warneduntil']; if ($warneduntil == '0000-00-00 00:00:00' || $warneduntil == null) print("\n"); else { print("\n"); } print(""); }else{ print("\n"); print(""); } $elapsedlw = get_elapsed_time(strtotime($user["lastwarned"])); print("\n"); if ($user["timeswarned"] == 0) { print("\n"); }else{ if ($user["warnedby"] != "System") { $res = sql_query("SELECT id, username, warnedby FROM users WHERE id = " . $user['warnedby']) or sqlerr(__FILE__,__LINE__); $arr = mysql_fetch_assoc($res); $warnedby = "
[".$lang_userdetails['text_by']."" . get_username($arr['id']) . "]"; }else{ $warnedby = "
[".$lang_userdetails['text_by_system']."]"; print("\n"); } print("\n"); } $leechwarn = $user["leechwarn"] == "yes"; print(""); if ($leechwarn) { print(""); }else{ print("\n"); } print("
" . ($warned ? "".$lang_userdetails['radio_yes']."".$lang_userdetails['radio_no'] : $lang_userdetails['text_not_warned'] ) ."".$lang_userdetails['text_arbitrary_duration']."".$lang_userdetails['text_until'].$warneduntil); print("
(" . mkprettytime(strtotime($warneduntil) - strtotime(date("Y-m-d H:i:s"))) .$lang_userdetails['text_to_go'] .")
".$lang_userdetails['text_warn_for']."
".$lang_userdetails['text_reason_of_warning']."
".$lang_userdetails['text_times_warned']."".$user['timeswarned']."
".$lang_userdetails['text_last_warning']."".$lang_userdetails['text_not_warned_note']."
".$lang_userdetails['text_last_warning']." $user[lastwarned] .(".$lang_userdetails['text_until'] ."$elapsedlw) $warnedby
".$lang_userdetails['text_last_warning']." $user[lastwarned] ($elapsedlw".$lang_userdetails['text_ago'].") ".$warnedby."
".$lang_userdetails['row_auto_warning']."
(".$lang_userdetails['text_low_ratio'].")
".$lang_userdetails['text_leech_warned']." "); $leechwarnuntil = $user['leechwarnuntil']; if ($leechwarnuntil != '0000-00-00 00:00:00' || $leechwarnuntil != null) { print($lang_userdetails['text_until'].$leechwarnuntil); print("
(" . mkprettytime(strtotime($leechwarnuntil) - strtotime(date("Y-m-d H:i:s"))) .$lang_userdetails['text_to_go'].")"); }else{ print("".$lang_userdetails['text_for_unlimited_time'].""); } print("
".$lang_userdetails['text_no_warned']."
\n"); print("
\n"); end_frame(); if (get_user_class() >= $cruprfmanage_class) { begin_frame($lang_userdetails['text_delete_user'], true); print("
"); end_frame(); } } end_main_frame(); stdfoot(); ?>