X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/3f5685912e89eb3b0534acd85aa0946b1ca2bbe3..refs/tags/wordpress-3.3.1-scripts:/wp-admin/edit-comments.php diff --git a/wp-admin/edit-comments.php b/wp-admin/edit-comments.php index ee23b3e3..224d3674 100644 --- a/wp-admin/edit-comments.php +++ b/wp-admin/edit-comments.php @@ -1,82 +1,80 @@ get_pagenum(); -$post_id = isset($_REQUEST['p']) ? (int) $_REQUEST['p'] : 0; +$doaction = $wp_list_table->current_action(); -if ( isset($_REQUEST['doaction']) || isset($_REQUEST['doaction2']) || isset($_REQUEST['delete_all']) || isset($_REQUEST['delete_all2']) ) { - check_admin_referer('bulk-comments'); +if ( $doaction ) { + check_admin_referer( 'bulk-comments' ); - if ( (isset($_REQUEST['delete_all']) || isset($_REQUEST['delete_all2'])) && !empty($_REQUEST['pagegen_timestamp']) ) { - $comment_status = $wpdb->escape($_REQUEST['comment_status']); - $delete_time = $wpdb->escape($_REQUEST['pagegen_timestamp']); + if ( 'delete_all' == $doaction && !empty( $_REQUEST['pagegen_timestamp'] ) ) { + $comment_status = $wpdb->escape( $_REQUEST['comment_status'] ); + $delete_time = $wpdb->escape( $_REQUEST['pagegen_timestamp'] ); $comment_ids = $wpdb->get_col( "SELECT comment_ID FROM $wpdb->comments WHERE comment_approved = '$comment_status' AND '$delete_time' > comment_date_gmt" ); $doaction = 'delete'; - } elseif ( ($_REQUEST['action'] != -1 || $_REQUEST['action2'] != -1) && isset($_REQUEST['delete_comments']) ) { + } elseif ( isset( $_REQUEST['delete_comments'] ) ) { $comment_ids = $_REQUEST['delete_comments']; - $doaction = ($_REQUEST['action'] != -1) ? $_REQUEST['action'] : $_REQUEST['action2']; - } elseif ( $_REQUEST['doaction'] == 'undo' && isset($_REQUEST['ids']) ) { - $comment_ids = array_map( 'absint', explode(',', $_REQUEST['ids']) ); - $doaction = $_REQUEST['action']; - } else { - wp_redirect($_SERVER['HTTP_REFERER']); + $doaction = ( $_REQUEST['action'] != -1 ) ? $_REQUEST['action'] : $_REQUEST['action2']; + } elseif ( isset( $_REQUEST['ids'] ) ) { + $comment_ids = array_map( 'absint', explode( ',', $_REQUEST['ids'] ) ); + } elseif ( wp_get_referer() ) { + wp_safe_redirect( wp_get_referer() ); + exit; } $approved = $unapproved = $spammed = $unspammed = $trashed = $untrashed = $deleted = 0; - foreach ($comment_ids as $comment_id) { // Check the permissions on each - $_post_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = %d", $comment_id) ); + $redirect_to = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'spammed', 'unspammed', 'approved', 'unapproved', 'ids' ), wp_get_referer() ); + $redirect_to = add_query_arg( 'paged', $pagenum, $redirect_to ); - if ( !current_user_can('edit_post', $_post_id) ) + foreach ( $comment_ids as $comment_id ) { // Check the permissions on each + if ( !current_user_can( 'edit_comment', $comment_id ) ) continue; - switch( $doaction ) { + switch ( $doaction ) { case 'approve' : - wp_set_comment_status($comment_id, 'approve'); + wp_set_comment_status( $comment_id, 'approve' ); $approved++; break; case 'unapprove' : - wp_set_comment_status($comment_id, 'hold'); + wp_set_comment_status( $comment_id, 'hold' ); $unapproved++; break; case 'spam' : - wp_spam_comment($comment_id); + wp_spam_comment( $comment_id ); $spammed++; break; case 'unspam' : - wp_unspam_comment($comment_id); + wp_unspam_comment( $comment_id ); $unspammed++; break; case 'trash' : - wp_trash_comment($comment_id); + wp_trash_comment( $comment_id ); $trashed++; break; case 'untrash' : - wp_untrash_comment($comment_id); + wp_untrash_comment( $comment_id ); $untrashed++; break; case 'delete' : - wp_delete_comment($comment_id); + wp_delete_comment( $comment_id ); $deleted++; break; } } - $redirect_to = 'edit-comments.php'; - if ( $approved ) $redirect_to = add_query_arg( 'approved', $approved, $redirect_to ); if ( $unapproved ) @@ -92,370 +90,168 @@ if ( isset($_REQUEST['doaction']) || isset($_REQUEST['doaction2']) || isset($_R if ( $deleted ) $redirect_to = add_query_arg( 'deleted', $deleted, $redirect_to ); if ( $trashed || $spammed ) - $redirect_to = add_query_arg( 'ids', join(',', $comment_ids), $redirect_to ); - - if ( $post_id ) - $redirect_to = add_query_arg( 'p', absint( $post_id ), $redirect_to ); - if ( isset($_REQUEST['apage']) ) - $redirect_to = add_query_arg( 'apage', absint($_REQUEST['apage']), $redirect_to ); - if ( !empty($_REQUEST['mode']) ) - $redirect_to = add_query_arg('mode', $_REQUEST['mode'], $redirect_to); - if ( !empty($_REQUEST['comment_status']) ) - $redirect_to = add_query_arg('comment_status', $_REQUEST['comment_status'], $redirect_to); - if ( !empty($_REQUEST['s']) ) - $redirect_to = add_query_arg('s', $_REQUEST['s'], $redirect_to); - wp_redirect( $redirect_to ); -} elseif ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) { - wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) ); + $redirect_to = add_query_arg( 'ids', join( ',', $comment_ids ), $redirect_to ); + + wp_safe_redirect( $redirect_to ); + exit; +} elseif ( ! empty( $_GET['_wp_http_referer'] ) ) { + wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) ); exit; } -if ( $post_id ) - $title = sprintf(__('Edit Comments on “%s”'), wp_html_excerpt(_draft_or_post_title($post_id), 50)); -else - $title = __('Edit Comments'); - -require_once('admin-header.php'); - -$mode = ( ! isset($_GET['mode']) || empty($_GET['mode']) ) ? 'detail' : esc_attr($_GET['mode']); +$wp_list_table->prepare_items(); -$comment_status = isset($_REQUEST['comment_status']) ? $_REQUEST['comment_status'] : 'all'; -if ( !in_array($comment_status, array('all', 'moderated', 'approved', 'spam', 'trash')) ) - $comment_status = 'all'; - -$comment_type = !empty($_GET['comment_type']) ? esc_attr($_GET['comment_type']) : ''; +wp_enqueue_script('admin-comments'); +enqueue_comment_hotkeys_js(); -$search_dirty = ( isset($_GET['s']) ) ? $_GET['s'] : ''; -$search = esc_attr( $search_dirty ); ?> +if ( $post_id ) + $title = sprintf(__('Comments on “%s”'), wp_html_excerpt(_draft_or_post_title($post_id), 50)); +else + $title = __('Comments'); + +add_screen_option( 'per_page', array('label' => _x( 'Comments', 'comments per page (screen options)' )) ); + +get_current_screen()->add_help_tab( array( +'id' => 'overview', +'title' => __('Overview'), +'content' => + '
' . __( 'You can manage comments made on your site similar to the way you manage posts and other content. This screen is customizable in the same ways as other management screens, and you can act on comments using the on-hover action links or the Bulk Actions.' ) . '
' +) ); +get_current_screen()->add_help_tab( array( +'id' => 'moderating-comments', +'title' => __('Moderating Comments'), +'content' => + '' . __( 'For more information:' ) . '
' . + '' . __( 'Documentation on Comments' ) . '
' . + '' . __( 'Documentation on Comment Spam' ) . '
' . + '' . __( 'Documentation on Keyboard Shortcuts' ) . '
' . + '' . __( 'Support Forums' ) . '
' +); + +require_once('./admin-header.php'); +?>';
-
- if ( $approved > 0 ) {
- printf( _n( '%s comment approved', '%s comments approved', $approved ), $approved );
- echo '
';
- }
- if ( $spammed > 0 ) {
- printf( _n( '%s comment marked as spam.', '%s comments marked as spam.', $spammed ), $spammed );
- $ids = isset($_GET['ids']) ? $_GET['ids'] : 0;
- echo ' ' . __('Undo') . '
';
- }
- if ( $unspammed > 0 ) {
- printf( _n( '%s comment restored from the spam', '%s comments restored from the spam', $unspammed ), $unspammed );
- echo '
';
- }
- if ( $trashed > 0 ) {
- printf( _n( '%s comment moved to the trash.', '%s comments moved to the trash.', $trashed ), $trashed );
- $ids = isset($_GET['ids']) ? $_GET['ids'] : 0;
- echo ' ' . __('Undo') . '
';
- }
- if ( $untrashed > 0 ) {
- printf( _n( '%s comment restored from the trash', '%s comments restored from the trash', $untrashed ), $untrashed );
- echo '
';
- }
- if ( $deleted > 0 ) {
- printf( _n( '%s comment permanently deleted', '%s comments permanently deleted', $deleted ), $deleted );
- echo '
';
- }
-
- echo '
' . $error_msg . '