2006-10-26 00:55:05 +02:00
< ? php
2008-08-11 22:26:31 +02:00
/**
* Comment Management Panel
*
* @ package WordPress
* @ subpackage Administration
*/
/** Load WordPress Bootstrap */
2006-10-26 00:55:05 +02:00
require_once ( 'admin.php' );
2006-12-07 01:40:31 +01:00
$parent_file = 'edit-comments.php' ;
2006-10-26 00:55:05 +02:00
$submenu_file = 'edit-comments.php' ;
2007-12-10 21:42:03 +01:00
wp_reset_vars ( array ( 'action' ) );
2006-10-26 00:55:05 +02:00
if ( isset ( $_POST [ 'deletecomment' ] ) )
$action = 'deletecomment' ;
2009-12-15 11:55:55 +01:00
if ( 'cdc' == $action )
$action = 'delete' ;
elseif ( 'mac' == $action )
$action = 'approve' ;
if ( isset ( $_GET [ 'dt' ] ) ) {
if ( 'spam' == $_GET [ 'dt' ] )
$action = 'spam' ;
elseif ( 'trash' == $_GET [ 'dt' ] )
$action = 'trash' ;
}
2008-08-11 22:26:31 +02:00
/**
* Display error message at bottom of comments .
*
* @ param string $msg Error Message . Assumed to contain HTML and be sanitized .
*/
2009-07-19 01:21:50 +02:00
function comment_footer_die ( $msg ) {
2007-12-10 21:42:03 +01:00
echo " <div class='wrap'><p> $msg </p></div> " ;
include ( 'admin-footer.php' );
die ;
}
switch ( $action ) {
case 'editcomment' :
2006-10-26 00:55:05 +02:00
$title = __ ( 'Edit Comment' );
2008-02-20 03:41:16 +01:00
wp_enqueue_script ( 'comment' );
2007-12-10 21:42:03 +01:00
require_once ( 'admin-header.php' );
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
$comment_id = absint ( $_GET [ 'c' ] );
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
if ( ! $comment = get_comment ( $comment_id ) )
comment_footer_die ( __ ( 'Oops, no comment with this ID.' ) . sprintf ( ' <a href="%s">' . __ ( 'Go back' ) . '</a>!' , 'javascript:history.go(-1)' ) );
2006-10-26 00:55:05 +02:00
if ( ! current_user_can ( 'edit_post' , $comment -> comment_post_ID ) )
2007-12-10 21:42:03 +01:00
comment_footer_die ( __ ( 'You are not allowed to edit comments on this post.' ) );
2006-10-26 00:55:05 +02:00
2009-08-09 12:58:41 +02:00
if ( 'trash' == $comment -> comment_approved )
2009-07-30 15:39:34 +02:00
comment_footer_die ( __ ( 'This comment is in the Trash. Please move it out of the Trash if you want to edit it.' ) );
2009-09-14 16:03:32 +02:00
2007-12-10 21:42:03 +01:00
$comment = get_comment_to_edit ( $comment_id );
2006-10-26 00:55:05 +02:00
include ( 'edit-form-comment.php' );
break ;
2009-12-15 11:55:55 +01:00
case 'delete' :
case 'approve' :
case 'trash' :
case 'spam' :
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
require_once ( 'admin-header.php' );
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
$comment_id = absint ( $_GET [ 'c' ] );
2009-12-15 11:55:55 +01:00
$formaction = $action . 'comment' ;
$nonce_action = 'approve' == $action ? 'approve-comment_' : 'delete-comment_' ;
2007-12-10 21:42:03 +01:00
$nonce_action .= $comment_id ;
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
if ( ! $comment = get_comment_to_edit ( $comment_id ) )
comment_footer_die ( __ ( 'Oops, no comment with this ID.' ) . sprintf ( ' <a href="%s">' . __ ( 'Go back' ) . '</a>!' , 'edit.php' ) );
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
if ( ! current_user_can ( 'edit_post' , $comment -> comment_post_ID ) )
2009-12-15 11:55:55 +01:00
comment_footer_die ( 'approve' != $action ? __ ( 'You are not allowed to delete comments on this post.' ) : __ ( 'You are not allowed to edit comments on this post, so you cannot approve this comment.' ) );
2006-10-26 00:55:05 +02:00
?>
< div class = 'wrap' >
< div class = " narrow " >
2007-12-10 21:42:03 +01:00
< ? php
2009-12-15 11:55:55 +01:00
switch ( $action ) {
case 'spam' :
$caution_msg = __ ( 'You are about to mark the following comment as spam:' );
$button = __ ( 'Spam Comment' );
break ;
case 'trash' :
$caution_msg = __ ( 'You are about to move the following comment to the Trash:' );
$button = __ ( 'Trash Comment' );
break ;
case 'delete' :
$caution_msg = __ ( 'You are about to delete the following comment:' );
$button = __ ( 'Permanently Delete Comment' );
break ;
default :
$caution_msg = __ ( 'You are about to approve the following comment:' );
$button = __ ( 'Approve Comment' );
break ;
2007-12-10 21:42:03 +01:00
}
?>
< p >< strong >< ? php _e ( 'Caution:' ); ?> </strong> <?php echo $caution_msg; ?></p>
2006-10-26 00:55:05 +02:00
2009-12-15 11:55:55 +01:00
< table class = " form-table comment-ays " >
2006-10-26 00:55:05 +02:00
< tr class = " alt " >
2007-12-23 11:05:37 +01:00
< th scope = " row " >< ? php _e ( 'Author' ); ?> </th>
2006-10-26 00:55:05 +02:00
< td >< ? php echo $comment -> comment_author ; ?> </td>
</ tr >
< ? php if ( $comment -> comment_author_email ) { ?>
< tr >
2007-12-23 11:05:37 +01:00
< th scope = " row " >< ? php _e ( 'E-mail' ); ?> </th>
2006-10-26 00:55:05 +02:00
< td >< ? php echo $comment -> comment_author_email ; ?> </td>
</ tr >
< ? php } ?>
< ? php if ( $comment -> comment_author_url ) { ?>
< tr >
2007-12-23 11:05:37 +01:00
< th scope = " row " >< ? php _e ( 'URL' ); ?> </th>
2009-07-19 01:21:50 +02:00
< td >< a href = " <?php echo $comment->comment_author_url ; ?> " >< ? php echo $comment -> comment_author_url ; ?> </a></td>
2006-10-26 00:55:05 +02:00
</ tr >
< ? php } ?>
< tr >
2009-03-02 20:20:19 +01:00
< th scope = " row " valign = " top " >< ? php /* translators: field name in comment form */ echo _x ( 'Comment' , 'noun' ); ?> </th>
2007-05-25 11:41:04 +02:00
< td >< ? php echo $comment -> comment_content ; ?> </td>
2006-10-26 00:55:05 +02:00
</ tr >
</ table >
2009-12-15 11:55:55 +01:00
< p >< ? php _e ( 'Are you sure you want to do that?' ); ?> </p>
< form action = 'comment.php' method = 'get' >
< table width = " 100% " >
< tr >
< td >< a class = " button " href = " <?php echo admin_url('edit-comments.php'); ?> " >< ? php esc_attr_e ( 'No' ); ?> </a></td>
< td class = " textright " >< input type = 'submit' class = " button " value = '<?php echo esc_attr($button); ?>' /></ td >
</ tr >
</ table >
< ? php wp_nonce_field ( $nonce_action ); ?>
< input type = 'hidden' name = 'action' value = '<?php echo esc_attr($formaction); ?>' />
< input type = 'hidden' name = 'p' value = '<?php echo esc_attr($comment->comment_post_ID); ?>' />
< input type = 'hidden' name = 'c' value = '<?php echo esc_attr($comment->comment_ID); ?>' />
< input type = 'hidden' name = 'noredir' value = '1' />
</ form >
2006-10-26 00:55:05 +02:00
</ div >
</ div >
< ? php
break ;
2007-12-10 21:42:03 +01:00
case 'deletecomment' :
2009-07-30 15:39:34 +02:00
case 'trashcomment' :
case 'untrashcomment' :
2009-11-27 11:34:09 +01:00
case 'spamcomment' :
case 'unspamcomment' :
2009-07-30 15:39:34 +02:00
$comment_id = absint ( $_REQUEST [ 'c' ] );
2009-12-15 11:55:55 +01:00
check_admin_referer ( 'delete-comment_' . $comment_id );
2009-07-30 15:39:34 +02:00
$noredir = isset ( $_REQUEST [ 'noredir' ]);
2009-09-14 16:03:32 +02:00
2009-10-27 04:46:31 +01:00
if ( ! $comment = get_comment ( $comment_id ) )
2009-07-30 15:39:34 +02:00
comment_footer_die ( __ ( 'Oops, no comment with this ID.' ) . sprintf ( ' <a href="%s">' . __ ( 'Go back' ) . '</a>!' , 'edit-comments.php' ) );
2009-10-27 04:46:31 +01:00
if ( ! current_user_can ( 'edit_post' , $comment -> comment_post_ID ) )
2009-07-30 15:39:34 +02:00
comment_footer_die ( __ ( 'You are not allowed to edit comments on this post.' ) );
2009-09-14 16:03:32 +02:00
2009-10-27 04:46:31 +01:00
if ( '' != wp_get_referer () && false == $noredir && false === strpos ( wp_get_referer (), 'comment.php' ) )
$redir = wp_get_referer ();
elseif ( '' != wp_get_original_referer () && false == $noredir )
$redir = wp_get_original_referer ();
else
$redir = admin_url ( 'edit-comments.php' );
2009-11-27 11:34:09 +01:00
$redir = remove_query_arg ( array ( 'spammed' , 'unspammed' , 'trashed' , 'untrashed' , 'deleted' , 'ids' ), $redir );
switch ( $action ) {
2009-12-15 10:45:29 +01:00
case 'deletecomment' :
2009-12-15 11:55:55 +01:00
wp_delete_comment ( $comment_id );
2009-12-15 10:45:29 +01:00
$redir = add_query_arg ( array ( 'deleted' => '1' ), $redir );
break ;
2009-11-27 11:34:09 +01:00
case 'trashcomment' :
wp_trash_comment ( $comment_id );
$redir = add_query_arg ( array ( 'trashed' => '1' , 'ids' => $comment_id ), $redir );
break ;
case 'untrashcomment' :
wp_untrash_comment ( $comment_id );
$redir = add_query_arg ( array ( 'untrashed' => '1' ), $redir );
break ;
case 'spamcomment' :
wp_spam_comment ( $comment_id );
$redir = add_query_arg ( array ( 'spammed' => '1' , 'ids' => $comment_id ), $redir );
break ;
case 'unspamcomment' :
wp_unspam_comment ( $comment_id );
$redir = add_query_arg ( array ( 'unspammed' => '1' ), $redir );
break ;
2009-07-30 15:39:34 +02:00
}
2009-09-14 16:03:32 +02:00
2009-10-27 04:46:31 +01:00
wp_redirect ( $redir );
2009-07-30 15:39:34 +02:00
die ;
break ;
2009-12-15 11:55:55 +01:00
case 'approvecomment' :
2007-12-10 21:42:03 +01:00
case 'unapprovecomment' :
$comment_id = absint ( $_GET [ 'c' ] );
2009-10-27 04:46:31 +01:00
check_admin_referer ( 'approve-comment_' . $comment_id );
2006-10-30 20:27:24 +01:00
2009-12-15 11:55:55 +01:00
$noredir = isset ( $_GET [ 'noredir' ] );
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
if ( ! $comment = get_comment ( $comment_id ) )
comment_footer_die ( __ ( 'Oops, no comment with this ID.' ) . sprintf ( ' <a href="%s">' . __ ( 'Go back' ) . '</a>!' , 'edit.php' ) );
2006-10-26 00:55:05 +02:00
2009-12-15 11:55:55 +01:00
if ( ! current_user_can ( 'edit_post' , $comment -> comment_post_ID ) ) {
if ( 'approvecomment' == $action )
comment_footer_die ( __ ( 'You are not allowed to edit comments on this post, so you cannot approve this comment.' ) );
else
comment_footer_die ( __ ( 'You are not allowed to edit comments on this post, so you cannot disapprove this comment.' ) );
}
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
if ( '' != wp_get_referer () && false == $noredir )
2009-12-15 11:55:55 +01:00
$redir = remove_query_arg ( array ( 'approved' , 'unapproved' ), wp_get_referer () );
2007-12-10 21:42:03 +01:00
else
2009-12-15 11:55:55 +01:00
$redir = admin_url ( 'edit-comments.php?p=' . absint ( $comment -> comment_post_ID ) );
if ( 'approvecomment' == $action ) {
wp_set_comment_status ( $comment_id , 'approve' );
$redir = add_query_arg ( array ( 'approved' => 1 ), $redir );
} else {
wp_set_comment_status ( $comment_id , 'hold' );
$redir = add_query_arg ( array ( 'unapproved' => 1 ), $redir );
}
2006-10-26 00:55:05 +02:00
2009-12-15 11:55:55 +01:00
wp_redirect ( $redir );
2007-12-10 21:42:03 +01:00
2006-10-26 00:55:05 +02:00
exit ();
break ;
2007-12-10 21:42:03 +01:00
case 'editedcomment' :
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
$comment_id = absint ( $_POST [ 'comment_ID' ] );
2009-03-06 06:06:15 +01:00
$comment_post_id = absint ( $_POST [ 'comment_post_ID' ] );
2006-10-26 00:55:05 +02:00
2007-12-10 21:42:03 +01:00
check_admin_referer ( 'update-comment_' . $comment_id );
2006-10-26 00:55:05 +02:00
edit_comment ();
2008-11-20 05:51:47 +01:00
$location = ( empty ( $_POST [ 'referredby' ] ) ? " edit-comments.php?p= $comment_post_id " : $_POST [ 'referredby' ] ) . '#comment-' . $comment_id ;
2007-12-10 21:42:03 +01:00
$location = apply_filters ( 'comment_edit_redirect' , $location , $comment_id );
wp_redirect ( $location );
2006-11-15 01:02:28 +01:00
exit ();
2006-10-26 00:55:05 +02:00
break ;
2007-12-10 21:42:03 +01:00
2006-10-26 00:55:05 +02:00
default :
2007-12-10 21:42:03 +01:00
wp_die ( __ ( 'Unknown action.' ) );
2006-10-26 00:55:05 +02:00
break ;
2007-12-10 21:42:03 +01:00
2006-10-26 00:55:05 +02:00
} // end switch
include ( 'admin-footer.php' );
2009-07-19 01:21:50 +02:00
?>