-require_once('admin.php');
-
-$title = __('Edit Comments');
-$parent_file = 'edit-comments.php';
-wp_enqueue_script( 'admin-comments' );
-wp_enqueue_script('admin-forms');
-
-if ( !empty( $_REQUEST['delete_comments'] ) ) {
- check_admin_referer('bulk-comments');
-
- $comments_deleted = $comments_approved = $comments_unapproved = $comments_spammed = 0;
- foreach ($_REQUEST['delete_comments'] as $comment) : // Check the permissions on each
- $comment = (int) $comment;
- $post_id = (int) $wpdb->get_var("SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = $comment");
- // $authordata = get_userdata( $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_id") );
- if ( !current_user_can('edit_post', $post_id) )
- continue;
- if ( !empty( $_REQUEST['spamit'] ) ) {
- wp_set_comment_status($comment, 'spam');
- $comments_spammed++;
- } elseif ( !empty( $_REQUEST['deleteit'] ) ) {
- wp_set_comment_status($comment, 'delete');
- $comments_deleted++;
- } elseif ( !empty( $_REQUEST['approveit'] ) ) {
- wp_set_comment_status($comment, 'approve');
- $comments_approved++;
- } elseif ( !empty( $_REQUEST['unapproveit'] ) ) {
- wp_set_comment_status($comment, 'hold');
- $comments_unapproved++;
- }
- endforeach;
- $redirect_to = basename( __FILE__ ) . '?deleted=' . $comments_deleted . '&approved=' . $comments_approved . '&spam=' . $comments_spammed . '&unapproved=' . $comments_unapproved;
- 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 ( !empty($_GET['_wp_http_referer']) ) {
- wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI'])));
- exit;
-}
-
-require_once('admin-header.php');
-
-if ( empty($_GET['mode']) )
- $mode = 'detail';
-else
- $mode = attribute_escape($_GET['mode']);
-
-if ( isset($_GET['comment_status']) )
- $comment_status = attribute_escape($_GET['comment_status']);
-else
- $comment_status = '';
-
-if ( isset($_GET['s']) )
- $search_dirty = $_GET['s'];
-else
- $search_dirty = '';
-$search = attribute_escape( $search_dirty );
-?>
-<?php
-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['spam'] ) ? (int) $_GET['spam'] : 0;
+/**
+ * Edit Comments Administration Screen.
+ *
+ * @package WordPress
+ * @subpackage Administration
+ */
+
+/** WordPress Administration Bootstrap */
+require_once('./admin.php');
+if ( !current_user_can('edit_posts') )
+ wp_die(__('Cheatin’ uh?'));
+
+$wp_list_table = _get_list_table('WP_Comments_List_Table');
+$pagenum = $wp_list_table->get_pagenum();
+
+$doaction = $wp_list_table->current_action();
+
+if ( $doaction ) {
+ check_admin_referer( 'bulk-comments' );
+
+ 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 ( isset( $_REQUEST['delete_comments'] ) ) {
+ $comment_ids = $_REQUEST['delete_comments'];
+ $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;
+ }