2011-03-28 14:21:28 +00:00
< ?
include ( SERVER_ROOT . '/classes/class_text.php' ); // Text formatting class
$Text = new TEXT ;
include ( SERVER_ROOT . '/sections/requests/functions.php' );
if ( empty ( $_GET [ 'id' ]) || ! is_numeric ( $_GET [ 'id' ])) { error ( 0 ); }
$UserID = $_GET [ 'id' ];
if ( $UserID == $LoggedUser [ 'ID' ]) {
$OwnProfile = true ;
} else {
$OwnProfile = false ;
}
if ( check_perms ( 'users_mod' )) { // Person viewing is a staff member
$DB -> query ( " SELECT
m . Username ,
m . Email ,
m . LastAccess ,
m . IP ,
p . Level AS Class ,
m . Uploaded ,
m . Downloaded ,
m . RequiredRatio ,
m . Title ,
m . torrent_pass ,
m . Enabled ,
m . Paranoia ,
m . Invites ,
m . can_leech ,
m . Visible ,
i . JoinDate ,
i . Info ,
i . Avatar ,
i . Country ,
i . AdminComment ,
i . Donor ,
i . Artist ,
i . Warned ,
i . SupportFor ,
i . RestrictedForums ,
2011-10-11 08:00:15 +00:00
i . PermittedForums ,
2011-03-28 14:21:28 +00:00
i . Inviter ,
inviter . Username ,
COUNT ( posts . id ) AS ForumPosts ,
i . RatioWatchEnds ,
i . RatioWatchDownload ,
i . DisableAvatar ,
i . DisableInvites ,
i . DisablePosting ,
i . DisableForums ,
i . DisableTagging ,
i . DisableUpload ,
i . DisableWiki ,
i . DisablePM ,
i . DisableIRC ,
i . DisableRequests ,
2011-10-08 08:00:14 +00:00
i . HideCountryChanges ,
m . FLTokens
2011-03-28 14:21:28 +00:00
FROM users_main AS m
JOIN users_info AS i ON i . UserID = m . ID
LEFT JOIN users_main AS inviter ON i . Inviter = inviter . ID
LEFT JOIN permissions AS p ON p . ID = m . PermissionID
LEFT JOIN forums_posts AS posts ON posts . AuthorID = m . ID
WHERE m . ID = '".$UserID."' GROUP BY AuthorID " );
if ( $DB -> record_count () == 0 ) { // If user doesn't exist
header ( " Location: log.php?search=User+ " . $UserID );
}
2011-10-11 08:00:15 +00:00
list ( $Username , $Email , $LastAccess , $IP , $Class , $Uploaded , $Downloaded , $RequiredRatio , $CustomTitle , $torrent_pass , $Enabled , $Paranoia , $Invites , $DisableLeech , $Visible , $JoinDate , $Info , $Avatar , $Country , $AdminComment , $Donor , $Artist , $Warned , $SupportFor , $RestrictedForums , $PermittedForums , $InviterID , $InviterName , $ForumPosts , $RatioWatchEnds , $RatioWatchDownload , $DisableAvatar , $DisableInvites , $DisablePosting , $DisableForums , $DisableTagging , $DisableUpload , $DisableWiki , $DisablePM , $DisableIRC , $DisableRequests , $DisableCountry , $FLTokens ) = $DB -> next_record ( MYSQLI_NUM , array ( 8 , 11 ));
2011-03-28 14:21:28 +00:00
} else { // Person viewing is a normal user
$DB -> query ( " SELECT
m . Username ,
m . Email ,
m . LastAccess ,
m . IP ,
p . Level AS Class ,
m . Uploaded ,
m . Downloaded ,
m . RequiredRatio ,
m . Enabled ,
m . Paranoia ,
m . Invites ,
m . Title ,
m . torrent_pass ,
m . can_leech ,
i . JoinDate ,
i . Info ,
i . Avatar ,
2011-10-30 08:00:11 +00:00
m . FLTokens ,
2011-03-28 14:21:28 +00:00
i . Country ,
i . Donor ,
i . Warned ,
COUNT ( posts . id ) AS ForumPosts ,
i . Inviter ,
i . DisableInvites ,
inviter . username
FROM users_main AS m
JOIN users_info AS i ON i . UserID = m . ID
LEFT JOIN permissions AS p ON p . ID = m . PermissionID
LEFT JOIN users_main AS inviter ON i . Inviter = inviter . ID
LEFT JOIN forums_posts AS posts ON posts . AuthorID = m . ID
WHERE m . ID = $UserID GROUP BY AuthorID " );
if ( $DB -> record_count () == 0 ) { // If user doesn't exist
header ( " Location: log.php?search=User+ " . $UserID );
}
2011-10-30 08:00:11 +00:00
list ( $Username , $Email , $LastAccess , $IP , $Class , $Uploaded , $Downloaded , $RequiredRatio , $Enabled , $Paranoia , $Invites , $CustomTitle , $torrent_pass , $DisableLeech , $JoinDate , $Info , $Avatar , $FLTokens , $Country , $Donor , $Warned , $ForumPosts , $InviterID , $DisableInvites , $InviterName , $RatioWatchEnds , $RatioWatchDownload ) = $DB -> next_record ( MYSQLI_NUM , array ( 9 , 11 ));
2011-03-28 14:21:28 +00:00
}
2011-09-22 08:00:12 +00:00
// Image proxy CTs
$DisplayCustomTitle = $CustomTitle ;
if ( check_perms ( 'site_proxy_images' ) && ! empty ( $CustomTitle )) {
2011-09-23 08:00:11 +00:00
$DisplayCustomTitle = preg_replace_callback ( '~src=("?)(http.+?)(["\s>])~' , function ( $Matches ) {
2011-09-22 08:00:12 +00:00
return 'src=' . $Matches [ 1 ] . 'http' . ( $SSL ? 's' : '' ) . '://' . SITE_URL . '/image.php?c=1&i=' . urlencode ( $Matches [ 2 ]) . $Matches [ 3 ];
}, $CustomTitle );
}
2011-03-28 14:21:28 +00:00
$Paranoia = unserialize ( $Paranoia );
if ( ! is_array ( $Paranoia )) {
$Paranoia = array ();
}
$ParanoiaLevel = 0 ;
foreach ( $Paranoia as $P ) {
$ParanoiaLevel ++ ;
if ( strpos ( $P , '+' )) {
$ParanoiaLevel ++ ;
}
}
$JoinedDate = time_diff ( $JoinDate );
$LastAccess = time_diff ( $LastAccess );
function check_paranoia_here ( $Setting ) {
global $Paranoia , $Class , $UserID ;
return check_paranoia ( $Setting , $Paranoia , $Class , $UserID );
}
$Badges = ( $Donor ) ? '<a href="donate.php"><img src="' . STATIC_SERVER . 'common/symbols/donor.png" alt="Donor" /></a>' : '' ;
$Badges .= ( $Warned != '0000-00-00 00:00:00' ) ? '<img src="' . STATIC_SERVER . 'common/symbols/warned.png" alt="Warned" />' : '' ;
$Badges .= ( $Enabled == '1' || $Enabled == '0' || ! $Enabled ) ? '' : '<img src="' . STATIC_SERVER . 'common/symbols/disabled.png" alt="Banned" />' ;
2011-06-27 08:00:06 +00:00
show_header ( $Username , 'user,bbcode,requests' );
2011-03-28 14:21:28 +00:00
?>
< div class = " thin " >
< h2 >< ? = $Username ?> </h2>
< div class = " linkbox " >
< ? if ( ! $OwnProfile ) { ?>
[ < a href = " inbox.php?action=compose&to=<?= $UserID ?> " > Send Message </ a > ]
< ? $DB -> query ( " SELECT FriendID FROM friends WHERE UserID=' $LoggedUser[ID] ' AND FriendID=' $UserID ' " );
if ( $DB -> record_count () == 0 ) { ?>
[ < a href = " friends.php?action=add&friendid=<?= $UserID ?>&auth=<?= $LoggedUser['AuthKey'] ?> " > Add to friends </ a > ]
< ? } ?>
[ < a href = " reports.php?action=report&type=user&id=<?= $UserID ?> " > Report User </ a > ]
< ?
}
if ( check_perms ( 'users_edit_profiles' , $Class )) {
?>
[ < a href = " user.php?action=edit&userid=<?= $UserID ?> " > Settings </ a > ]
< ? }
if ( check_perms ( 'users_view_invites' , $Class )) {
?>
[ < a href = " user.php?action=invite&userid=<?= $UserID ?> " > Invites </ a > ]
< ? }
if ( check_perms ( 'admin_manage_permissions' , $Class )) {
?>
[ < a href = " user.php?action=permissions&userid=<?= $UserID ?> " > Permissions </ a > ]
< ? }
if ( check_perms ( 'users_logout' , $Class ) && check_perms ( 'users_view_ips' , $Class )) {
?>
[ < a href = " user.php?action=sessions&userid=<?= $UserID ?> " > Sessions </ a > ]
< ? }
if ( check_perms ( 'admin_reports' )) {
?>
[ < a href = " reportsv2.php?view=reporter&id=<?= $UserID ?> " > Reports </ a > ]
< ? }
2011-10-08 08:00:14 +00:00
if ( check_perms ( 'users_mod' )) {
2011-03-28 14:21:28 +00:00
?>
2011-10-27 08:00:15 +00:00
[ < a href = " userhistory.php?action=token_history&userid=<?= $UserID ?> " > FL Tokens </ a > ]
2011-10-08 08:00:14 +00:00
< ? } ?>
2011-03-28 14:21:28 +00:00
</ div >
< div class = " sidebar " >
< ? if ( $Avatar && empty ( $HeavyInfo [ 'DisableAvatars' ])) {
if ( check_perms ( 'site_proxy_images' ) && ! empty ( $Avatar )) {
2011-07-13 08:00:06 +00:00
$Avatar = 'http' . ( $SSL ? 's' : '' ) . '://' . SITE_URL . '/image.php?c=1&avatar=' . $UserID . '&i=' . urlencode ( $Avatar );
2011-03-28 14:21:28 +00:00
}
?>
< div class = " box " >
< div class = " head colhead_dark " > Avatar </ div >
< div align = " center " >< img src = " <?=display_str( $Avatar )?> " width = " 150 " style = " max-height:400px; " alt = " <?= $Username ?>'s avatar " /></ div >
</ div >
< ? } ?>
< div class = " box " >
< div class = " head colhead_dark " > Stats </ div >
< ul class = " stats nobullet " >
< li > Joined : < ? = $JoinedDate ?> </li>
< ? if ( check_paranoia_here ( 'lastseen' )) { ?>
< li > Last Seen : < ? = $LastAccess ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'uploaded' )) { ?>
< li > Uploaded : < ? = get_size ( $Uploaded ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'downloaded' )) { ?>
< li > Downloaded : < ? = get_size ( $Downloaded ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'ratio' )) { ?>
< li > Ratio : < ? = ratio ( $Uploaded , $Downloaded ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'requiredratio' ) && isset ( $RequiredRatio )) { ?>
< li > Required ratio : < ? = number_format (( double ) $RequiredRatio , 2 ) ?> </li>
2011-10-27 08:00:15 +00:00
< ? } ?>
2011-11-03 08:00:19 +00:00
< ? if ( $OwnProfile || check_paranoia_here ( false )) { //if ($OwnProfile || check_perms('users_mod')) { ?>
2011-10-29 08:00:15 +00:00
< li >< a href = " userhistory.php?action=token_history&userid=<?= $UserID ?> " > Tokens </ a >: < ? = number_format ( $FLTokens ) ?> </li>
2011-03-28 14:21:28 +00:00
< ? } ?>
</ ul >
</ div >
< ?
if ( check_paranoia_here ( 'requestsfilled_count' ) || check_paranoia_here ( 'requestsfilled_bounty' )) {
$DB -> query ( " SELECT COUNT(DISTINCT r.ID), SUM(rv.Bounty) FROM requests AS r LEFT JOIN requests_votes AS rv ON r.ID=rv.RequestID WHERE r.FillerID = " . $UserID );
list ( $RequestsFilled , $TotalBounty ) = $DB -> next_record ();
$DB -> query ( " SELECT COUNT(rv.RequestID), SUM(rv.Bounty) FROM requests_votes AS rv WHERE rv.UserID = " . $UserID );
list ( $RequestsVoted , $TotalSpent ) = $DB -> next_record ();
$DB -> query ( " SELECT COUNT(ID) FROM torrents WHERE UserID=' $UserID ' " );
list ( $Uploads ) = $DB -> next_record ();
} else {
$RequestsVoted = 0 ;
$TotalSpent = 0 ;
}
if ( check_paranoia_here ( 'uploads+' )) {
$DB -> query ( " SELECT COUNT(ID) FROM torrents WHERE UserID=' $UserID ' " );
list ( $Uploads ) = $DB -> next_record ();
} else {
$Uploads = 0 ;
}
if ( check_paranoia_here ( 'artistsadded' )) {
$DB -> query ( " SELECT COUNT(ta.ArtistID) FROM torrents_artists AS ta WHERE ta.UserID = " . $UserID );
list ( $ArtistsAdded ) = $DB -> next_record ();
} else {
$ArtistsAdded = 0 ;
}
2011-11-11 08:00:13 +00:00
include ( SERVER_ROOT . '/classes/class_user_rank.php' );
2011-03-28 14:21:28 +00:00
$Rank = new USER_RANK ;
$UploadedRank = $Rank -> get_rank ( 'uploaded' , $Uploaded );
$DownloadedRank = $Rank -> get_rank ( 'downloaded' , $Downloaded );
$UploadsRank = $Rank -> get_rank ( 'uploads' , $Uploads );
$RequestRank = $Rank -> get_rank ( 'requests' , $RequestsFilled );
$PostRank = $Rank -> get_rank ( 'posts' , $ForumPosts );
$BountyRank = $Rank -> get_rank ( 'bounty' , $TotalSpent );
$ArtistsRank = $Rank -> get_rank ( 'artists' , $ArtistsAdded );
if ( $Downloaded == 0 ) {
$Ratio = 1 ;
} elseif ( $Uploaded == 0 ) {
$Ratio = 0.5 ;
} else {
$Ratio = round ( $Uploaded / $Downloaded , 2 );
}
2011-11-11 08:00:13 +00:00
$OverallRank = $Rank -> overall_score ( $UploadedRank , $DownloadedRank , $UploadsRank , $RequestRank , $PostRank , $BountyRank , $ArtistsRank , $Ratio );
2011-03-28 14:21:28 +00:00
?>
< div class = " box " >
< div class = " head colhead_dark " > Percentile Rankings ( Hover for values ) </ div >
< ul class = " stats nobullet " >
< ? if ( check_paranoia_here ( 'uploaded' )) { ?>
< li title = " <?=get_size( $Uploaded )?> " > Data uploaded : < ? = number_format ( $UploadedRank ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'downloaded' )) { ?>
< li title = " <?=get_size( $Downloaded )?> " > Data downloaded : < ? = number_format ( $DownloadedRank ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'uploads+' )) { ?>
< li title = " <?= $Uploads ?> " > Torrents uploaded : < ? = number_format ( $UploadsRank ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'requestsfilled_count' )) { ?>
< li title = " <?= $RequestsFilled ?> " > Requests filled : < ? = number_format ( $RequestRank ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'requestsvoted_bounty' )) { ?>
< li title = " <?=get_size( $TotalSpent )?> " > Bounty spent : < ? = number_format ( $BountyRank ) ?> </li>
< ? } ?>
< li title = " <?= $ForumPosts ?> " > Posts made : < ? = number_format ( $PostRank ) ?> </li>
< ? if ( check_paranoia_here ( 'artistsadded' )) { ?>
< li title = " <?= $ArtistsAdded ?> " > Artists added : < ? = number_format ( $ArtistsRank ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( array ( 'uploaded' , 'downloaded' , 'uploads+' , 'requestsfilled_count' , 'requestsvoted_bounty' , 'artistsadded' ))) { ?>
< li >< strong > Overall rank : < ? = number_format ( $OverallRank ) ?> </strong></li>
< ? } ?>
</ ul >
</ div >
< ?
if ( check_perms ( 'users_mod' , $Class ) || check_perms ( 'users_view_ips' , $Class ) || check_perms ( 'users_view_keys' , $Class )) {
$DB -> query ( " SELECT COUNT(*) FROM users_history_passwords WHERE UserID=' $UserID ' " );
list ( $PasswordChanges ) = $DB -> next_record ();
if ( check_perms ( 'users_view_keys' , $Class )) {
$DB -> query ( " SELECT COUNT(*) FROM users_history_passkeys WHERE UserID=' $UserID ' " );
list ( $PasskeyChanges ) = $DB -> next_record ();
}
if ( check_perms ( 'users_view_ips' , $Class )) {
$DB -> query ( " SELECT COUNT(DISTINCT IP) FROM users_history_ips WHERE UserID=' $UserID ' " );
list ( $IPChanges ) = $DB -> next_record ();
$DB -> query ( " SELECT COUNT(DISTINCT IP) FROM xbt_snatched WHERE uid=' $UserID ' AND IP != '' " );
list ( $TrackerIPs ) = $DB -> next_record ();
}
if ( check_perms ( 'users_view_email' , $Class )) {
$DB -> query ( " SELECT COUNT(*) FROM users_history_emails WHERE UserID=' $UserID ' " );
list ( $EmailChanges ) = $DB -> next_record ();
}
?>
< div class = " box " >
< div class = " head colhead_dark " > History </ div >
< ul class = " stats nobullet " >
< ? if ( check_perms ( 'users_view_email' , $Class )) { ?>
< li > Emails : < ? = number_format ( $EmailChanges ) ?> [<a href="userhistory.php?action=email2&userid=<?=$UserID?>">View</a>] [<a href="userhistory.php?action=email&userid=<?=$UserID?>">Legacy view</a>]</li>
< ?
}
if ( check_perms ( 'users_view_ips' , $Class )) {
?>
< li > IPs : < ? = number_format ( $IPChanges ) ?> [<a href="userhistory.php?action=ips&userid=<?=$UserID?>">View</a>] [<a href="userhistory.php?action=ips&userid=<?=$UserID?>&usersonly=1">View Users</a>]</li>
2011-04-29 13:49:03 +00:00
< ? if ( check_perms ( 'users_view_ips' , $Class ) && check_perms ( 'users_mod' , $Class )) { ?>
2011-03-28 14:21:28 +00:00
< li > Tracker IPs : < ? = number_format ( $TrackerIPs ) ?> [<a href="userhistory.php?action=tracker_ips&userid=<?=$UserID?>">View</a>]</li>
2011-04-29 13:49:03 +00:00
< ? } ?>
2011-03-28 14:21:28 +00:00
< ?
}
if ( check_perms ( 'users_view_keys' , $Class )) {
?>
< li > Passkeys : < ? = number_format ( $PasskeyChanges ) ?> [<a href="userhistory.php?action=passkeys&userid=<?=$UserID?>">View</a>]</li>
< ?
}
if ( check_perms ( 'users_mod' , $Class )) {
?>
< li > Passwords : < ? = number_format ( $PasswordChanges ) ?> [<a href="userhistory.php?action=passwords&userid=<?=$UserID?>">View</a>]</li>
< li > Stats : N / A [ < a href = " userhistory.php?action=stats&userid=<?= $UserID ?> " > View </ a > ] </ li >
< ?
}
?>
</ ul >
</ div >
< ? } ?>
< div class = " box " >
< div class = " head colhead_dark " > Personal </ div >
< ul class = " stats nobullet " >
< li > Class : < ? = $ClassLevels [ $Class ][ 'Name' ] ?> </li>
< ?
// An easy way for people to measure the paranoia of a user, for e.g. contest eligibility
if ( $ParanoiaLevel == 0 ) {
$ParanoiaLevelText = 'Off' ;
} elseif ( $ParanoiaLevel == 1 ) {
$ParanoiaLevelText = 'Very Low' ;
} elseif ( $ParanoiaLevel <= 5 ) {
$ParanoiaLevelText = 'Low' ;
} elseif ( $ParanoiaLevel <= 20 ) {
$ParanoiaLevelText = 'High' ;
} else {
$ParanoiaLevelText = 'Very high' ;
}
?>
< li > Paranoia level : < span title = " <?= $ParanoiaLevel ?> " >< ? = $ParanoiaLevelText ?> </span></li>
< ? if ( check_perms ( 'users_view_email' , $Class ) || $OwnProfile ) { ?>
< li > Email : < a href = " mailto:<?=display_str( $Email )?> " >< ? = display_str ( $Email ) ?> </a>
< ? if ( check_perms ( 'users_view_email' , $Class )) { ?>
[ < a href = " user.php?action=search&email_history=on&email=<?=display_str( $Email )?> " title = " Search " > S </ a > ]
< ? } ?>
</ li >
< ? }
if ( check_perms ( 'users_view_ips' , $Class )) {
?>
2011-04-29 13:49:03 +00:00
< li > IP : < ? = display_ip ( $IP ) ?> </li>
2011-03-28 14:21:28 +00:00
< li > Host : < ? = get_host ( $IP ) ?> </li>
< ?
}
if ( check_perms ( 'users_view_keys' , $Class ) || $OwnProfile ) {
?>
< li > Passkey : < ? = display_str ( $torrent_pass ) ?>
< ? }
if ( check_perms ( 'users_view_invites' )) {
if ( ! $InviterID ) {
$Invited = " <i>Nobody</i> " ;
} else {
$Invited = '<a href="user.php?id=' . $InviterID . '">' . $InviterName . '</a>' ;
}
?>
< li > Invited By : < ? = $Invited ?> </li>
< li > Invites : < ?
$DB -> query ( " SELECT count(InviterID) FROM invites WHERE InviterID = ' $UserID ' " );
list ( $Pending ) = $DB -> next_record ();
if ( $DisableInvites ) {
echo 'X' ;
} else {
echo number_format ( $Invites );
}
echo " ( " . $Pending . " ) "
?> </li>
< ?
}
2011-10-19 08:00:13 +00:00
if ( ! isset ( $SupportFor )) {
$DB -> query ( " SELECT SupportFor FROM users_info WHERE UserID = " . $LoggedUser [ 'ID' ]);
list ( $SupportFor ) = $DB -> next_record ();
}
if ( check_perms ( 'users_mod' ) || $OwnProfile || ! empty ( $SupportFor )) {
?>
< li > Clients : < ?
$DB -> query ( " SELECT DISTINCT useragent FROM xbt_files_users WHERE uid = " . $UserID );
while ( list ( $Client ) = $DB -> next_record ()) {
if ( strlen ( $Clients ) > 0 ) {
$Clients .= " ; " . $Client ;
} else {
$Clients = $Client ;
}
}
echo $Clients ;
?> </li>
< ?
}
2011-03-28 14:21:28 +00:00
?>
</ ul >
</ div >
< ?
// These stats used to be all together in one UNION'd query
// But we broke them up because they had a habit of locking each other to death.
// They all run really quickly anyways.
$DB -> query ( " SELECT COUNT(x.uid), COUNT(DISTINCT x.fid) FROM xbt_snatched AS x INNER JOIN torrents AS t ON t.ID=x.fid WHERE x.uid=' $UserID ' " );
list ( $Snatched , $UniqueSnatched ) = $DB -> next_record ();
$DB -> query ( " SELECT COUNT(ID) FROM torrents_comments WHERE AuthorID=' $UserID ' " );
list ( $NumComments ) = $DB -> next_record ();
$DB -> query ( " SELECT COUNT(ID) FROM collages WHERE Deleted='0' AND UserID=' $UserID ' " );
list ( $NumCollages ) = $DB -> next_record ();
$DB -> query ( " SELECT COUNT(DISTINCT CollageID) FROM collages_torrents AS ct JOIN collages ON CollageID = ID WHERE Deleted='0' AND ct.UserID=' $UserID ' " );
list ( $NumCollageContribs ) = $DB -> next_record ();
$DB -> query ( " SELECT COUNT(DISTINCT GroupID) FROM torrents WHERE UserID = ' $UserID ' " );
list ( $UniqueGroups ) = $DB -> next_record ();
$DB -> query ( " SELECT COUNT(ID) FROM torrents WHERE ((LogScore = 100 AND Format = 'FLAC') OR (Media = 'Vinyl' AND Format = 'FLAC') OR (Media = 'WEB' AND Format = 'FLAC') OR (Media = 'DVD' AND Format = 'FLAC') OR (Media = 'Soundboard' AND Format = 'FLAC') OR (Media = 'Cassette' AND Format = 'FLAC') OR (Media = 'SACD' AND Format = 'FLAC') OR (Media = 'Blu-ray' AND Format = 'FLAC') OR (Media = 'DAT' AND Format = 'FLAC')) AND UserID = ' $UserID ' " );
list ( $PerfectFLACs ) = $DB -> next_record ();
?>
< div class = " box " >
< div class = " head colhead_dark " > Community </ div >
< ul class = " stats nobullet " >
< li > Forum Posts : < ? = number_format ( $ForumPosts ) ?> [<a href="userhistory.php?action=posts&userid=<?=$UserID?>" title="View">View</a>]</li>
< ? if ( check_paranoia_here ( 'torrentcomments' )) { ?>
< li > Torrent Comments : < ? = number_format ( $NumComments ) ?> [<a href="comments.php?id=<?=$UserID?>" title="View">View</a>]</li>
< ? } elseif ( check_paranoia_here ( 'torrentcomments+' )) { ?>
< li > Torrent Comments : < ? = number_format ( $NumComments ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'collages' )) { ?>
< li > Collages started : < ? = number_format ( $NumCollages ) ?> [<a href="collages.php?userid=<?=$UserID?>" title="View">View</a>]</li>
< ? } elseif ( check_paranoia_here ( 'collages+' )) { ?>
< li > Collages started : < ? = number_format ( $NumCollages ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'collagecontribs' )) { ?>
< li > Collages contributed to : < ? = number_format ( $NumCollageContribs ) ?> [<a href="collages.php?userid=<?=$UserID?>&contrib=1" title="View">View</a>]</li>
< ? } elseif ( check_paranoia_here ( 'collagecontribs+' )) { ?>
< li > Collages contributed to : < ? = number_format ( $NumCollageContribs ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'requestsfilled_list' )) { ?>
< li > Requests filled : < ? = number_format ( $RequestsFilled ) ?> for <?=get_size($TotalBounty)?> [<a href="requests.php?type=filled&userid=<?=$UserID?>" title="View">View</a>]</li>
< ? } elseif ( check_paranoia_here ( array ( 'requestsfilled_count' , 'requestsfilled_bounty' ))) { ?>
< li > Requests filled : < ? = number_format ( $RequestsFilled ) ?> for <?=get_size($TotalBounty)?></li>
< ? } elseif ( check_paranoia_here ( 'requestsfilled_count' )) { ?>
< li > Requests filled : < ? = number_format ( $RequestsFilled ) ?> </li>
< ? } elseif ( check_paranoia_here ( 'requestsfilled_bounty' )) { ?>
< li > Requests filled : < ? = get_size ( $TotalBounty ) ?> collected</li>
< ? } ?>
< ? if ( check_paranoia_here ( 'requestsvoted_list' )) { ?>
< li > Requests voted : < ? = number_format ( $RequestsVoted ) ?> for <?=get_size($TotalSpent)?> [<a href="requests.php?type=voted&userid=<?=$UserID?>" title="View">View</a>]</li>
< ? } elseif ( check_paranoia_here ( array ( 'requestsvoted_count' , 'requestsvoted_bounty' ))) { ?>
< li > Requests voted : < ? = number_format ( $RequestsVoted ) ?> for <?=get_size($TotalSpent)?></li>
< ? } elseif ( check_paranoia_here ( 'requestsvoted_count' )) { ?>
< li > Requests voted : < ? = number_format ( $RequestsVoted ) ?> </li>
< ? } elseif ( check_paranoia_here ( 'requestsvoted_bounty' )) { ?>
< li > Requests voted : < ? = get_size ( $TotalSpent ) ?> spent</li>
< ? } ?>
< ? if ( check_paranoia_here ( 'uploads' )) { ?>
< li > Uploaded : < ? = number_format ( $Uploads ) ?> [<a href="torrents.php?type=uploaded&userid=<?=$UserID?>" title="View">View</a>]<? if(check_perms('zip_downloader')) { ?> [<a href="torrents.php?action=redownload&type=uploads&userid=<?=$UserID?>" onclick="return confirm('If you no longer have the content, your ratio WILL be affected, be sure to check the size of all albums before redownloading.');">Download</a>]<? } ?></li>
< ? } elseif ( check_paranoia_here ( 'uploads+' )) { ?>
< li > Uploaded : < ? = number_format ( $Uploads ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'uniquegroups' )) { ?>
< li > Unique Groups : < ? = number_format ( $UniqueGroups ) ?> [<a href="torrents.php?type=uploaded&userid=<?=$UserID?>&filter=uniquegroup">View</a>]</li>
< ? } elseif ( check_paranoia_here ( 'uniquegroups+' )) { ?>
< li > Unique Groups : < ? = number_format ( $UniqueGroups ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'perfectflacs' )) { ?>
< li > " Perfect " FLACs : < ? = number_format ( $PerfectFLACs ) ?> [<a href="torrents.php?type=uploaded&userid=<?=$UserID?>&filter=perfectflac">View</a>]</li>
< ? } elseif ( check_paranoia_here ( 'perfectflacs+' )) { ?>
< li > " Perfect " FLACs : < ? = number_format ( $PerfectFLACs ) ?> </li>
< ? } ?>
< ?
2011-11-09 08:00:14 +00:00
if ( check_paranoia_here ( 'seeding+' ) || check_paranoia_here ( 'leeching+' )) {
$DB -> query ( " SELECT IF(remaining=0,'Seeding','Leeching') AS Type, COUNT(x.uid) FROM xbt_files_users AS x INNER JOIN torrents AS t ON t.ID=x.fid WHERE x.uid=' $UserID ' AND x.active=1 GROUP BY Type " );
$PeerCount = $DB -> to_array ( 0 , MYSQLI_NUM , false );
$Seeding = isset ( $PeerCount [ 'Seeding' ][ 1 ]) ? $PeerCount [ 'Seeding' ][ 1 ] : 0 ;
$Leeching = isset ( $PeerCount [ 'Leeching' ][ 1 ]) ? $PeerCount [ 'Leeching' ][ 1 ] : 0 ;
2011-03-28 14:21:28 +00:00
}
?>
< ? if ( check_paranoia_here ( 'seeding' )) { ?>
< li > Seeding : < ? = number_format ( $Seeding ) ?> [<a href="torrents.php?type=seeding&userid=<?=$UserID?>" title="View">View</a>]<? if (check_perms('zip_downloader')) { ?> [<a href="torrents.php?action=redownload&type=seeding&userid=<?=$UserID?>" onclick="return confirm('If you no longer have the content, your ratio WILL be affected, be sure to check the size of all albums before redownloading.');">Download</a>]<? } ?></li>
< ? } elseif ( check_paranoia_here ( 'seeding+' )) { ?>
< li > Seeding : < ? = number_format ( $Seeding ) ?> </li>
< ? } ?>
< ? if ( check_paranoia_here ( 'leeching' )) { ?>
< li > Leeching : < ? = number_format ( $Leeching ) ?> [<a href="torrents.php?type=leeching&userid=<?=$UserID?>" title="View">View</a>]<?=($DisableLeech == 0 && check_perms('users_view_ips')) ? "<strong> (Disabled)</strong>" : ""?></li>
< ? } elseif ( check_paranoia_here ( 'leeching+' )) { ?>
< li > Leeching : < ? = number_format ( $Leeching ) ?> </li>
< ? }
?>
< ? if ( check_paranoia_here ( 'snatched+' )) { ?>
< li > Snatched : < ? = number_format ( $Snatched ) ?>
< ? if ( check_perms ( 'site_view_torrent_snatchlist' , $Class )) { ?>
( < ? = number_format ( $UniqueSnatched ) ?> )
< ? } ?>
< ? } ?>
< ? if ( check_paranoia_here ( 'snatched' )) { ?>
[ < a href = " torrents.php?type=snatched&userid=<?= $UserID ?> " title = " View " > View </ a > ] < ? if ( check_perms ( 'zip_downloader' )) { ?> [<a href="torrents.php?action=redownload&type=snatches&userid=<?=$UserID?>" onclick="return confirm('If you no longer have the content, your ratio WILL be affected, be sure to check the size of all albums before redownloading.');">Download</a>]<? } ?>
</ li >
< ? }
if ( check_perms ( 'site_view_torrent_snatchlist' , $Class )) {
$DB -> query ( " SELECT COUNT(ud.UserID), COUNT(DISTINCT ud.TorrentID) FROM users_downloads AS ud INNER JOIN torrents AS t ON t.ID=ud.TorrentID WHERE ud.UserID=' $UserID ' " );
list ( $NumDownloads , $UniqueDownloads ) = $DB -> next_record ();
?>
< li > Downloaded : < ? = number_format ( $NumDownloads ) ?> (<?=number_format($UniqueDownloads)?>) [<a href="torrents.php?type=downloaded&userid=<?=$UserID?>" title="View">View</a>]</li>
< ?
}
if ( check_paranoia_here ( 'invitedcount' )) {
$DB -> query ( " SELECT COUNT(UserID) FROM users_info WHERE Inviter=' $UserID ' " );
list ( $Invited ) = $DB -> next_record ();
?>
< li > Invited : < ? = number_format ( $Invited ) ?> </li>
2011-05-14 08:00:05 +00:00
< ?
} ?>
2011-03-28 14:21:28 +00:00
</ ul >
</ div >
</ div >
< div class = " main_column " >
< ?
if ( $RatioWatchEnds != '0000-00-00 00:00:00'
&& ( time () < strtotime ( $RatioWatchEnds ))
&& ( $Downloaded * $RequiredRatio ) > $Uploaded
) {
?>
< div class = " box " >
< div class = " head " > Ratio watch </ div >
< div class = " pad " > This user is currently on ratio watch , and must upload < ? = get_size (( $Downloaded * $RequiredRatio ) - $Uploaded ) ?> in the next <?=time_diff($RatioWatchEnds)?>, or their leeching privileges will be revoked. Amount downloaded while on ratio watch: <?=get_size($Downloaded-$RatioWatchDownload)?></div>
</ div >
< ? } ?>
< div class = " box " >
< div class = " head " >
2011-09-22 08:00:12 +00:00
< span style = " float:left; " > Profile < ? if ( $CustomTitle ) { echo " - " . html_entity_decode ( $DisplayCustomTitle ); } ?> </span>
2011-03-28 14:21:28 +00:00
< span style = " float:right; " >< ? = $Badges ?> </span>
</ div >
< div class = " pad " >
< ? if ( ! $Info ) { ?>
This profile is currently empty .
< ?
} else {
echo $Text -> full_format ( $Info );
}
?>
</ div >
</ div >
< ?
if ( $Snatched > 4 && check_paranoia_here ( 'snatched' )) {
$RecentSnatches = $Cache -> get_value ( 'recent_snatches_' . $UserID );
if ( ! is_array ( $RecentSnatches )){
$DB -> query ( " SELECT
g . ID ,
g . Name ,
g . WikiImage
FROM xbt_snatched AS s
INNER JOIN torrents AS t ON t . ID = s . fid
INNER JOIN torrents_group AS g ON t . GroupID = g . ID
WHERE s . uid = '$UserID'
AND g . CategoryID = '1'
AND g . WikiImage <> ''
GROUP BY g . ID
ORDER BY s . tstamp DESC
LIMIT 5 " );
$RecentSnatches = $DB -> to_array ();
$Artists = get_artists ( $DB -> collect ( 'ID' ));
foreach ( $RecentSnatches as $Key => $SnatchInfo ) {
$RecentSnatches [ $Key ][ 'Artist' ] = display_artists ( $Artists [ $SnatchInfo [ 'ID' ]], false , true );
}
$Cache -> cache_value ( 'recent_snatches_' . $UserID , $RecentSnatches , 0 ); //inf cache
}
?>
< table class = " recent " cellpadding = " 0 " cellspacing = " 0 " border = " 0 " >
< tr class = " colhead " >
< td colspan = " 5 " > Recent Snatches </ td >
< tr >
< tr >
< ?
foreach ( $RecentSnatches as $RS ) { ?>
< td >
2011-06-19 08:00:06 +00:00
< a href = " torrents.php?id=<?= $RS['ID'] ?> " title = " <?=display_str( $RS['Artist'] )?><?=display_str( $RS['Name'] )?> " >< img src = " <?= $RS['WikiImage'] ?> " alt = " <?=display_str( $RS['Artist'] )?><?=display_str( $RS['Name'] )?> " width = " 107 " /></ a >
2011-03-28 14:21:28 +00:00
</ td >
< ? } ?>
</ tr >
</ table >
< ?
}
if ( ! isset ( $Uploads )) { $Uploads = 0 ; }
if ( $Uploads > 4 && check_paranoia_here ( 'uploads' )) {
$RecentUploads = $Cache -> get_value ( 'recent_uploads_' . $UserID );
if ( ! is_array ( $RecentUploads )){
$DB -> query ( " SELECT
g . ID ,
g . Name ,
g . WikiImage
FROM torrents_group AS g
INNER JOIN torrents AS t ON t . GroupID = g . ID
WHERE t . UserID = '$UserID'
AND g . CategoryID = '1'
AND g . WikiImage <> ''
GROUP BY g . ID
ORDER BY t . Time DESC
LIMIT 5 " );
$RecentUploads = $DB -> to_array ();
$Artists = get_artists ( $DB -> collect ( 'ID' ));
foreach ( $RecentUploads as $Key => $UploadInfo ) {
$RecentUploads [ $Key ][ 'Artist' ] = display_artists ( $Artists [ $UploadInfo [ 'ID' ]], false , true );
}
$Cache -> cache_value ( 'recent_uploads_' . $UserID , $RecentUploads , 0 ); //inf cache
}
?>
< table class = " recent " cellpadding = " 0 " cellspacing = " 0 " border = " 0 " >
< tr class = " colhead " >
< td colspan = " 5 " > Recent Uploads </ td >
< tr >
< ? foreach ( $RecentUploads as $RU ) { ?>
< td >
< a href = " torrents.php?id=<?= $RU['ID'] ?> " title = " <?= $RU['Artist'] ?><?= $RU['Name'] ?> " >< img src = " <?= $RU['WikiImage'] ?> " alt = " <?= $RU['Artist'] ?><?= $RU['Name'] ?> " width = " 107 " /></ a >
</ td >
< ? } ?>
</ tr >
</ table >
< ?
}
2011-10-27 08:00:15 +00:00
$DB -> query ( " SELECT ID, Name FROM collages WHERE UserID=' $UserID ' AND CategoryID='0' AND Deleted='0' ORDER BY Featured DESC, Name ASC " );
$Collages = $DB -> to_array ();
$FirstCol = true ;
foreach ( $Collages as $CollageInfo ) {
list ( $CollageID , $CName ) = $CollageInfo ;
2011-03-28 14:21:28 +00:00
$DB -> query ( " SELECT ct.GroupID,
tg . WikiImage ,
tg . CategoryID
FROM collages_torrents AS ct
JOIN torrents_group AS tg ON tg . ID = ct . GroupID
WHERE ct . CollageID = '$CollageID'
ORDER BY ct . Sort LIMIT 5 " );
$Collage = $DB -> to_array ();
?>
< table class = " recent " cellpadding = " 0 " cellspacing = " 0 " border = " 0 " >
< tr class = " colhead " >
2011-10-27 08:00:15 +00:00
< td colspan = " 5 " >
< span style = " float:left; " >
< ? = display_str ( $CName ) ?> - <a href="collages.php?id=<?=$CollageID?>">see full</a>
</ span >
< span style = " float:right; " >
< a href = " # " onclick = " $ ('#collage<?= $CollageID ?>').toggle(); this.innerHTML=(this.innerHTML=='(Hide)'?'(Show)':'(Hide)'); return false; " >< ? = $FirstCol ? '(Hide)' : '(Show)' ?> </a>
</ span >
</ td >
< tr id = " collage<?= $CollageID ?> " < ? = $FirstCol ? '' : 'class="hidden"' ?> >
2011-03-28 14:21:28 +00:00
< ? foreach ( $Collage as $C ) {
$Group = get_groups ( array ( $C [ 'GroupID' ]));
$Group = array_pop ( $Group [ 'matches' ]);
2011-08-09 21:03:28 +00:00
list ( $GroupID , $GroupName , $GroupYear , $GroupRecordLabel , $GroupCatalogueNumber , $TagList , $ReleaseType , $GroupVanityHouse , $Torrents , $GroupArtists ) = array_values ( $Group );
2011-03-28 14:21:28 +00:00
$Name = '' ;
$Name .= display_artists ( array ( '1' => $GroupArtists ), false , true );
$Name .= $GroupName ;
?>
< td >
< a href = " torrents.php?id=<?= $GroupID ?> " title = " <?= $Name ?> " >< img src = " <?= $C['WikiImage'] ?> " alt = " <?= $Name ?> " width = " 107 " /></ a >
</ td >
< ? } ?>
</ tr >
</ table >
< ?
2011-10-27 08:00:15 +00:00
$FirstCol = false ;
2011-03-28 14:21:28 +00:00
}
if (( check_perms ( 'users_view_invites' )) && $Invited > 0 ) {
include ( SERVER_ROOT . '/classes/class_invite_tree.php' );
$Tree = new INVITE_TREE ( $UserID , array ( 'visible' => false ));
?>
< div class = " box " >
< div class = " head " > Invite Tree < a href = " # " onclick = " $ ('#invitetree').toggle();return false; " > ( View ) </ a ></ div >
< div id = " invitetree " class = " hidden " >
< ? $Tree -> make_tree (); ?>
</ div >
</ div >
< ?
}
// Requests
if ( check_paranoia_here ( 'requestsvoted_list' )) {
$DB -> query ( " SELECT
r . ID ,
r . CategoryID ,
r . Title ,
r . Year ,
r . TimeAdded ,
COUNT ( rv . UserID ) AS Votes ,
SUM ( rv . Bounty ) AS Bounty
FROM requests AS r
LEFT JOIN users_main AS u ON u . ID = UserID
LEFT JOIN requests_votes AS rv ON rv . RequestID = r . ID
WHERE r . UserID = " . $UserID . "
AND r . TorrentID = 0
GROUP BY r . ID
ORDER BY Votes DESC " );
if ( $DB -> record_count () > 0 ) {
$Requests = $DB -> to_array ();
?>
< div class = " box " >
< div class = " head " > Requests < a href = " # " onclick = " $ ('#requests').toggle();return false; " > ( View ) </ a ></ div >
< div id = " requests " class = " hidden " >
< table cellpadding = " 6 " cellspacing = " 1 " border = " 0 " class = " border " width = " 100% " >
< tr class = " colhead_dark " >
< td style = " width:48%; " >
< strong > Request Name </ strong >
</ td >
< td >
< strong > Vote </ strong >
</ td >
< td >
< strong > Bounty </ strong >
</ td >
< td >
< strong > Added </ strong >
</ td >
</ tr >
< ?
foreach ( $Requests as $Request ) {
list ( $RequestID , $CategoryID , $Title , $Year , $TimeAdded , $Votes , $Bounty ) = $Request ;
$Request = get_requests ( array ( $RequestID ));
$Request = $Request [ 'matches' ][ $RequestID ];
if ( empty ( $Request )) {
continue ;
}
list ( $RequestID , $RequestorID , $RequestorName , $TimeAdded , $LastVote , $CategoryID , $Title , $Year , $Image , $Description , $CatalogueNumber , $ReleaseType ,
$BitrateList , $FormatList , $MediaList , $LogCue , $FillerID , $FillerName , $TorrentID , $TimeFilled ) = $Request ;
$CategoryName = $Categories [ $CategoryID - 1 ];
if ( $CategoryName == " Music " ) {
$ArtistForm = get_request_artists ( $RequestID );
$ArtistLink = display_artists ( $ArtistForm , true , true );
$FullName = $ArtistLink . " <a href='requests.php?action=view&id= " . $RequestID . " '> " . $Title . " [ " . $Year . " ]</a> " ;
} else if ( $CategoryName == " Audiobooks " || $CategoryName == " Comedy " ) {
$FullName = " <a href='requests.php?action=view&id= " . $RequestID . " '> " . $Title . " [ " . $Year . " ]</a> " ;
} else {
$FullName = " <a href='requests.php?action=view&id= " . $RequestID . " '> " . $Title . " </a> " ;
}
$Row = ( empty ( $Row ) || $Row == 'a' ) ? 'b' : 'a' ;
?>
< tr class = " row<?= $Row ?> " >
< td >
< ? = $FullName ?>
< div class = " tags " >
< ?
$Tags = $Request [ 'Tags' ];
$TagList = array ();
foreach ( $Tags as $TagID => $TagName ) {
2011-04-13 15:36:33 +00:00
$TagList [] = " <a href='requests.php?tags= " . $TagName . " '> " . display_str ( $TagName ) . " </a> " ;
2011-03-28 14:21:28 +00:00
}
$TagList = implode ( ', ' , $TagList );
?>
< ? = $TagList ?>
</ div >
</ td >
< td >
2011-06-27 08:00:06 +00:00
< span id = " vote_count_<?= $RequestID ?> " >< ? = $Votes ?> </span>
2011-03-28 14:21:28 +00:00
< ? if ( check_perms ( 'site_vote' )){ ?>
< input type = " hidden " id = " auth " name = " auth " value = " <?= $LoggedUser['AuthKey'] ?> " />
2011-06-27 08:00:06 +00:00
& nbsp ; & nbsp ; < a href = " javascript:Vote(0, <?= $RequestID ?>) " >< strong > ( + ) </ strong ></ a >
2011-03-28 14:21:28 +00:00
< ? } ?>
</ td >
< td >
2011-06-27 08:00:06 +00:00
< span id = " bounty_<?= $RequestID ?> " >< ? = get_size ( $Bounty ) ?> </span>
2011-03-28 14:21:28 +00:00
</ td >
< td >
< ? = time_diff ( $TimeAdded ) ?>
</ td >
</ tr >
< ? } ?>
</ table >
</ div >
</ div >
< ?
}
}
2011-08-22 08:00:05 +00:00
include_once ( SERVER_ROOT . '/sections/staff/functions.php' );
$FLS = get_fls ();
$IsFLS = false ;
foreach ( $FLS as $F ) {
if ( $LoggedUser [ 'ID' ] == $F [ 'ID' ]) {
$IsFLS = true ;
break ;
}
}
if ( check_perms ( 'users_mod' , $Class ) || $IsFLS ) {
$UserLevel = $LoggedUser [ 'Class' ];
$DB -> query ( " SELECT
SQL_CALC_FOUND_ROWS
ID ,
Subject ,
Status ,
Level ,
AssignedToUser ,
Date ,
ResolverID
FROM staff_pm_conversations
WHERE UserID = $UserID AND ( Level <= $UserLevel OR AssignedToUser = '".$LoggedUser[' ID ']."' )
ORDER BY Date DESC " );
if ( $DB -> record_count ()) {
$StaffPMs = $DB -> to_array ();
?>
< div class = " box " >
< div class = " head " > Staff PMs < a href = " # " onclick = " $ ('#staffpms').toggle();return false; " > ( View ) </ a ></ div >
< table width = " 100% " class = " hidden " id = " staffpms " >
< tr class = " colhead " >
< td > Subject </ td >
< td > Date </ td >
< td > Assigned To </ td >
< td > Resolved By </ td >
</ tr >
< ? foreach ( $StaffPMs as $StaffPM ) {
list ( $ID , $Subject , $Status , $Level , $AssignedTo , $Date , $ResolverID ) = $StaffPM ;
// Get assigned
if ( $AssignedToUser == '' ) {
// Assigned to class
$Assigned = ( $Level == 0 ) ? " First Line Support " : $ClassLevels [ $Level ][ 'Name' ];
// No + on Sysops
if ( $Assigned != 'Sysop' ) { $Assigned .= " + " ; }
} else {
// Assigned to user
$UserInfo = user_info ( $AssignedToUser );
$Assigned = format_username ( $UserID , $UserInfo [ 'Username' ], $UserInfo [ 'Donor' ], $UserInfo [ 'Warned' ], $UserInfo [ 'Enabled' ], $UserInfo [ 'PermissionID' ]);
}
if ( $ResolverID ) {
$UserInfo = user_info ( $ResolverID );
$Resolver = format_username ( $ResolverID , $UserInfo [ 'Username' ], $UserInfo [ 'Donor' ], $UserInfo [ 'Warned' ], $UserInfo [ 'Enabled' ], $UserInfo [ 'PermissionID' ]);
} else {
$Resolver = " (unresolved) " ;
}
?>
< tr >
< td >< a href = " staffpm.php?action=viewconv&id=<?= $ID ?> " >< ? = display_str ( $Subject ) ?> </a></td>
< td >< ? = time_diff ( $Date , 2 , true ) ?> </td>
< td >< ? = $Assigned ?> </td>
< td >< ? = $Resolver ?> </td>
</ tr >
< ? } ?>
</ table >
</ div >
< ? }
}
2011-03-28 14:21:28 +00:00
?>
< br />
2011-08-22 08:00:05 +00:00
< ?
if ( check_perms ( 'users_mod' , $Class )) { ?>
2011-03-28 14:21:28 +00:00
< form id = " form " action = " user.php " method = " post " >
< input type = " hidden " name = " action " value = " moderate " />
< input type = " hidden " name = " userid " value = " <?= $UserID ?> " />
< input type = " hidden " name = " auth " value = " <?= $LoggedUser['AuthKey'] ?> " />
< div class = " box " >
< div class = " head " > Staff Notes < a href = " # " name = " admincommentbutton " onclick = " ChangeTo('text'); return false; " > ( Edit ) </ a ></ div >
< div class = " pad " >
< div id = " admincommentlinks " class = " AdminComment box " style = " width:98%; " >< ? = $Text -> full_format ( $AdminComment ) ?> </div>
< textarea id = " admincomment " onkeyup = " resize('admincomment'); " class = " AdminComment hidden " name = " AdminComment " cols = " 65 " rows = " 26 " style = " width:98%; " >< ? = display_str ( $AdminComment ) ?> </textarea>
< a href = " # " name = " admincommentbutton " onclick = " ChangeTo('text'); return false; " > Toggle Edit </ a >
< script type = " text/javascript " >
resize ( 'admincomment' );
</ script >
</ div >
</ div >
< table >
< tr >
< td class = " colhead " colspan = " 2 " > User Info </ td >
</ tr >
< ? if ( check_perms ( 'users_edit_usernames' , $Class )) { ?>
< tr >
< td class = " label " > Username :</ td >
< td >< input type = " text " size = " 20 " name = " Username " value = " <?=display_str( $Username )?> " /></ td >
</ tr >
< ?
}
if ( check_perms ( 'users_edit_titles' )) {
?>
< tr >
< td class = " label " > CustomTitle :</ td >
< td >< input type = " text " size = " 50 " name = " Title " value = " <?=display_str( $CustomTitle )?> " /></ td >
</ tr >
< ?
}
if ( check_perms ( 'users_promote_below' , $Class ) || check_perms ( 'users_promote_to' , $Class - 1 )) {
?>
< tr >
< td class = " label " > Class :</ td >
< td >
< select name = " Class " >
< ?
foreach ( $ClassLevels as $CurClass ) {
if ( check_perms ( 'users_promote_below' , $Class ) && $CurClass [ 'ID' ] >= $LoggedUser [ 'Class' ]) { break ; }
if ( $CurClass [ 'ID' ] > $LoggedUser [ 'Class' ]) { break ; }
if ( $Class === $CurClass [ 'Level' ]) { $Selected = 'selected="selected"' ; } else { $Selected = " " ; }
?>
< option value = " <?= $CurClass['ID'] ?> " < ? = $Selected ?> ><?=$CurClass['Name'].' ('.$CurClass['Level'].')'?></option>
< ? } ?>
</ select >
</ td >
</ tr >
< ?
}
if ( check_perms ( 'users_give_donor' )) {
?>
< tr >
< td class = " label " > Donor :</ td >
< td >< input type = " checkbox " name = " Donor " < ? if ( $Donor == 1 ) { ?> checked="checked" <? } ?> /></td>
</ tr >
< ?
}
if ( check_perms ( 'users_promote_below' ) || check_perms ( 'users_promote_to' )) {
?>
< tr >
< td class = " label " > Artist :</ td >
< td >< input type = " checkbox " name = " Artist " < ? if ( $Artist == 1 ) { ?> checked="checked" <? } ?> /></td>
</ tr >
< ?
}
if ( check_perms ( 'users_make_invisible' )) {
?>
< tr >
< td class = " label " > Visible :</ td >
< td >< input type = " checkbox " name = " Visible " < ? if ( $Visible == 1 ) { ?> checked="checked" <? } ?> /></td>
</ tr >
< ?
}
if ( check_perms ( 'users_edit_ratio' , $Class ) || ( check_perms ( 'users_edit_own_ratio' ) && $UserID == $LoggedUser [ 'ID' ])) {
?>
< tr >
< td class = " label " > Uploaded :</ td >
< td >
< input type = " hidden " name = " OldUploaded " value = " <?= $Uploaded ?> " />
< input type = " text " size = " 20 " name = " Uploaded " value = " <?= $Uploaded ?> " />
</ td >
</ tr >
< tr >
< td class = " label " > Downloaded :</ td >
< td >
< input type = " hidden " name = " OldDownloaded " value = " <?= $Downloaded ?> " />
< input type = " text " size = " 20 " name = " Downloaded " value = " <?= $Downloaded ?> " />
</ td >
</ tr >
< tr >
< td class = " label " > Merge Stats < strong > From :</ strong ></ td >
< td >
< input type = " text " size = " 40 " name = " MergeStatsFrom " />
</ td >
</ tr >
2011-10-27 08:00:15 +00:00
< tr >
2011-10-08 08:00:14 +00:00
< td class = " label " > Freeleech Tokens :</ td >
< td >
< input type = " text " size = " 5 " name = " FLTokens " value = " <?= $FLTokens ?> " />
</ td >
2011-10-27 08:00:15 +00:00
</ tr >
2011-03-28 14:21:28 +00:00
< ?
}
if ( check_perms ( 'users_edit_invites' )) {
?>
< tr >
< td class = " label " > Invites :</ td >
< td >< input type = " text " size = " 5 " name = " Invites " value = " <?= $Invites ?> " /></ td >
</ tr >
< ?
}
if ( check_perms ( 'admin_manage_fls' ) || ( check_perms ( 'users_mod' ) && $OwnProfile )) {
?>
< tr >
< td class = " label " > First Line Support :</ td >
< td >< input type = " text " size = " 50 " name = " SupportFor " value = " <?=display_str( $SupportFor )?> " /></ td >
</ tr >
< ?
}
if ( check_perms ( 'users_edit_reset_keys' )) {
?>
< tr >
< td class = " label " > Reset :</ td >
< td >
< input type = " checkbox " name = " ResetRatioWatch " id = " ResetRatioWatch " /> < label for = " ResetRatioWatch " > Ratio Watch </ label > |
< input type = " checkbox " name = " ResetPasskey " id = " ResetPasskey " /> < label for = " ResetPasskey " > Passkey </ label > |
< input type = " checkbox " name = " ResetAuthkey " id = " ResetAuthkey " /> < label for = " ResetAuthkey " > Authkey </ label > |
< input type = " checkbox " name = " ResetIPHistory " id = " ResetIPHistory " /> < label for = " ResetIPHistory " > IP History </ label > |
< input type = " checkbox " name = " ResetEmailHistory " id = " ResetEmailHistory " /> < label for = " ResetEmailHistory " > Email History </ label >
< br />
< input type = " checkbox " name = " ResetSnatchList " id = " ResetSnatchList " /> < label for = " ResetSnatchList " > Snatch List </ label > |
< input type = " checkbox " name = " ResetDownloadList " id = " ResetDownloadList " /> < label for = " ResetDownloadList " > Download List </ label >
</ td >
</ tr >
< ?
}
if ( check_perms ( 'users_mod' )) {
?>
< tr >
< td class = " label " > Reset all EAC v0 . 95 Logs To :</ td >
< td >
< select name = " 095logs " >
< option value = " " ></ option >
< option value = " 99 " > 99 </ option >
< option value = " 100 " > 100 </ option >
</ select >
</ td >
</ tr >
< ? }
if ( check_perms ( 'users_edit_password' )) {
?>
< tr >
< td class = " label " > New Password :</ td >
< td >
< input type = " text " size = " 30 " id = " change_password " name = " ChangePassword " />
</ td >
</ tr >
< ? } ?>
</ table >< br />
< ? if ( check_perms ( 'users_warn' )) { ?>
< table >
< tr class = " colhead " >
< td colspan = " 2 " > Warn User </ td >
</ tr >
< tr >
< td class = " label " > Warned :</ td >
< td >
< input type = " checkbox " name = " Warned " < ? if ( $Warned != '0000-00-00 00:00:00' ) { ?> checked="checked"<? } ?> />
</ td >
</ tr >
< ? if ( $Warned == '0000-00-00 00:00:00' ) { // user is not warned ?>
< tr >
< td class = " label " > Expiration :</ td >
< td >
< select name = " WarnLength " >
< option value = " " >---</ option >
< option value = " 1 " > 1 Week </ option >
< option value = " 2 " > 2 Weeks </ option >
< option value = " 4 " > 4 Weeks </ option >
< option value = " 8 " > 8 Weeks </ option >
</ select >
</ td >
</ tr >
< ? } else { // user is warned ?>
< tr >
< td class = " label " > Extension :</ td >
< td >
< select name = " ExtendWarning " >
< option >---</ option >
< option value = " 1 " > 1 Week </ option >
< option value = " 2 " > 2 Weeks </ option >
< option value = " 4 " > 4 Weeks </ option >
< option value = " 8 " > 8 Weeks </ option >
</ select >
</ td >
</ tr >
< ? } ?>
< tr >
< td class = " label " > Reason :</ td >
< td >
< input type = " text " size = " 60 " name = " WarnReason " />
</ td >
</ tr >
< ? } ?>
</ table >< br />
< table >
< tr class = " colhead " >< td colspan = " 2 " > User Privileges </ td ></ tr >
< ? if ( check_perms ( 'users_disable_posts' ) || check_perms ( 'users_disable_any' )) {
$DB -> query ( " SELECT DISTINCT Email, IP FROM users_history_emails WHERE UserID = " . $UserID . " ORDER BY Time ASC " );
$Emails = $DB -> to_array ();
?>
< tr >
< td class = " label " > Disable :</ td >
< td >
2011-09-05 08:00:07 +00:00
< input type = " checkbox " name = " DisablePosting " id = " DisablePosting " < ? if ( $DisablePosting == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisablePosting">Posting</label>
2011-03-28 14:21:28 +00:00
< ? if ( check_perms ( 'users_disable_any' )) { ?> |
2011-09-05 08:00:07 +00:00
< input type = " checkbox " name = " DisableAvatar " id = " DisableAvatar " < ? if ( $DisableAvatar == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisableAvatar">Avatar</label> |
2011-03-28 14:21:28 +00:00
< input type = " checkbox " name = " DisableInvites " id = " DisableInvites " < ? if ( $DisableInvites == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisableInvites">Invites</label> |
2011-09-05 08:00:07 +00:00
2011-03-28 14:21:28 +00:00
< input type = " checkbox " name = " DisableForums " id = " DisableForums " < ? if ( $DisableForums == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisableForums">Forums</label> |
< input type = " checkbox " name = " DisableTagging " id = " DisableTagging " < ? if ( $DisableTagging == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisableTagging">Tagging</label> |
< input type = " checkbox " name = " DisableRequests " id = " DisableRequests " < ? if ( $DisableRequests == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisableRequests">Requests</label>
< br />
< input type = " checkbox " name = " DisableUpload " id = " DisableUpload " < ? if ( $DisableUpload == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisableUpload">Upload</label> |
< input type = " checkbox " name = " DisableWiki " id = " DisableWiki " < ? if ( $DisableWiki == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisableWiki">Wiki</label> |
2011-08-12 21:42:06 +00:00
< input type = " checkbox " name = " DisableLeech " id = " DisableLeech " < ? if ( $DisableLeech == 0 ) { ?> checked="checked"<? } ?> /> <label for="DisableLeech">Leech</label> |
< input type = " checkbox " name = " DisablePM " id = " DisablePM " < ? if ( $DisablePM == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisablePM">PM</label> |
< input type = " checkbox " name = " DisableIRC " id = " DisableIRC " < ? if ( $DisableIRC == 1 ) { ?> checked="checked"<? } ?> /> <label for="DisableIRC">IRC</label>
2011-03-28 14:21:28 +00:00
</ td >
</ tr >
< tr >
< td class = " label " > Hacked :</ td >
< td >
< input type = " checkbox " name = " SendHackedMail " id = " SendHackedMail " /> < label for = " SendHackedMail " > Send hacked account email </ label > to
< select name = " HackedEmail " >
< ?
foreach ( $Emails as $Email ) {
list ( $Address , $IP ) = $Email ;
?>
< option value = " <?=display_str( $Address )?> " >< ? = display_str ( $Address ) ?> - <?=display_str($IP)?></option>
< ? } ?>
</ select >
</ td >
</ tr >
< ? } ?>
< ?
}
if ( check_perms ( 'users_disable_any' )) {
?>
< tr >
< td class = " label " > Account :</ td >
< td >
< select name = " UserStatus " >
2011-04-13 15:36:33 +00:00
< option value = " 0 " < ? if ( $Enabled == '0' ) { ?> selected="selected"<? } ?>>Unconfirmed</option>
< option value = " 1 " < ? if ( $Enabled == '1' ) { ?> selected="selected"<? } ?>>Enabled</option>
< option value = " 2 " < ? if ( $Enabled == '2' ) { ?> selected="selected"<? } ?>>Disabled</option>
2011-03-28 14:21:28 +00:00
< ? if ( check_perms ( 'users_delete_users' )) { ?>
< optgroup label = " -- WARNING -- " ></ optgroup >
< option value = " delete " > Delete Account </ option >
< ? } ?>
</ select >
</ td >
</ tr >
< tr >
< td class = " label " > User Reason :</ td >
< td >
< input type = " text " size = " 60 " name = " UserReason " />
</ td >
</ tr >
< tr >
< td class = " label " > Restricted Forums ( comma - delimited ) :</ td >
2011-10-11 08:00:15 +00:00
< td >
< input type = " text " size = " 60 " name = " RestrictedForums " value = " <?=display_str( $RestrictedForums )?> " />
</ td >
</ tr >
< tr >
< td class = " label " > Extra Forums ( comma - delimited ) :</ td >
< td >
< input type = " text " size = " 60 " name = " PermittedForums " value = " <?=display_str( $PermittedForums )?> " />
</ td >
</ tr >
2011-03-28 14:21:28 +00:00
< ? } ?>
</ table >< br />
< ? if ( check_perms ( 'users_logout' )) { ?>
< table >
< tr class = " colhead " >< td colspan = " 2 " > Session </ td ></ tr >
< tr >
< td class = " label " > Reset session :</ td >
< td >< input type = " checkbox " name = " ResetSession " id = " ResetSession " /></ td >
</ tr >
< tr >
< td class = " label " > Log out :</ td >
< td >< input type = " checkbox " name = " LogOut " id = " LogOut " /></ td >
</ tr >
</ table >
< ? } ?>
< table >
< tr class = " colhead " >< td colspan = " 2 " > Submit </ td ></ tr >
< tr >
< td class = " label " > Reason :</ td >
< td >
< textarea rows = " 1 " cols = " 50 " name = " Reason " id = " Reason " onkeyup = " resize('Reason'); " ></ textarea >
</ td >
</ tr >
< tr >
< td align = " right " colspan = " 2 " >
< input type = " submit " value = " Save Changes " />
</ td >
</ tr >
</ table >
</ form >
< ? } ?>
</ div >
</ div >
< ? show_footer (); ?>