--- a/wp/wp-admin/includes/class-wp-comments-list-table.php Mon Oct 14 18:06:33 2019 +0200
+++ b/wp/wp-admin/includes/class-wp-comments-list-table.php Mon Oct 14 18:28:13 2019 +0200
@@ -45,17 +45,19 @@
add_filter( 'comment_author', array( $this, 'floated_admin_avatar' ), 10, 2 );
}
- parent::__construct( array(
- 'plural' => 'comments',
- 'singular' => 'comment',
- 'ajax' => true,
- 'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
- ) );
+ parent::__construct(
+ array(
+ 'plural' => 'comments',
+ 'singular' => 'comment',
+ 'ajax' => true,
+ 'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
+ )
+ );
}
public function floated_admin_avatar( $name, $comment_ID ) {
$comment = get_comment( $comment_ID );
- $avatar = get_avatar( $comment, 32, 'mystery' );
+ $avatar = get_avatar( $comment, 32, 'mystery' );
return "$avatar $name";
}
@@ -63,11 +65,10 @@
* @return bool
*/
public function ajax_user_can() {
- return current_user_can('edit_posts');
+ return current_user_can( 'edit_posts' );
}
/**
- *
* @global int $post_id
* @global string $comment_status
* @global string $search
@@ -77,10 +78,11 @@
global $post_id, $comment_status, $search, $comment_type;
$comment_status = isset( $_REQUEST['comment_status'] ) ? $_REQUEST['comment_status'] : 'all';
- if ( !in_array( $comment_status, array( 'all', 'moderated', 'approved', 'spam', 'trash' ) ) )
+ if ( ! in_array( $comment_status, array( 'all', 'mine', 'moderated', 'approved', 'spam', 'trash' ) ) ) {
$comment_status = 'all';
+ }
- $comment_type = !empty( $_REQUEST['comment_type'] ) ? $_REQUEST['comment_type'] : '';
+ $comment_type = ! empty( $_REQUEST['comment_type'] ) ? $_REQUEST['comment_type'] : '';
$search = ( isset( $_REQUEST['s'] ) ) ? $_REQUEST['s'] : '';
@@ -89,7 +91,7 @@
$user_id = ( isset( $_REQUEST['user_id'] ) ) ? $_REQUEST['user_id'] : '';
$orderby = ( isset( $_REQUEST['orderby'] ) ) ? $_REQUEST['orderby'] : '';
- $order = ( isset( $_REQUEST['order'] ) ) ? $_REQUEST['order'] : '';
+ $order = ( isset( $_REQUEST['order'] ) ) ? $_REQUEST['order'] : '';
$comments_per_page = $this->get_per_page( $comment_status );
@@ -97,8 +99,7 @@
if ( isset( $_REQUEST['number'] ) ) {
$number = (int) $_REQUEST['number'];
- }
- else {
+ } else {
$number = $comments_per_page + min( 8, $comments_per_page ); // Grab a few extra
}
@@ -115,29 +116,39 @@
}
$status_map = array(
+ 'mine' => '',
'moderated' => 'hold',
- 'approved' => 'approve',
- 'all' => '',
+ 'approved' => 'approve',
+ 'all' => '',
);
$args = array(
- 'status' => isset( $status_map[$comment_status] ) ? $status_map[$comment_status] : $comment_status,
- 'search' => $search,
- 'user_id' => $user_id,
- 'offset' => $start,
- 'number' => $number,
- 'post_id' => $post_id,
- 'type' => $comment_type,
- 'orderby' => $orderby,
- 'order' => $order,
+ 'status' => isset( $status_map[ $comment_status ] ) ? $status_map[ $comment_status ] : $comment_status,
+ 'search' => $search,
+ 'user_id' => $user_id,
+ 'offset' => $start,
+ 'number' => $number,
+ 'post_id' => $post_id,
+ 'type' => $comment_type,
+ 'orderby' => $orderby,
+ 'order' => $order,
'post_type' => $post_type,
);
+ /**
+ * Filters the arguments for the comment query in the comments list table.
+ *
+ * @since 5.1.0
+ *
+ * @param array $args An array of get_comments() arguments.
+ */
+ $args = apply_filters( 'comments_list_table_query_args', $args );
+
$_comments = get_comments( $args );
if ( is_array( $_comments ) ) {
update_comment_cache( $_comments );
- $this->items = array_slice( $_comments, 0, $comments_per_page );
+ $this->items = array_slice( $_comments, 0, $comments_per_page );
$this->extra_items = array_slice( $_comments, $comments_per_page );
$_comment_post_ids = array_unique( wp_list_pluck( $_comments, 'comment_post_ID' ) );
@@ -145,20 +156,26 @@
$this->pending_count = get_pending_comments_num( $_comment_post_ids );
}
- $total_comments = get_comments( array_merge( $args, array(
- 'count' => true,
- 'offset' => 0,
- 'number' => 0
- ) ) );
+ $total_comments = get_comments(
+ array_merge(
+ $args,
+ array(
+ 'count' => true,
+ 'offset' => 0,
+ 'number' => 0,
+ )
+ )
+ );
- $this->set_pagination_args( array(
- 'total_items' => $total_comments,
- 'per_page' => $comments_per_page,
- ) );
+ $this->set_pagination_args(
+ array(
+ 'total_items' => $total_comments,
+ 'per_page' => $comments_per_page,
+ )
+ );
}
/**
- *
* @param string $comment_status
* @return int
*/
@@ -176,7 +193,6 @@
}
/**
- *
* @global string $comment_status
*/
public function no_items() {
@@ -190,7 +206,6 @@
}
/**
- *
* @global int $post_id
* @global string $comment_status
* @global string $comment_type
@@ -203,12 +218,19 @@
$stati = array(
/* translators: %s: all comments count */
- 'all' => _nx_noop(
+ 'all' => _nx_noop(
'All <span class="count">(%s)</span>',
'All <span class="count">(%s)</span>',
'comments'
), // singular not used
+ /* translators: %s: current user's comments count */
+ 'mine' => _nx_noop(
+ 'Mine <span class="count">(%s)</span>',
+ 'Mine <span class="count">(%s)</span>',
+ 'comments'
+ ),
+
/* translators: %s: pending comments count */
'moderated' => _nx_noop(
'Pending <span class="count">(%s)</span>',
@@ -217,33 +239,35 @@
),
/* translators: %s: approved comments count */
- 'approved' => _nx_noop(
+ 'approved' => _nx_noop(
'Approved <span class="count">(%s)</span>',
'Approved <span class="count">(%s)</span>',
'comments'
),
/* translators: %s: spam comments count */
- 'spam' => _nx_noop(
+ 'spam' => _nx_noop(
'Spam <span class="count">(%s)</span>',
'Spam <span class="count">(%s)</span>',
'comments'
),
/* translators: %s: trashed comments count */
- 'trash' => _nx_noop(
+ 'trash' => _nx_noop(
'Trash <span class="count">(%s)</span>',
'Trash <span class="count">(%s)</span>',
'comments'
- )
+ ),
);
- if ( !EMPTY_TRASH_DAYS )
- unset($stati['trash']);
+ if ( ! EMPTY_TRASH_DAYS ) {
+ unset( $stati['trash'] );
+ }
$link = admin_url( 'edit-comments.php' );
- if ( !empty($comment_type) && 'all' != $comment_type )
+ if ( ! empty( $comment_type ) && 'all' != $comment_type ) {
$link = add_query_arg( 'comment_type', $comment_type, $link );
+ }
foreach ( $stati as $status => $label ) {
$current_link_attributes = '';
@@ -252,11 +276,27 @@
$current_link_attributes = ' class="current" aria-current="page"';
}
- if ( !isset( $num_comments->$status ) )
+ if ( 'mine' === $status ) {
+ $current_user_id = get_current_user_id();
+ $num_comments->mine = get_comments(
+ array(
+ 'post_id' => $post_id ? $post_id : 0,
+ 'user_id' => $current_user_id,
+ 'count' => true,
+ )
+ );
+ $link = add_query_arg( 'user_id', $current_user_id, $link );
+ } else {
+ $link = remove_query_arg( 'user_id', $link );
+ }
+
+ if ( ! isset( $num_comments->$status ) ) {
$num_comments->$status = 10;
+ }
$link = add_query_arg( 'comment_status', $status, $link );
- if ( $post_id )
+ if ( $post_id ) {
$link = add_query_arg( 'p', absint( $post_id ), $link );
+ }
/*
// I toyed with this, but decided against it. Leaving it in here in case anyone thinks it is a good idea. ~ Mark
if ( !empty( $_REQUEST['s'] ) )
@@ -264,7 +304,8 @@
*/
$status_links[ $status ] = "<a href='$link'$current_link_attributes>" . sprintf(
translate_nooped_plural( $label, $num_comments->$status ),
- sprintf( '<span class="%s-count">%s</span>',
+ sprintf(
+ '<span class="%s-count">%s</span>',
( 'moderated' === $status ) ? 'pending' : $status,
number_format_i18n( $num_comments->$status )
)
@@ -275,15 +316,15 @@
* Filters the comment status links.
*
* @since 2.5.0
+ * @since 5.1.0 The 'Mine' link was added.
*
- * @param array $status_links An array of fully-formed status links. Default 'All'.
- * Accepts 'All', 'Pending', 'Approved', 'Spam', and 'Trash'.
+ * @param string[] $status_links An associative array of fully-formed comment status links. Includes 'All', 'Mine',
+ * 'Pending', 'Approved', 'Spam', and 'Trash'.
*/
return apply_filters( 'comment_status_links', $status_links );
}
/**
- *
* @global string $comment_status
*
* @return array
@@ -292,12 +333,15 @@
global $comment_status;
$actions = array();
- if ( in_array( $comment_status, array( 'all', 'approved' ) ) )
+ if ( in_array( $comment_status, array( 'all', 'approved' ) ) ) {
$actions['unapprove'] = __( 'Unapprove' );
- if ( in_array( $comment_status, array( 'all', 'moderated' ) ) )
+ }
+ if ( in_array( $comment_status, array( 'all', 'moderated' ) ) ) {
$actions['approve'] = __( 'Approve' );
- if ( in_array( $comment_status, array( 'all', 'moderated', 'approved', 'trash' ) ) )
+ }
+ if ( in_array( $comment_status, array( 'all', 'moderated', 'approved', 'trash' ) ) ) {
$actions['spam'] = _x( 'Mark as Spam', 'comment' );
+ }
if ( 'trash' === $comment_status ) {
$actions['untrash'] = __( 'Restore' );
@@ -305,16 +349,16 @@
$actions['unspam'] = _x( 'Not Spam', 'comment' );
}
- if ( in_array( $comment_status, array( 'trash', 'spam' ) ) || !EMPTY_TRASH_DAYS )
+ if ( in_array( $comment_status, array( 'trash', 'spam' ) ) || ! EMPTY_TRASH_DAYS ) {
$actions['delete'] = __( 'Delete Permanently' );
- else
+ } else {
$actions['trash'] = __( 'Move to Trash' );
+ }
return $actions;
}
/**
- *
* @global string $comment_status
* @global string $comment_type
*
@@ -327,32 +371,36 @@
if ( ! isset( $has_items ) ) {
$has_items = $this->has_items();
}
-?>
+ ?>
<div class="alignleft actions">
-<?php
+ <?php
if ( 'top' === $which ) {
-?>
- <label class="screen-reader-text" for="filter-by-comment-type"><?php _e( 'Filter by comment type' ); ?></label>
- <select id="filter-by-comment-type" name="comment_type">
- <option value=""><?php _e( 'All comment types' ); ?></option>
-<?php
+ ?>
+ <label class="screen-reader-text" for="filter-by-comment-type"><?php _e( 'Filter by comment type' ); ?></label>
+ <select id="filter-by-comment-type" name="comment_type">
+ <option value=""><?php _e( 'All comment types' ); ?></option>
+ <?php
/**
* Filters the comment types dropdown menu.
*
* @since 2.7.0
*
- * @param array $comment_types An array of comment types. Accepts 'Comments', 'Pings'.
+ * @param string[] $comment_types An array of comment types. Accepts 'Comments', 'Pings'.
*/
- $comment_types = apply_filters( 'admin_comment_types_dropdown', array(
- 'comment' => __( 'Comments' ),
- 'pings' => __( 'Pings' ),
- ) );
+ $comment_types = apply_filters(
+ 'admin_comment_types_dropdown',
+ array(
+ 'comment' => __( 'Comments' ),
+ 'pings' => __( 'Pings' ),
+ )
+ );
- foreach ( $comment_types as $type => $label )
- echo "\t" . '<option value="' . esc_attr( $type ) . '"' . selected( $comment_type, $type, false ) . ">$label</option>\n";
+ foreach ( $comment_types as $type => $label ) {
+ echo "\t" . '<option value="' . esc_attr( $type ) . '"' . selected( $comment_type, $type, false ) . ">$label</option>\n";
+ }
?>
- </select>
-<?php
+ </select>
+ <?php
/**
* Fires just before the Filter submit button for comment types.
*
@@ -382,14 +430,14 @@
* @return string|false
*/
public function current_action() {
- if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
+ if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) {
return 'delete_all';
+ }
return parent::current_action();
}
/**
- *
* @global int $post_id
*
* @return array
@@ -399,10 +447,11 @@
$columns = array();
- if ( $this->checkbox )
+ if ( $this->checkbox ) {
$columns['cb'] = '<input type="checkbox" />';
+ }
- $columns['author'] = __( 'Author' );
+ $columns['author'] = __( 'Author' );
$columns['comment'] = _x( 'Comment', 'column name' );
if ( ! $post_id ) {
@@ -416,14 +465,13 @@
}
/**
- *
* @return array
*/
protected function get_sortable_columns() {
return array(
'author' => 'comment_author',
'response' => 'comment_post_ID',
- 'date' => 'comment_date'
+ 'date' => 'comment_date',
);
}
@@ -441,13 +489,13 @@
/**
*/
public function display() {
- wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
+ wp_nonce_field( 'fetch-list-' . get_class( $this ), '_ajax_fetch_list_nonce' );
$this->display_tablenav( 'top' );
$this->screen->render_screen_reader_content( 'heading_list' );
-?>
+ ?>
<table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
<thead>
<tr>
@@ -461,8 +509,14 @@
<tbody id="the-extra-comment-list" data-wp-lists="list:comment" style="display: none;">
<?php
+ /*
+ * Back up the items to restore after printing the extra items markup.
+ * The extra items may be empty, which will prevent the table nav from displaying later.
+ */
+ $items = $this->items;
$this->items = $this->extra_items;
$this->display_rows_or_placeholder();
+ $this->items = $items;
?>
</tbody>
@@ -473,7 +527,7 @@
</tfoot>
</table>
-<?php
+ <?php
$this->display_tablenav( 'bottom' );
}
@@ -507,88 +561,92 @@
unset( $GLOBALS['post'], $GLOBALS['comment'] );
}
- /**
- * Generate and display row actions links.
- *
- * @since 4.3.0
- *
- * @global string $comment_status Status for the current listed comments.
- *
- * @param WP_Comment $comment The comment object.
- * @param string $column_name Current column name.
- * @param string $primary Primary column name.
- * @return string|void Comment row actions output.
- */
- protected function handle_row_actions( $comment, $column_name, $primary ) {
- global $comment_status;
+ /**
+ * Generate and display row actions links.
+ *
+ * @since 4.3.0
+ *
+ * @global string $comment_status Status for the current listed comments.
+ *
+ * @param WP_Comment $comment The comment object.
+ * @param string $column_name Current column name.
+ * @param string $primary Primary column name.
+ * @return string|void Comment row actions output.
+ */
+ protected function handle_row_actions( $comment, $column_name, $primary ) {
+ global $comment_status;
if ( $primary !== $column_name ) {
return '';
}
- if ( ! $this->user_can ) {
- return;
+ if ( ! $this->user_can ) {
+ return;
}
$the_comment_status = wp_get_comment_status( $comment );
$out = '';
- $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
+ $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
$approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) );
$url = "comment.php?c=$comment->comment_ID";
- $approve_url = esc_url( $url . "&action=approvecomment&$approve_nonce" );
+ $approve_url = esc_url( $url . "&action=approvecomment&$approve_nonce" );
$unapprove_url = esc_url( $url . "&action=unapprovecomment&$approve_nonce" );
- $spam_url = esc_url( $url . "&action=spamcomment&$del_nonce" );
- $unspam_url = esc_url( $url . "&action=unspamcomment&$del_nonce" );
- $trash_url = esc_url( $url . "&action=trashcomment&$del_nonce" );
- $untrash_url = esc_url( $url . "&action=untrashcomment&$del_nonce" );
- $delete_url = esc_url( $url . "&action=deletecomment&$del_nonce" );
+ $spam_url = esc_url( $url . "&action=spamcomment&$del_nonce" );
+ $unspam_url = esc_url( $url . "&action=unspamcomment&$del_nonce" );
+ $trash_url = esc_url( $url . "&action=trashcomment&$del_nonce" );
+ $untrash_url = esc_url( $url . "&action=untrashcomment&$del_nonce" );
+ $delete_url = esc_url( $url . "&action=deletecomment&$del_nonce" );
// Preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash.
$actions = array(
- 'approve' => '', 'unapprove' => '',
- 'reply' => '',
+ 'approve' => '',
+ 'unapprove' => '',
+ 'reply' => '',
'quickedit' => '',
- 'edit' => '',
- 'spam' => '', 'unspam' => '',
- 'trash' => '', 'untrash' => '', 'delete' => ''
+ 'edit' => '',
+ 'spam' => '',
+ 'unspam' => '',
+ 'trash' => '',
+ 'untrash' => '',
+ 'delete' => '',
);
// Not looking at all comments.
if ( $comment_status && 'all' != $comment_status ) {
if ( 'approved' === $the_comment_status ) {
- $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=unapproved' class='vim-u vim-destructive' aria-label='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
+ $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=unapproved' class='vim-u vim-destructive aria-button-if-js' aria-label='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
} elseif ( 'unapproved' === $the_comment_status ) {
- $actions['approve'] = "<a href='$approve_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=approved' class='vim-a vim-destructive' aria-label='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
+ $actions['approve'] = "<a href='$approve_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=approved' class='vim-a vim-destructive aria-button-if-js' aria-label='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
}
} else {
- $actions['approve'] = "<a href='$approve_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved' class='vim-a' aria-label='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
- $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved' class='vim-u' aria-label='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
+ $actions['approve'] = "<a href='$approve_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved' class='vim-a aria-button-if-js' aria-label='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
+ $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved' class='vim-u aria-button-if-js' aria-label='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
}
if ( 'spam' !== $the_comment_status ) {
- $actions['spam'] = "<a href='$spam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::spam=1' class='vim-s vim-destructive' aria-label='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */ _x( 'Spam', 'verb' ) . '</a>';
+ $actions['spam'] = "<a href='$spam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::spam=1' class='vim-s vim-destructive aria-button-if-js' aria-label='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */ _x( 'Spam', 'verb' ) . '</a>';
} elseif ( 'spam' === $the_comment_status ) {
- $actions['unspam'] = "<a href='$unspam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:unspam=1' class='vim-z vim-destructive' aria-label='" . esc_attr__( 'Restore this comment from the spam' ) . "'>" . _x( 'Not Spam', 'comment' ) . '</a>';
+ $actions['unspam'] = "<a href='$unspam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:unspam=1' class='vim-z vim-destructive aria-button-if-js' aria-label='" . esc_attr__( 'Restore this comment from the spam' ) . "'>" . _x( 'Not Spam', 'comment' ) . '</a>';
}
if ( 'trash' === $the_comment_status ) {
- $actions['untrash'] = "<a href='$untrash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:untrash=1' class='vim-z vim-destructive' aria-label='" . esc_attr__( 'Restore this comment from the Trash' ) . "'>" . __( 'Restore' ) . '</a>';
+ $actions['untrash'] = "<a href='$untrash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:untrash=1' class='vim-z vim-destructive aria-button-if-js' aria-label='" . esc_attr__( 'Restore this comment from the Trash' ) . "'>" . __( 'Restore' ) . '</a>';
}
- if ( 'spam' === $the_comment_status || 'trash' === $the_comment_status || !EMPTY_TRASH_DAYS ) {
- $actions['delete'] = "<a href='$delete_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::delete=1' class='delete vim-d vim-destructive' aria-label='" . esc_attr__( 'Delete this comment permanently' ) . "'>" . __( 'Delete Permanently' ) . '</a>';
+ if ( 'spam' === $the_comment_status || 'trash' === $the_comment_status || ! EMPTY_TRASH_DAYS ) {
+ $actions['delete'] = "<a href='$delete_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::delete=1' class='delete vim-d vim-destructive aria-button-if-js' aria-label='" . esc_attr__( 'Delete this comment permanently' ) . "'>" . __( 'Delete Permanently' ) . '</a>';
} else {
- $actions['trash'] = "<a href='$trash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::trash=1' class='delete vim-d vim-destructive' aria-label='" . esc_attr__( 'Move this comment to the Trash' ) . "'>" . _x( 'Trash', 'verb' ) . '</a>';
+ $actions['trash'] = "<a href='$trash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::trash=1' class='delete vim-d vim-destructive aria-button-if-js' aria-label='" . esc_attr__( 'Move this comment to the Trash' ) . "'>" . _x( 'Trash', 'verb' ) . '</a>';
}
if ( 'spam' !== $the_comment_status && 'trash' !== $the_comment_status ) {
- $actions['edit'] = "<a href='comment.php?action=editcomment&c={$comment->comment_ID}' aria-label='" . esc_attr__( 'Edit this comment' ) . "'>". __( 'Edit' ) . '</a>';
+ $actions['edit'] = "<a href='comment.php?action=editcomment&c={$comment->comment_ID}' aria-label='" . esc_attr__( 'Edit this comment' ) . "'>" . __( 'Edit' ) . '</a>';
- $format = '<a data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s" aria-label="%s" href="#">%s</a>';
+ $format = '<button type="button" data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s button-link" aria-expanded="false" aria-label="%s">%s</button>';
$actions['quickedit'] = sprintf( $format, $comment->comment_ID, $comment->comment_post_ID, 'edit', 'vim-q comment-inline', esc_attr__( 'Quick edit this comment inline' ), __( 'Quick Edit' ) );
@@ -598,20 +656,21 @@
/** This filter is documented in wp-admin/includes/dashboard.php */
$actions = apply_filters( 'comment_row_actions', array_filter( $actions ), $comment );
- $i = 0;
+ $i = 0;
$out .= '<div class="row-actions">';
foreach ( $actions as $action => $link ) {
++$i;
( ( ( 'approve' === $action || 'unapprove' === $action ) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';
// Reply and quickedit need a hide-if-no-js span when not added with ajax
- if ( ( 'reply' === $action || 'quickedit' === $action ) && ! wp_doing_ajax() )
+ if ( ( 'reply' === $action || 'quickedit' === $action ) && ! wp_doing_ajax() ) {
$action .= ' hide-if-no-js';
- elseif ( ( $action === 'untrash' && $the_comment_status === 'trash' ) || ( $action === 'unspam' && $the_comment_status === 'spam' ) ) {
- if ( '1' == get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) )
+ } elseif ( ( $action === 'untrash' && $the_comment_status === 'trash' ) || ( $action === 'unspam' && $the_comment_status === 'spam' ) ) {
+ if ( '1' == get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) ) {
$action .= ' approve';
- else
+ } else {
$action .= ' unapprove';
+ }
}
$out .= "<span class='$action'>$sep$link</span>";
@@ -624,14 +683,14 @@
}
/**
- *
* @param WP_Comment $comment The comment object.
*/
public function column_cb( $comment ) {
- if ( $this->user_can ) { ?>
+ if ( $this->user_can ) {
+ ?>
<label class="screen-reader-text" for="cb-select-<?php echo $comment->comment_ID; ?>"><?php _e( 'Select comment' ); ?></label>
<input id="cb-select-<?php echo $comment->comment_ID; ?>" type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" />
- <?php
+ <?php
}
}
@@ -647,7 +706,7 @@
$parent = get_comment( $comment->comment_parent );
if ( $parent ) {
$parent_link = esc_url( get_comment_link( $parent ) );
- $name = get_comment_author( $parent );
+ $name = get_comment_author( $parent );
printf(
/* translators: %s: comment link */
__( 'In reply to %s.' ),
@@ -657,23 +716,23 @@
}
comment_text( $comment );
- if ( $this->user_can ) { ?>
- <div id="inline-<?php echo $comment->comment_ID; ?>" class="hidden">
- <textarea class="comment" rows="1" cols="1"><?php
+
+ if ( $this->user_can ) {
/** This filter is documented in wp-admin/includes/comment.php */
- echo esc_textarea( apply_filters( 'comment_edit_pre', $comment->comment_content ) );
- ?></textarea>
- <div class="author-email"><?php echo esc_attr( $comment->comment_author_email ); ?></div>
- <div class="author"><?php echo esc_attr( $comment->comment_author ); ?></div>
- <div class="author-url"><?php echo esc_attr( $comment->comment_author_url ); ?></div>
- <div class="comment_status"><?php echo $comment->comment_approved; ?></div>
+ $comment_content = apply_filters( 'comment_edit_pre', $comment->comment_content );
+ ?>
+ <div id="inline-<?php echo $comment->comment_ID; ?>" class="hidden">
+ <textarea class="comment" rows="1" cols="1"><?php echo esc_textarea( $comment_content ); ?></textarea>
+ <div class="author-email"><?php echo esc_attr( $comment->comment_author_email ); ?></div>
+ <div class="author"><?php echo esc_attr( $comment->comment_author ); ?></div>
+ <div class="author-url"><?php echo esc_attr( $comment->comment_author_url ); ?></div>
+ <div class="comment_status"><?php echo $comment->comment_approved; ?></div>
</div>
- <?php
+ <?php
}
}
/**
- *
* @global string $comment_status
*
* @param WP_Comment $comment The comment object.
@@ -688,7 +747,9 @@
$author_url_display = wp_html_excerpt( $author_url_display, 49, '…' );
}
- echo "<strong>"; comment_author( $comment ); echo '</strong><br />';
+ echo '<strong>';
+ comment_author( $comment );
+ echo '</strong><br />';
if ( ! empty( $author_url_display ) ) {
printf( '<a href="%s">%s</a><br />', esc_url( $author_url ), esc_html( $author_url_display ) );
}
@@ -705,7 +766,13 @@
$author_ip = get_comment_author_IP( $comment );
if ( $author_ip ) {
- $author_ip_url = add_query_arg( array( 's' => $author_ip, 'mode' => 'detail' ), admin_url( 'edit-comments.php' ) );
+ $author_ip_url = add_query_arg(
+ array(
+ 's' => $author_ip,
+ 'mode' => 'detail',
+ ),
+ admin_url( 'edit-comments.php' )
+ );
if ( 'spam' === $comment_status ) {
$author_ip_url = add_query_arg( 'comment_status', 'spam', $author_ip_url );
}
@@ -715,19 +782,19 @@
}
/**
- *
* @param WP_Comment $comment The comment object.
*/
public function column_date( $comment ) {
/* translators: 1: comment date, 2: comment time */
- $submitted = sprintf( __( '%1$s at %2$s' ),
+ $submitted = sprintf(
+ __( '%1$s at %2$s' ),
/* translators: comment date format. See https://secure.php.net/date */
get_comment_date( __( 'Y/m/d' ), $comment ),
get_comment_date( __( 'g:i a' ), $comment )
);
echo '<div class="submitted-on">';
- if ( 'approved' === wp_get_comment_status( $comment ) && ! empty ( $comment->comment_post_ID ) ) {
+ if ( 'approved' === wp_get_comment_status( $comment ) && ! empty( $comment->comment_post_ID ) ) {
printf(
'<a href="%s">%s</a>',
esc_url( get_comment_link( $comment ) ),
@@ -740,7 +807,6 @@
}
/**
- *
* @param WP_Comment $comment The comment object.
*/
public function column_response( $comment ) {
@@ -750,15 +816,15 @@
return;
}
- if ( isset( $this->pending_count[$post->ID] ) ) {
- $pending_comments = $this->pending_count[$post->ID];
+ if ( isset( $this->pending_count[ $post->ID ] ) ) {
+ $pending_comments = $this->pending_count[ $post->ID ];
} else {
$_pending_count_temp = get_pending_comments_num( array( $post->ID ) );
- $pending_comments = $this->pending_count[$post->ID] = $_pending_count_temp[$post->ID];
+ $pending_comments = $this->pending_count[ $post->ID ] = $_pending_count_temp[ $post->ID ];
}
if ( current_user_can( 'edit_post', $post->ID ) ) {
- $post_link = "<a href='" . get_edit_post_link( $post->ID ) . "' class='comments-edit-item-link'>";
+ $post_link = "<a href='" . get_edit_post_link( $post->ID ) . "' class='comments-edit-item-link'>";
$post_link .= esc_html( get_the_title( $post->ID ) ) . '</a>';
} else {
$post_link = esc_html( get_the_title( $post->ID ) );
@@ -778,7 +844,6 @@
}
/**
- *
* @param WP_Comment $comment The comment object.
* @param string $column_name The custom column's name.
*/