X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/d3b1ea255664edd2deef17f900a655613d20820d..2376fb745f4ae8c6bd2353127524e0b28005143d:/wp-admin/comment.php diff --git a/wp-admin/comment.php b/wp-admin/comment.php index f6437e57..58d6e326 100644 --- a/wp-admin/comment.php +++ b/wp-admin/comment.php @@ -7,7 +7,7 @@ */ /** Load WordPress Bootstrap */ -require_once('admin.php'); +require_once('./admin.php'); $parent_file = 'edit-comments.php'; $submenu_file = 'edit-comments.php'; @@ -17,14 +17,26 @@ wp_reset_vars( array('action') ); if ( isset( $_POST['deletecomment'] ) ) $action = 'deletecomment'; +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'; +} + /** * Display error message at bottom of comments. * * @param string $msg Error Message. Assumed to contain HTML and be sanitized. */ -function comment_footer_die( $msg ) { // +function comment_footer_die( $msg ) { echo "

$msg

"; - include('admin-footer.php'); + include('./admin-footer.php'); die; } @@ -33,8 +45,15 @@ switch( $action ) { case 'editcomment' : $title = __('Edit Comment'); + add_contextual_help( $current_screen, '

' . __( 'You can edit the information left in a comment if needed. This is often useful when you notice that a commenter has made a typographical error.' ) . '

' . + '

' . __( 'You can also moderate the comment from this screen using the Status box, where you can also change the timestamp of the comment.' ) . '

' . + '

' . __( 'For more information:' ) . '

' . + '

' . __( 'Comments Documentation' ) . '

' . + '

' . __( 'Support Forums' ) . '

' + ); + wp_enqueue_script('comment'); - require_once('admin-header.php'); + require_once('./admin-header.php'); $comment_id = absint( $_GET['c'] ); @@ -44,68 +63,92 @@ case 'editcomment' : if ( !current_user_can('edit_post', $comment->comment_post_ID) ) comment_footer_die( __('You are not allowed to edit comments on this post.') ); + if ( 'trash' == $comment->comment_approved ) + comment_footer_die( __('This comment is in the Trash. Please move it out of the Trash if you want to edit it.') ); + $comment = get_comment_to_edit( $comment_id ); - include('edit-form-comment.php'); + include('./edit-form-comment.php'); break; -case 'cdc' : -case 'mac' : - - require_once('admin-header.php'); +case 'delete' : +case 'approve' : +case 'trash' : +case 'spam' : $comment_id = absint( $_GET['c'] ); - $formaction = 'cdc' == $action ? 'deletecomment' : 'approvecomment'; - $nonce_action = 'cdc' == $action ? 'delete-comment_' : 'approve-comment_'; - $nonce_action .= $comment_id; - if ( !$comment = get_comment_to_edit( $comment_id ) ) - comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' '.__('Go back').'!', 'edit.php') ); + if ( !$comment = get_comment_to_edit( $comment_id ) ) { + wp_redirect( admin_url('edit-comments.php?error=1') ); + die(); + } + + if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) { + wp_redirect( admin_url('edit-comments.php?error=2') ); + die(); + } + + // No need to re-approve/re-trash/re-spam a comment. + if ( $action == str_replace( '1', 'approve', $comment->comment_approved ) ) { + wp_redirect( admin_url( 'edit-comments.php?same=' . $comment_id ) ); + die(); + } + + require_once('./admin-header.php'); + + $formaction = $action . 'comment'; + $nonce_action = 'approve' == $action ? 'approve-comment_' : 'delete-comment_'; + $nonce_action .= $comment_id; - if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) - comment_footer_die( 'cdc' == $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.') ); ?>
+ + +

