2011-03-28 14:21:28 +00:00
< ?
/************************************************************************
************************************************************************/
2011-06-30 08:00:06 +00:00
if ( ! check_perms ( 'admin_reports' ) && ! check_perms ( 'project_team' ) && ! check_perms ( 'site_moderate_forums' )) {
2011-03-28 14:21:28 +00:00
error ( 404 );
}
// Number of reports per page
define ( 'REPORTS_PER_PAGE' , '10' );
include ( SERVER_ROOT . '/classes/class_text.php' );
$Text = NEW TEXT ;
2012-10-11 08:00:15 +00:00
list ( $Page , $Limit ) = Format :: page_limit ( REPORTS_PER_PAGE );
2011-03-28 14:21:28 +00:00
include ( SERVER_ROOT . '/sections/reports/array.php' );
// Header
2012-10-11 08:00:15 +00:00
View :: show_header ( 'Reports' , 'bbcode' );
2011-03-28 14:21:28 +00:00
if ( $_GET [ 'id' ] && is_number ( $_GET [ 'id' ])) {
$View = " Single report " ;
$Where = " r.ID = " . $_GET [ 'id' ];
} else if ( empty ( $_GET [ 'view' ])) {
$View = " New " ;
$Where = " Status='New' " ;
} else {
$View = $_GET [ 'view' ];
switch ( $_GET [ 'view' ]) {
case 'old' :
$Where = " Status='Resolved' " ;
break ;
default :
error ( 404 );
break ;
}
}
if ( ! check_perms ( 'admin_reports' )) {
2011-06-30 08:00:06 +00:00
if ( check_perms ( 'project_team' )) {
$Where .= " AND Type = 'request_update' " ;
}
if ( check_perms ( 'site_moderate_forums' )) {
2012-10-27 08:00:09 +00:00
$Where .= " AND Type IN('collages_comment', 'Post', 'requests_comment', 'thread', 'torrents_comment', 'torrent_comments') " ;
2011-06-30 08:00:06 +00:00
}
2011-03-28 14:21:28 +00:00
}
$Reports = $DB -> query ( " SELECT SQL_CALC_FOUND_ROWS
r . ID ,
r . UserID ,
um . Username ,
r . ThingID ,
r . Type ,
r . ReportedTime ,
r . Reason ,
r . Status
FROM reports AS r
2012-09-04 08:00:23 +00:00
JOIN users_main AS um ON r . UserID = um . ID
2011-03-28 14:21:28 +00:00
WHERE " . $Where . "
ORDER BY ReportedTime
DESC LIMIT " . $Limit );
// Number of results (for pagination)
$DB -> query ( 'SELECT FOUND_ROWS()' );
list ( $Results ) = $DB -> next_record ();
// Done with the number of results. Move $DB back to the result set for the reports
$DB -> set_query_id ( $Reports );
// Start printing stuff
?>
< div class = " thin " >
2012-08-19 08:00:19 +00:00
< div class = " header " >
< h2 > Active Reports </ h2 >
< div class = " linkbox " >
< a href = " reports.php " > New </ a > |
< a href = " reports.php?view=old " > Old </ a > |
< a href = " reports.php?action=stats " > Stats </ a >
</ div >
</ div >
< div class = " linkbox " >
2011-03-28 14:21:28 +00:00
< ?
2012-08-19 08:00:19 +00:00
// pagination
2012-10-11 08:00:15 +00:00
$Pages = Format :: get_pages ( $Page , $Results , REPORTS_PER_PAGE , 11 );
2012-08-19 08:00:19 +00:00
echo $Pages ;
2011-03-28 14:21:28 +00:00
?>
2012-08-19 08:00:19 +00:00
</ div >
2011-03-28 14:21:28 +00:00
< ?
while ( list ( $ReportID , $SnitchID , $SnitchName , $ThingID , $Short , $ReportedTime , $Reason , $Status ) = $DB -> next_record ()) {
$Type = $Types [ $Short ];
$Reference = " reports.php?id= " . $ReportID . " #report " . $ReportID ;
?>
2012-08-19 08:00:19 +00:00
< div id = " report<?= $ReportID ?> " >
2012-09-15 08:00:25 +00:00
< form class = " manage_form " name = " report " action = " reports.php " method = " post " >
2012-08-19 08:00:19 +00:00
< div >
< input type = " hidden " name = " reportid " value = " <?= $ReportID ?> " />
< input type = " hidden " name = " action " value = " takeresolve " />
< input type = " hidden " name = " auth " value = " <?= $LoggedUser['AuthKey'] ?> " />
</ div >
< table cellpadding = " 5 " id = " report_<?= $ReportID ?> " >
< tr >
2012-12-04 08:00:19 +00:00
< td >< strong >< a href = " <?= $Reference ?> " > Report #<?=$ReportID?></a></strong></td>
2012-09-09 08:00:26 +00:00
< td >< strong >< ? = $Type [ 'title' ] ?> </strong> was reported by <a href="user.php?id=<?=$SnitchID?>"><?=$SnitchName?></a> <?=time_diff($ReportedTime)?> <a href="reports.php?action=compose&to=<?=$SnitchID?>&reportid=<?=$ReportID?>&type=<?=$Short?>&thingid=<?=$ThingID?>">[Contact]</a></td>
2012-08-19 08:00:19 +00:00
</ tr >
< tr >
2011-03-28 14:21:28 +00:00
2012-08-19 08:00:19 +00:00
< td class = " center " colspan = " 2 " >
< strong >
2011-03-28 14:21:28 +00:00
< ?
switch ( $Short ) {
case " user " :
$DB -> query ( " SELECT Username FROM users_main WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
echo " No user with the reported ID found " ;
} else {
list ( $Username ) = $DB -> next_record ();
echo " <a href='user.php?id= " . $ThingID . " '> " . display_str ( $Username ) . " </a> " ;
}
break ;
case " request " :
case " request_update " :
$DB -> query ( " SELECT Title FROM requests WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
echo " No request with the reported ID found " ;
} else {
list ( $Name ) = $DB -> next_record ();
echo " <a href='requests.php?action=view&id= " . $ThingID . " '> " . display_str ( $Name ) . " </a> " ;
}
break ;
case " collage " :
$DB -> query ( " SELECT Name FROM collages WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
echo " No collage with the reported ID found " ;
} else {
list ( $Name ) = $DB -> next_record ();
echo " <a href='collages.php?id= " . $ThingID . " '> " . display_str ( $Name ) . " </a> " ;
}
break ;
case " thread " :
$DB -> query ( " SELECT Title FROM forums_topics WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
2012-09-15 08:00:25 +00:00
echo " No forum thread with the reported ID found " ;
2011-03-28 14:21:28 +00:00
} else {
list ( $Title ) = $DB -> next_record ();
echo " <a href='forums.php?action=viewthread&threadid= " . $ThingID . " '> " . display_str ( $Title ) . " </a> " ;
}
break ;
case " post " :
if ( isset ( $LoggedUser [ 'PostsPerPage' ])) {
$PerPage = $LoggedUser [ 'PostsPerPage' ];
} else {
$PerPage = POSTS_PER_PAGE ;
}
$DB -> query ( " SELECT p.ID, p.Body, p.TopicID, (SELECT COUNT(ID) FROM forums_posts WHERE forums_posts.TopicID = p.TopicID AND forums_posts.ID<=p.ID) AS PostNum FROM forums_posts AS p WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
2012-09-15 08:00:25 +00:00
echo " No forum post with the reported ID found " ;
2011-03-28 14:21:28 +00:00
} else {
list ( $PostID , $Body , $TopicID , $PostNum ) = $DB -> next_record ();
2012-09-15 08:00:25 +00:00
echo " <a href='forums.php?action=viewthread&threadid= " . $TopicID . " &post= " . $PostNum . " #post " . $PostID . " '>FORUM POST</a> " ;
2011-03-28 14:21:28 +00:00
}
break ;
case " requests_comment " :
$DB -> query ( " SELECT rc.RequestID, rc.Body, (SELECT COUNT(ID) FROM requests_comments WHERE ID <= " . $ThingID . " AND requests_comments.RequestID = rc.RequestID) AS CommentNum FROM requests_comments AS rc WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
2012-09-15 08:00:25 +00:00
echo " No request comment with the reported ID found " ;
2011-03-28 14:21:28 +00:00
} else {
list ( $RequestID , $Body , $PostNum ) = $DB -> next_record ();
$PageNum = ceil ( $PostNum / TORRENT_COMMENTS_PER_PAGE );
2012-09-15 08:00:25 +00:00
echo " <a href='requests.php?action=view&id= " . $RequestID . " &page= " . $PageNum . " #post " . $ThingID . " '>REQUEST COMMENT</a> " ;
2011-03-28 14:21:28 +00:00
}
break ;
case " torrents_comment " :
$DB -> query ( " SELECT tc.GroupID, tc.Body, (SELECT COUNT(ID) FROM torrents_comments WHERE ID <= " . $ThingID . " AND torrents_comments.GroupID = tc.GroupID) AS CommentNum FROM torrents_comments AS tc WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
2012-09-15 08:00:25 +00:00
echo " No torrent comment with the reported ID found " ;
2011-03-28 14:21:28 +00:00
} else {
list ( $GroupID , $Body , $PostNum ) = $DB -> next_record ();
$PageNum = ceil ( $PostNum / TORRENT_COMMENTS_PER_PAGE );
2012-09-15 08:00:25 +00:00
echo " <a href='torrents.php?id= " . $GroupID . " &page= " . $PageNum . " #post " . $ThingID . " '>TORRENT COMMENT</a> " ;
2011-03-28 14:21:28 +00:00
}
2012-10-27 08:00:09 +00:00
break ;
case " artist_comment " :
$DB -> query ( " SELECT ac.ArtistID, ac.Body, (SELECT COUNT(ID) FROM artist_comments WHERE ID <= " . $ThingID . " AND artist_comments.ArtistID = ac.ArtistID) AS CommentNum FROM artist_comments AS ac WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
echo " No comment with the reported ID found " ;
} else {
list ( $ArtistID , $Body , $PostNum ) = $DB -> next_record ();
$PageNum = ceil ( $PostNum / TORRENT_COMMENTS_PER_PAGE );
echo " <a href='artist.php?id= " . $ArtistID . " &page= " . $PageNum . " #post " . $ThingID . " '>COMMENT</a> " ;
}
2011-03-28 14:21:28 +00:00
break ;
2012-10-27 08:00:09 +00:00
2011-03-28 14:21:28 +00:00
case " collages_comment " :
$DB -> query ( " SELECT cc.CollageID, cc.Body, (SELECT COUNT(ID) FROM collages_comments WHERE ID <= " . $ThingID . " AND collages_comments.CollageID = cc.CollageID) AS CommentNum FROM collages_comments AS cc WHERE ID= " . $ThingID );
if ( $DB -> record_count () < 1 ) {
2012-09-15 08:00:25 +00:00
echo " No collage comment with the reported ID found " ;
2011-03-28 14:21:28 +00:00
} else {
list ( $CollageID , $Body , $PostNum ) = $DB -> next_record ();
$PerPage = POSTS_PER_PAGE ;
$PageNum = ceil ( $PostNum / $PerPage );
2012-09-15 08:00:25 +00:00
echo " <a href='collage.php?action=comments&collageid= " . $CollageID . " &page= " . $PageNum . " #post " . $ThingID . " '>COLLAGE COMMENT</a> " ;
2011-03-28 14:21:28 +00:00
}
break ;
}
?>
2012-08-19 08:00:19 +00:00
</ strong >
</ td >
</ tr >
< tr >
< td colspan = " 2 " >< ? = $Text -> full_format ( $Reason ) ?> </td>
</ tr >
2011-03-28 14:21:28 +00:00
< ? if ( $Status != " Resolved " ) { ?>
2012-08-19 08:00:19 +00:00
< tr >
< td class = " center " colspan = " 2 " >
2012-11-15 08:00:19 +00:00
< input type = " submit " name = " submit " value = " Resolve " />
2012-08-19 08:00:19 +00:00
</ td >
</ tr >
2011-03-28 14:21:28 +00:00
< ? } ?>
2012-08-19 08:00:19 +00:00
</ table >
</ form >
</ div >
< br />
2011-03-28 14:21:28 +00:00
< ?
$DB -> set_query_id ( $Reports );
}
?>
2012-08-19 08:00:19 +00:00
< div class = " linkbox " >
2011-03-28 14:21:28 +00:00
< ?
echo $Pages ;
?>
2012-08-19 08:00:19 +00:00
</ div >
2011-03-28 14:21:28 +00:00
</ div >
< ?
2012-10-11 08:00:15 +00:00
View :: show_footer ();
2011-03-28 14:21:28 +00:00
?>