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 ;
list ( $Page , $Limit ) = page_limit ( REPORTS_PER_PAGE );
include ( SERVER_ROOT . '/sections/reports/array.php' );
// Header
show_header ( 'Reports' , 'bbcode' );
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' )) {
$Where .= " AND Type IN('collages_comment', 'Post', 'requests_comment', 'thread', 'torrents_comment') " ;
}
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
JOIN users_main AS um ON r . UserID = um . ID
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 " >
< 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 class = " linkbox " >
< ?
// pagination
$Pages = get_pages ( $Page , $Results , REPORTS_PER_PAGE , 11 );
echo $Pages ;
?>
</ div >
< ?
while ( list ( $ReportID , $SnitchID , $SnitchName , $ThingID , $Short , $ReportedTime , $Reason , $Status ) = $DB -> next_record ()) {
$Type = $Types [ $Short ];
$Reference = " reports.php?id= " . $ReportID . " #report " . $ReportID ;
?>
< div id = " report<?= $ReportID ?> " >
< form action = " reports.php " method = " post " >
< 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 >
< td >< strong >< a href = " <?= $Reference ?> " > Report </ a ></ strong ></ td >
< td >< strong >< ? = $Type [ 'title' ] ?> </strong> was reported by <a href="user.php?id=<?=$SnitchID?>"><?=$SnitchName?></a> <?=time_diff($ReportedTime)?></td>
</ tr >
< tr >
< td class = " center " colspan = " 2 " >
< strong >
< ?
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 ) {
echo " No thread with the reported ID found " ;
} 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 ) {
echo " No post with the reported ID found " ;
} else {
list ( $PostID , $Body , $TopicID , $PostNum ) = $DB -> next_record ();
echo " <a href='forums.php?action=viewthread&threadid= " . $TopicID . " &post= " . $PostNum . " #post " . $PostID . " '>POST</a> " ;
}
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 ) {
echo " No comment with the reported ID found " ;
} else {
list ( $RequestID , $Body , $PostNum ) = $DB -> next_record ();
$PageNum = ceil ( $PostNum / TORRENT_COMMENTS_PER_PAGE );
echo " <a href='requests.php?action=view&id= " . $RequestID . " &page= " . $PageNum . " #post " . $ThingID . " '>COMMENT</a> " ;
}
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 ) {
echo " No comment with the reported ID found " ;
} else {
list ( $GroupID , $Body , $PostNum ) = $DB -> next_record ();
$PageNum = ceil ( $PostNum / TORRENT_COMMENTS_PER_PAGE );
echo " <a href='torrents.php?id= " . $GroupID . " &page= " . $PageNum . " #post " . $ThingID . " '>COMMENT</a> " ;
}
break ;
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 ) {
echo " No comment with the reported ID found " ;
} else {
list ( $CollageID , $Body , $PostNum ) = $DB -> next_record ();
$PerPage = POSTS_PER_PAGE ;
$PageNum = ceil ( $PostNum / $PerPage );
echo " <a href='collage.php?action=comments&collageid= " . $CollageID . " &page= " . $PageNum . " #post " . $ThingID . " '>COMMENT</a> " ;
}
break ;
}
?>
</ strong >
</ td >
</ tr >
< tr >
< td colspan = " 2 " >< ? = $Text -> full_format ( $Reason ) ?> </td>
</ tr >
< ? if ( $Status != " Resolved " ) { ?>
< tr >
< td class = " center " colspan = " 2 " >
< input type = " submit " name = " submit " value = " Resolved " />
</ td >
</ tr >
< ? } ?>
</ table >
</ form >
</ div >
< br />
< ?
$DB -> set_query_id ( $Reports );
}
?>
</ div >
< div class = " linkbox " >
< ?
echo $Pages ;
?>
</ div >
< ?
show_footer ();
?>