+ +if ( $comment->comment_approved != '0' ) { // if not unapproved + $message = ''; + switch ( $comment->comment_approved ) { + case '1' : + $message = __('This comment is currently approved.'); + break; + case 'spam' : + $message = __('This comment is currently marked as spam.'); + break; + case 'trash' : + $message = __('This comment is currently in the Trash.'); + break; + } + if ( $message ) + echo '

' . $message . '

'; +} +?>

-

- -
- - - - - - -
' onclick="self.location='" />
- - - - - - - - - -
- - +
@@ -119,100 +162,105 @@ if ( 'spam' == $_GET['dt'] ) { comment_author_url ) { ?> - + - +
comment_author; ?>
comment_author_url; ?>comment_author_url; ?>
comment_content; ?>
+

+ +
+ + + + + + +
+ + + + + + +
+
'.__('Go back').'!', 'edit-comments.php') ); + $noredir = isset($_REQUEST['noredir']); - if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) + if ( !$comment = get_comment($comment_id) ) + comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' '.__('Go back').'!', 'edit-comments.php') ); + if ( !current_user_can('edit_post', $comment->comment_post_ID ) ) comment_footer_die( __('You are not allowed to edit comments on this post.') ); - if ( 'spam' == $_REQUEST['dt'] ) - wp_set_comment_status( $comment->comment_ID, 'spam' ); + if ( '' != wp_get_referer() && ! $noredir && false === strpos(wp_get_referer(), 'comment.php') ) + $redir = wp_get_referer(); + elseif ( '' != wp_get_original_referer() && ! $noredir ) + $redir = wp_get_original_referer(); + elseif ( in_array( $action, array( 'approvecomment', 'unapprovecomment' ) ) ) + $redir = admin_url('edit-comments.php?p=' . absint( $comment->comment_post_ID ) ); else - wp_delete_comment( $comment->comment_ID ); - - if ( '' != wp_get_referer() && false == $noredir && false === strpos(wp_get_referer(), 'comment.php' ) ) - wp_redirect( wp_get_referer() ); - else if ( '' != wp_get_original_referer() && false == $noredir ) - wp_redirect( wp_get_original_referer() ); - else - wp_redirect( admin_url('edit-comments.php') ); - + $redir = admin_url('edit-comments.php'); + + $redir = remove_query_arg( array('spammed', 'unspammed', 'trashed', 'untrashed', 'deleted', 'ids', 'approved', 'unapproved'), $redir ); + + switch ( $action ) { + case 'deletecomment' : + wp_delete_comment( $comment_id ); + $redir = add_query_arg( array('deleted' => '1'), $redir ); + break; + 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; + case 'approvecomment' : + wp_set_comment_status( $comment_id, 'approve' ); + $redir = add_query_arg( array( 'approved' => 1 ), $redir ); + break; + case 'unapprovecomment' : + wp_set_comment_status( $comment_id, 'hold' ); + $redir = add_query_arg( array( 'unapproved' => 1 ), $redir ); + break; + } + + wp_redirect( $redir ); die; break; -case 'unapprovecomment' : - $comment_id = absint( $_GET['c'] ); - check_admin_referer( 'unapprove-comment_' . $comment_id ); - - if ( isset( $_GET['noredir'] ) ) - $noredir = true; - else - $noredir = false; - - if ( !$comment = get_comment( $comment_id ) ) - comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' '.__('Go back').'!', 'edit.php') ); - - if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) - comment_footer_die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') ); - - wp_set_comment_status( $comment->comment_ID, 'hold' ); - - if ( '' != wp_get_referer() && false == $noredir ) - wp_redirect( wp_get_referer() ); - else - wp_redirect( admin_url('edit-comments.php?p=' . absint( $comment->comment_post_ID ) . '#comments') ); - - exit(); - break; - -case 'approvecomment' : - $comment_id = absint( $_GET['c'] ); - check_admin_referer( 'approve-comment_' . $comment_id ); - - if ( isset( $_GET['noredir'] ) ) - $noredir = true; - else - $noredir = false; - - if ( !$comment = get_comment( $comment_id ) ) - comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' '.__('Go back').'!', 'edit.php') ); - - if ( !current_user_can('edit_post', $comment->comment_post_ID) ) - comment_footer_die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') ); - - wp_set_comment_status( $comment->comment_ID, 'approve' ); - - if ( '' != wp_get_referer() && false == $noredir ) - wp_redirect( wp_get_referer() ); - else - wp_redirect( admin_url('edit-comments.php?p=' . absint( $comment->comment_post_ID ) . '#comments') ); - - exit(); - break; - case 'editedcomment' : $comment_id = absint( $_POST['comment_ID'] ); @@ -235,6 +283,6 @@ default: } // end switch -include('admin-footer.php'); +include('./admin-footer.php'); -?> \ No newline at end of file +?>