2003-11-12 16:22:47 +01:00
< ? php
2004-04-25 04:19:31 +02:00
2007-05-28 19:21:25 +02:00
require_once './admin.php' ;
$title = __ ( 'Moderate Comments' );
2006-11-18 08:31:29 +01:00
$parent_file = 'edit-comments.php' ;
2007-05-28 19:21:25 +02:00
2006-06-06 06:14:04 +02:00
wp_enqueue_script ( 'admin-comments' );
2003-11-12 16:22:47 +01:00
2007-05-28 19:21:25 +02:00
wp_reset_vars ( array ( 'action' , 'item_ignored' , 'item_deleted' , 'item_approved' , 'item_spam' , 'feelinglucky' ) );
2003-11-12 16:22:47 +01:00
2004-01-02 01:49:13 +01:00
$comment = array ();
2007-05-28 19:21:25 +02:00
if ( isset ( $_POST [ 'comment' ] ) && is_array ( $_POST [ 'comment' ] ) ) {
foreach ( $_POST [ 'comment' ] as $k => $v ) {
$comment [ intval ( $k )] = $v ;
2004-01-02 01:49:13 +01:00
}
}
2003-11-12 16:22:47 +01:00
2007-05-28 19:21:25 +02:00
if ( $action == 'update' ) {
check_admin_referer ( 'moderate-comments' );
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
if ( ! current_user_can ( 'moderate_comments' ) ) {
wp_die ( __ ( 'Your level is not high enough to moderate comments.' ) );
}
2007-06-14 04:25:30 +02:00
2003-11-12 16:22:47 +01:00
$item_ignored = 0 ;
$item_deleted = 0 ;
$item_approved = 0 ;
2005-02-11 02:52:19 +01:00
$item_spam = 0 ;
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
foreach ( $comment as $k => $v ) {
if ( $feelinglucky && $v == 'later' ) {
$v = 'delete' ;
}
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
switch ( $v ) {
case 'later' :
$item_ignored ++ ;
break ;
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
case 'delete' :
wp_set_comment_status ( $k , 'delete' );
$item_deleted ++ ;
break ;
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
case 'spam' :
wp_set_comment_status ( $k , 'spam' );
$item_spam ++ ;
break ;
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
case 'approve' :
wp_set_comment_status ( $k , 'approve' );
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
if ( get_option ( 'comments_notify' ) == true ) {
wp_notify_postauthor ( $k );
2003-11-15 09:58:18 +01:00
}
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
$item_approved ++ ;
break ;
2006-11-19 08:56:05 +01:00
}
2003-11-12 16:22:47 +01:00
}
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
wp_redirect ( basename ( __FILE__ ) . '?ignored=' . $item_ignored . '&deleted=' . $item_deleted . '&approved=' . $item_approved . '&spam=' . $item_spam );
exit ;
}
2003-11-12 16:22:47 +01:00
2007-05-28 19:21:25 +02:00
require_once './admin-header.php' ;
2003-11-12 16:22:47 +01:00
2007-05-28 19:21:25 +02:00
if ( ! current_user_can ( 'moderate_comments' ) ) {
echo '<div class="wrap"><p>' . __ ( 'Your level is not high enough to moderate comments.' ) . '</p></div>' ;
include_once './admin-footer.php' ;
exit ;
}
2003-11-12 16:22:47 +01:00
2007-05-28 19:21:25 +02:00
if ( isset ( $_GET [ 'approved' ] ) || isset ( $_GET [ 'deleted' ] ) || isset ( $_GET [ 'spam' ] ) ) {
$approved = isset ( $_GET [ 'approved' ] ) ? ( int ) $_GET [ 'approved' ] : 0 ;
$deleted = isset ( $_GET [ 'deleted' ] ) ? ( int ) $_GET [ 'deleted' ] : 0 ;
$spam = isset ( $_GET [ 'ignored' ] ) ? ( int ) $_GET [ 'spam' ] : 0 ;
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
if ( $approved > 0 || $deleted > 0 || $spam > 0 ) {
echo '<div id="moderated" class="updated fade"><p>' ;
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
if ( $approved > 0 ) {
2007-12-20 18:05:06 +01:00
printf ( __ngettext ( '%s comment approved' , '%s comments approved' , $approved ), $approved );
2007-05-28 19:21:25 +02:00
echo '<br />' ;
}
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
if ( $deleted > 0 ) {
2007-12-20 18:05:06 +01:00
printf ( __ngettext ( '%s comment deleted' , '%s comments deleted' , $deleted ), $deleted );
2007-05-28 19:21:25 +02:00
echo '<br />' ;
}
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
if ( $spam > 0 ) {
printf ( __ngettext ( '%s comment marked as spam' , '%s comments marked as spam' , $spam ), $spam );
echo '<br />' ;
}
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
echo '</p></div>' ;
2003-11-12 16:22:47 +01:00
}
2004-04-15 10:28:53 +02:00
}
2003-11-12 16:22:47 +01:00
2004-04-15 10:28:53 +02:00
?>
2003-11-12 16:22:47 +01:00
< div class = " wrap " >
2003-11-30 23:13:53 +01:00
< ? php
2004-12-20 21:03:30 +01:00
2007-05-28 19:21:25 +02:00
$comments = $wpdb -> get_results ( " SELECT * FROM $wpdb->comments WHERE comment_approved = '0' " );
2005-08-31 04:39:17 +02:00
2007-05-28 19:21:25 +02:00
if ( ! $comments ) {
echo '<p>' . __ ( 'Currently there are no comments for you to moderate.' ) . '</p></div>' ;
include_once './admin-footer.php' ;
exit ;
2003-11-12 16:22:47 +01:00
}
2007-05-28 19:21:25 +02:00
$total = count ( $comments );
2007-05-28 21:32:24 +02:00
$per = 100 ;
2003-11-12 16:22:47 +01:00
2007-05-28 19:21:25 +02:00
if ( isset ( $_GET [ 'paged' ] ) ) {
$page = ( int ) $_GET [ 'paged' ];
} else {
$page = 1 ;
2003-11-12 16:22:47 +01:00
}
2007-05-28 19:21:25 +02:00
$start = ( $page * $per ) - $per ;
$stop = $start + $per ;
2004-08-23 01:24:50 +02:00
2007-09-04 01:32:58 +02:00
$page_links = paginate_links ( array (
'base' => add_query_arg ( 'paged' , '%#%' ),
'format' => '' ,
'total' => ceil ( $total / $per ),
'current' => $page ,
'prev_text' => '«' ,
2007-05-28 19:21:25 +02:00
'next_text' => '»'
) );
$comments = array_slice ( $comments , $start , $stop );
2006-04-19 10:30:56 +02:00
2006-05-22 19:16:05 +02:00
?>
2007-05-28 19:21:25 +02:00
< h2 >< ? php _e ( 'Moderation Queue' ); ?> </h2>
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
< ? php
if ( $page_links ) {
echo '<p class="pagenav">' . $page_links . '</p>' ;
}
?>
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
< form name = " approval " id = " approval " action = " <?php echo basename( __FILE__ ); ?> " method = " post " >
< ? php wp_nonce_field ( 'moderate-comments' ); ?>
< input type = " hidden " name = " action " value = " update " />
2007-10-31 02:37:58 +01:00
< ol id = " the-comment-list " class = " list:comment commentlist " >
2007-05-28 19:21:25 +02:00
< ? php
$i = 0 ;
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
foreach ( $comments as $comment ) {
$class = 'js-unapproved' ;
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
if ( $i ++ % 2 ) {
$class .= ' alternate' ;
}
2007-10-31 02:37:58 +01:00
$delete_url = clean_url ( wp_nonce_url ( " comment.php?action=deletecomment&p= $comment->comment_post_ID &c= $comment->comment_ID " , " delete-comment_ $comment->comment_ID " ) );
$approve_url = clean_url ( wp_nonce_url ( " comment.php?action=approvecomment&p= $comment->comment_post_ID &c= $comment->comment_ID " , " approve-comment_ $comment->comment_ID " ) );
$spam_url = clean_url ( wp_nonce_url ( " comment.php?action=deletecomment&dt=spam&p= $comment->comment_post_ID &c= $comment->comment_ID " , " delete-comment_ $comment->comment_ID " ) );
2007-05-28 19:21:25 +02:00
?>
< li id = " comment-<?php comment_ID(); ?> " class = " <?php echo $class ; ?> " >
< p >
2007-09-04 01:32:58 +02:00
< strong >< ? php comment_author (); ?> </strong>
2007-05-28 19:21:25 +02:00
< ? php if ( ! empty ( $comment -> comment_author_email ) ) { ?> | <?php comment_author_email_link(); ?> <?php } ?>
< ? php if ( ! empty ( $comment -> comment_author_url ) && $comment -> comment_author_url != 'http://' ) { ?> | <?php comment_author_url_link(); ?> <?php } ?>
| < ? php _e ( 'IP:' ); ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP(); ?>"><?php comment_author_IP(); ?></a>
</ p >
2007-06-14 04:25:30 +02:00
2007-06-08 00:52:09 +02:00
< p >
2007-06-07 16:01:02 +02:00
< ? php comment_text (); ?>
</ p >
2007-10-31 02:37:58 +01:00
< p >
< ? php comment_date ( __ ( 'M j, g:i A' ) ); ?>
& #8212;
[
< a href = " comment.php?action=editcomment&c=<?php comment_ID(); ?> " title = " <?php _e( 'Edit this comment' ); ?> " >< ? php _e ( 'Edit' ); ?> </a>
|
< a href = " <?php echo $delete_url ; ?> " class = " delete:the-comment-list:comment-<?php comment_ID(); ?> " title = " <?php _e( 'Delete this comment' ); ?> " >< ? php _e ( 'Delete' ); ?> </a>
|
< a href = " <?php echo $approve_url ; ?> " class = " delete:the-comment-list:comment-<?php comment_ID(); ?>:33FF33:action=dim-comment " title = " <?php _e( 'Approve this comment' ); ?> " >< ? php _e ( 'Approve' ); ?> </a>
|
< a href = " <?php echo $spam_url ; ?> " class = " delete:the-comment-list:comment-<?php comment_ID(); ?>::spam=1 " title = " <?php _e( 'Mark this comment as spam' ); ?> " >< ? php _e ( 'Spam' ); ?> </a>
]
& #8212;
2007-05-28 19:21:25 +02:00
< a href = " <?php echo get_permalink( $comment->comment_post_ID ); ?> " title = " <?php _e( 'View the post' ); ?> " >< ? php printf ( __ ( 'View post “%s”' ), get_the_title ( $comment -> comment_post_ID ) ); ?> </a>
2007-10-31 02:37:58 +01:00
</ p >
2007-06-07 16:01:02 +02:00
2007-10-31 02:37:58 +01:00
< p >
2007-05-28 19:21:25 +02:00
< ? php _e ( 'Bulk action:' ); ?>
< label for = " comment-<?php comment_ID(); ?>-approve " >< input type = " radio " name = " comment[<?php comment_ID(); ?>] " id = " comment-<?php comment_ID(); ?>-approve " value = " approve " /> < ? php _e ( 'Approve' ); ?> </label>
< label for = " comment-<?php comment_ID(); ?>-spam " >< input type = " radio " name = " comment[<?php comment_ID(); ?>] " id = " comment-<?php comment_ID(); ?>-spam " value = " spam " /> < ? php _e ( 'Spam' ); ?> </label>
< label for = " comment-<?php comment_ID(); ?>-delete " >< input type = " radio " name = " comment[<?php comment_ID(); ?>] " id = " comment-<?php comment_ID(); ?>-delete " value = " delete " /> < ? php _e ( 'Delete' ); ?> </label>
< label for = " comment-<?php comment_ID(); ?>-nothing " >< input type = " radio " name = " comment[<?php comment_ID(); ?>] " id = " comment-<?php comment_ID(); ?>-nothing " value = " later " checked = " checked " /> < ? php _e ( 'No action' ); ?> </label>
2007-10-31 02:37:58 +01:00
</ p >
2007-05-28 19:21:25 +02:00
</ li >
< ? php
}
?>
</ ol >
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
< ? php
if ( $page_links ) {
echo '<p class="pagenav">' . $page_links . '</p>' ;
}
?>
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
< div id = " ajax-response " ></ div >
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
< noscript >
< p class = " submit " >
< label for = " feelinglucky " >< input name = " feelinglucky " id = " feelinglucky " type = " checkbox " value = " true " /> < ? php _e ( 'Delete every comment marked “defer.” <strong>Warning: This can’t be undone.</strong>' ); ?> </label>
</ p >
</ noscript >
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
< p class = " submit " >
< input type = " submit " id = " submit " name = " submit " value = " <?php _e( 'Bulk Moderate Comments »' ); ?> " />
</ p >
2007-06-14 04:25:30 +02:00
2007-05-28 19:21:25 +02:00
< script type = " text/javascript " >
// <![CDATA[
function mark_all_as ( what ) {
for ( var i = 0 ; i < document . approval . length ; i ++ ) {
if ( document . approval [ i ] . value == what ) {
document . approval [ i ] . checked = true ;
}
}
}
2007-06-14 04:25:30 +02:00
2007-06-07 16:01:02 +02:00
document . write ( '<p><strong><?php _e( ' Mark all : ' ); ?></strong> <a href="javascript:mark_all_as(\'approve\')"><?php _e( ' Approved ' ); ?></a> – <a href="javascript:mark_all_as(\'spam\')"><?php _e( ' Spam ' ); ?></a> – <a href="javascript:mark_all_as(\'delete\')"><?php _e( ' Deleted ' ); ?></a> – <a href="javascript:mark_all_as(\'later\')"><?php _e( ' Later ' ); ?></a></p>' );
2007-05-28 19:21:25 +02:00
// ]]>
</ script >
</ form >
</ div >
< ? php include_once './admin-footer.php' ; ?>