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' );
if ( ! current_user_can ( 'moderate_comments' ) ) {
wp_die ( __ ( 'Your level is not high enough to moderate comments.' ) );
}
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-05-28 19:21:25 +02:00
foreach ( $comment as $k => $v ) {
if ( $feelinglucky && $v == 'later' ) {
$v = 'delete' ;
}
switch ( $v ) {
case 'later' :
$item_ignored ++ ;
break ;
case 'delete' :
wp_set_comment_status ( $k , 'delete' );
$item_deleted ++ ;
break ;
case 'spam' :
wp_set_comment_status ( $k , 'spam' );
$item_spam ++ ;
break ;
case 'approve' :
wp_set_comment_status ( $k , 'approve' );
if ( get_option ( 'comments_notify' ) == true ) {
wp_notify_postauthor ( $k );
2003-11-15 09:58:18 +01: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-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 ;
if ( $approved > 0 || $deleted > 0 || $spam > 0 ) {
echo '<div id="moderated" class="updated fade"><p>' ;
if ( $approved > 0 ) {
printf ( __ngettext ( '%s comment approved.' , '%s comments approved.' , $approved ), $approved );
echo '<br />' ;
}
if ( $deleted > 0 ) {
printf ( __ngettext ( '%s comment deleted' , '%s comments deleted.' , $deleted ), $deleted );
echo '<br />' ;
}
if ( $spam > 0 ) {
printf ( __ngettext ( '%s comment marked as spam' , '%s comments marked as spam' , $spam ), $spam );
echo '<br />' ;
}
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-05-28 19:21:25 +02:00
$page_links = paginate_links ( array (
'base' => add_query_arg ( 'paged' , '%#%' ),
'format' => '' ,
'total' => ceil ( $total / $per ),
'current' => $page ,
'prev_text' => '«' ,
'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>
< ? php
if ( $page_links ) {
echo '<p class="pagenav">' . $page_links . '</p>' ;
}
?>
< 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 " />
< ol id = " the-comments-list " class = " commentlist " >
< ? php
$i = 0 ;
foreach ( $comments as $comment ) {
$class = 'js-unapproved' ;
if ( $i ++ % 2 ) {
$class .= ' alternate' ;
}
?>
< li id = " comment-<?php comment_ID(); ?> " class = " <?php echo $class ; ?> " >
< p >
< strong >< ? php comment_author (); ?> </strong>
< ? 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-07 16:01:02 +02:00
< ? php comment_text (); ?>
</ p >
2007-05-28 19:21:25 +02:00
< p >< small >
< ? php comment_date ( __ ( 'M j, g:i A' ) ); ?> —
[ < a href = " comment.php?action=editcomment&c=<?php comment_ID(); ?> " title = " <?php _e( 'Edit this comment' ); ?> " >< ? php _e ( 'Edit' ); ?> </a> |
< a href = " post.php?action=deletecomment&p=<?php echo $comment->comment_post_ID ; ?> " title = " <?php _e( 'Delete this comment' ); ?> " onclick = " return deleteSomething( 'comment', <?php comment_ID(); ?>, '<?php echo js_escape( sprintf( __( 'You are about to delete this comment by \ '%s \ '. \n \ 'OK \ ' to delete, \ 'Cancel \ ' to stop.' ), get_comment_author() ) ); ?>', theCommentList ); " >< ? php _e ( 'Delete' ); ?> </a> ] —
< 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>
</ small ></ p >
2007-06-07 16:01:02 +02:00
2007-05-28 19:21:25 +02:00
< p >< small >
< ? 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>
</ small ></ p >
2007-06-07 16:01:02 +02:00
< p >
2007-05-28 19:21:25 +02:00
</ li >
< ? php
}
?>
</ ol >
< ? php
if ( $page_links ) {
echo '<p class="pagenav">' . $page_links . '</p>' ;
}
?>
< div id = " ajax-response " ></ div >
< 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 >
< p class = " submit " >
< input type = " submit " id = " submit " name = " submit " value = " <?php _e( 'Bulk Moderate Comments »' ); ?> " />
</ p >
< 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-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' ; ?>