+ 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
+ $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 );
+ $redir = add_query_arg( array('deleted' => '1'), $redir );
+ break;
+ case 'trashcomment' :
+ wp_trash_comment( $comment );
+ $redir = add_query_arg( array('trashed' => '1', 'ids' => $comment_id), $redir );
+ break;
+ case 'untrashcomment' :
+ wp_untrash_comment( $comment );
+ $redir = add_query_arg( array('untrashed' => '1'), $redir );
+ break;
+ case 'spamcomment' :
+ wp_spam_comment( $comment );
+ $redir = add_query_arg( array('spammed' => '1', 'ids' => $comment_id), $redir );
+ break;
+ case 'unspamcomment' :
+ wp_unspam_comment( $comment );
+ $redir = add_query_arg( array('unspammed' => '1'), $redir );
+ break;
+ case 'approvecomment' :
+ wp_set_comment_status( $comment, 'approve' );
+ $redir = add_query_arg( array( 'approved' => 1 ), $redir );
+ break;
+ case 'unapprovecomment' :
+ wp_set_comment_status( $comment, 'hold' );
+ $redir = add_query_arg( array( 'unapproved' => 1 ), $redir );
+ break;