diff -r c7c34916027a -r 177826044cd9 wp/wp-admin/includes/class-wp-list-table.php --- a/wp/wp-admin/includes/class-wp-list-table.php Mon Oct 14 18:06:33 2019 +0200 +++ b/wp/wp-admin/includes/class-wp-list-table.php Mon Oct 14 18:28:13 2019 +0200 @@ -91,10 +91,24 @@ * * @var array */ - protected $compat_methods = array( 'set_pagination_args', 'get_views', 'get_bulk_actions', 'bulk_actions', - 'row_actions', 'months_dropdown', 'view_switcher', 'comments_bubble', 'get_items_per_page', 'pagination', - 'get_sortable_columns', 'get_column_info', 'get_table_classes', 'display_tablenav', 'extra_tablenav', - 'single_row_columns' ); + protected $compat_methods = array( + 'set_pagination_args', + 'get_views', + 'get_bulk_actions', + 'bulk_actions', + 'row_actions', + 'months_dropdown', + 'view_switcher', + 'comments_bubble', + 'get_items_per_page', + 'pagination', + 'get_sortable_columns', + 'get_column_info', + 'get_table_classes', + 'display_tablenav', + 'extra_tablenav', + 'single_row_columns', + ); /** * Constructor. @@ -122,21 +136,25 @@ * } */ public function __construct( $args = array() ) { - $args = wp_parse_args( $args, array( - 'plural' => '', - 'singular' => '', - 'ajax' => false, - 'screen' => null, - ) ); + $args = wp_parse_args( + $args, + array( + 'plural' => '', + 'singular' => '', + 'ajax' => false, + 'screen' => null, + ) + ); $this->screen = convert_to_screen( $args['screen'] ); add_filter( "manage_{$this->screen->id}_columns", array( $this, 'get_columns' ), 0 ); - if ( !$args['plural'] ) + if ( ! $args['plural'] ) { $args['plural'] = $this->screen->base; + } - $args['plural'] = sanitize_key( $args['plural'] ); + $args['plural'] = sanitize_key( $args['plural'] ); $args['singular'] = sanitize_key( $args['singular'] ); $this->_args = $args; @@ -149,7 +167,7 @@ if ( empty( $this->modes ) ) { $this->modes = array( 'list' => __( 'List View' ), - 'excerpt' => __( 'Excerpt View' ) + 'excerpt' => __( 'Excerpt View' ), ); } } @@ -215,7 +233,7 @@ * * @since 4.0.0 * - * @param callable $name Method to call. + * @param string $name Method to call. * @param array $arguments Arguments to pass when calling. * @return mixed|bool Return value of the callback, false otherwise. */ @@ -238,6 +256,7 @@ /** * Prepares the list of items for displaying. + * * @uses WP_List_Table::set_pagination_args() * * @since 3.1.0 @@ -255,14 +274,18 @@ * @param array|string $args Array or string of arguments with information about the pagination. */ protected function set_pagination_args( $args ) { - $args = wp_parse_args( $args, array( - 'total_items' => 0, - 'total_pages' => 0, - 'per_page' => 0, - ) ); + $args = wp_parse_args( + $args, + array( + 'total_items' => 0, + 'total_pages' => 0, + 'per_page' => 0, + ) + ); - if ( !$args['total_pages'] && $args['per_page'] > 0 ) + if ( ! $args['total_pages'] && $args['per_page'] > 0 ) { $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] ); + } // Redirect if page number is invalid and headers are not already sent. if ( ! headers_sent() && ! wp_doing_ajax() && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { @@ -287,8 +310,8 @@ return $this->get_pagenum(); } - if ( isset( $this->_pagination_args[$key] ) ) { - return $this->_pagination_args[$key]; + if ( isset( $this->_pagination_args[ $key ] ) ) { + return $this->_pagination_args[ $key ]; } } @@ -300,7 +323,7 @@ * @return bool */ public function has_items() { - return !empty( $this->items ); + return ! empty( $this->items ); } /** @@ -321,26 +344,31 @@ * @param string $input_id ID attribute value for the search input field. */ public function search_box( $text, $input_id ) { - if ( empty( $_REQUEST['s'] ) && !$this->has_items() ) + if ( empty( $_REQUEST['s'] ) && ! $this->has_items() ) { return; + } $input_id = $input_id . '-search-input'; - if ( ! empty( $_REQUEST['orderby'] ) ) + if ( ! empty( $_REQUEST['orderby'] ) ) { echo ''; - if ( ! empty( $_REQUEST['order'] ) ) + } + if ( ! empty( $_REQUEST['order'] ) ) { echo ''; - if ( ! empty( $_REQUEST['post_mime_type'] ) ) + } + if ( ! empty( $_REQUEST['post_mime_type'] ) ) { echo ''; - if ( ! empty( $_REQUEST['detached'] ) ) + } + if ( ! empty( $_REQUEST['detached'] ) ) { echo ''; -?> + } + ?> -screen->id}", $views ); - if ( empty( $views ) ) + if ( empty( $views ) ) { return; + } $this->screen->render_screen_reader_content( 'heading_views' ); @@ -384,7 +413,7 @@ $views[ $class ] = "\t
  • $view"; } echo implode( " |
  • \n", $views ) . "\n"; - echo ""; + echo ''; } /** @@ -420,16 +449,17 @@ * * @since 3.5.0 * - * @param array $actions An array of the available bulk actions. + * @param string[] $actions An array of the available bulk actions. */ $this->_actions = apply_filters( "bulk_actions-{$this->screen->id}", $this->_actions ); - $two = ''; + $two = ''; } else { $two = '2'; } - if ( empty( $this->_actions ) ) + if ( empty( $this->_actions ) ) { return; + } echo ''; echo ' value="0"> -year ) + if ( 0 == $arc_row->year ) { continue; + } $month = zeroise( $arc_row->month, 2 ); - $year = $arc_row->year; + $year = $arc_row->year; - printf( "\n", + printf( + "\n", selected( $m, $year . $month, false ), esc_attr( $arc_row->year . $month ), /* translators: 1: month name, 2: 4-digit year */ sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month ), $year ) ); } -?> + ?> - + ?>
    -modes as $mode => $title ) { - $classes = array( 'view-' . $mode ); - if ( $current_mode === $mode ) - $classes[] = 'current'; - printf( - "%s\n", - esc_url( add_query_arg( 'mode', $mode ) ), - implode( ' ', $classes ), - $title - ); + modes as $mode => $title ) { + $classes = array( 'view-' . $mode ); + if ( $current_mode === $mode ) { + $classes[] = 'current'; } + printf( + "%s\n", + esc_url( add_query_arg( 'mode', $mode ) ), + implode( ' ', $classes ), + $title + ); + } ?>
    -%s', + printf( + '%s', __( 'No comments' ) ); - // Approved comments have different display depending on some conditions. + // Approved comments have different display depending on some conditions. } elseif ( $approved_comments ) { - printf( '%s', - esc_url( add_query_arg( array( 'p' => $post_id, 'comment_status' => 'approved' ), admin_url( 'edit-comments.php' ) ) ), + printf( + '%s', + esc_url( + add_query_arg( + array( + 'p' => $post_id, + 'comment_status' => 'approved', + ), + admin_url( 'edit-comments.php' ) + ) + ), $approved_comments_number, $pending_comments ? $approved_phrase : $approved_only_phrase ); } else { - printf( '%s', + printf( + '%s', $approved_comments_number, $pending_comments ? __( 'No approved comments' ) : __( 'No comments' ) ); } if ( $pending_comments ) { - printf( '%s', - esc_url( add_query_arg( array( 'p' => $post_id, 'comment_status' => 'moderated' ), admin_url( 'edit-comments.php' ) ) ), + printf( + '%s', + esc_url( + add_query_arg( + array( + 'p' => $post_id, + 'comment_status' => 'moderated', + ), + admin_url( 'edit-comments.php' ) + ) + ), $pending_comments_number, $pending_phrase ); } else { - printf( '%s', + printf( + '%s', $pending_comments_number, $approved_comments ? __( 'No pending comments' ) : __( 'No comments' ) ); @@ -665,8 +729,9 @@ public function get_pagenum() { $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0; - if ( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) + if ( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) { $pagenum = $this->_pagination_args['total_pages']; + } return max( 1, $pagenum ); } @@ -682,8 +747,9 @@ */ protected function get_items_per_page( $option, $default = 20 ) { $per_page = (int) get_user_option( $option ); - if ( empty( $per_page ) || $per_page < 1 ) + if ( empty( $per_page ) || $per_page < 1 ) { $per_page = $default; + } /** * Filters the number of items to be displayed on each page of the list table. @@ -713,8 +779,8 @@ return; } - $total_items = $this->_pagination_args['total_items']; - $total_pages = $this->_pagination_args['total_pages']; + $total_items = $this->_pagination_args['total_items']; + $total_pages = $this->_pagination_args['total_pages']; $infinite_scroll = false; if ( isset( $this->_pagination_args['infinite_scroll'] ) ) { $infinite_scroll = $this->_pagination_args['infinite_scroll']; @@ -726,7 +792,7 @@ $output = '' . sprintf( _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . ''; - $current = $this->get_pagenum(); + $current = $this->get_pagenum(); $removable_query_args = wp_removable_query_args(); $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); @@ -740,25 +806,26 @@ $disable_first = $disable_last = $disable_prev = $disable_next = false; - if ( $current == 1 ) { + if ( $current == 1 ) { $disable_first = true; - $disable_prev = true; - } + $disable_prev = true; + } if ( $current == 2 ) { $disable_first = true; } - if ( $current == $total_pages ) { + if ( $current == $total_pages ) { $disable_last = true; $disable_next = true; - } + } if ( $current == $total_pages - 1 ) { $disable_last = true; } if ( $disable_first ) { - $page_links[] = ''; + $page_links[] = ''; } else { - $page_links[] = sprintf( "%s", + $page_links[] = sprintf( + "%s", esc_url( remove_query_arg( 'paged', $current_url ) ), __( 'First page' ), '«' @@ -766,10 +833,11 @@ } if ( $disable_prev ) { - $page_links[] = ''; + $page_links[] = ''; } else { - $page_links[] = sprintf( "%s", - esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ), + $page_links[] = sprintf( + "%s", + esc_url( add_query_arg( 'paged', max( 1, $current - 1 ), $current_url ) ), __( 'Previous page' ), '‹' ); @@ -779,29 +847,32 @@ $html_current_page = $current; $total_pages_before = '' . __( 'Current Page' ) . ''; } else { - $html_current_page = sprintf( "%s", + $html_current_page = sprintf( + "%s", '', $current, strlen( $total_pages ) ); } $html_total_pages = sprintf( "%s", number_format_i18n( $total_pages ) ); - $page_links[] = $total_pages_before . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after; + $page_links[] = $total_pages_before . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after; if ( $disable_next ) { - $page_links[] = ''; + $page_links[] = ''; } else { - $page_links[] = sprintf( "%s", - esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ), + $page_links[] = sprintf( + "%s", + esc_url( add_query_arg( 'paged', min( $total_pages, $current + 1 ), $current_url ) ), __( 'Next page' ), '›' ); } if ( $disable_last ) { - $page_links[] = ''; + $page_links[] = ''; } else { - $page_links[] = sprintf( "%s", + $page_links[] = sprintf( + "%s", esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ), __( 'Last page' ), '»' @@ -862,7 +933,7 @@ */ protected function get_default_primary_column_name() { $columns = $this->get_columns(); - $column = ''; + $column = ''; if ( empty( $columns ) ) { return $column; @@ -918,7 +989,7 @@ * @param string $default Column name default for the specific list table, e.g. 'name'. * @param string $context Screen ID for specific list table, e.g. 'plugins'. */ - $column = apply_filters( 'list_table_primary_column', $default, $this->screen->id ); + $column = apply_filters( 'list_table_primary_column', $default, $this->screen->id ); if ( empty( $column ) || ! isset( $columns[ $column ] ) ) { $column = $default; @@ -948,7 +1019,7 @@ } $columns = get_column_headers( $this->screen ); - $hidden = get_hidden_columns( $this->screen ); + $hidden = get_hidden_columns( $this->screen ); $sortable_columns = $this->get_sortable_columns(); /** @@ -965,17 +1036,19 @@ $sortable = array(); foreach ( $_sortable as $id => $data ) { - if ( empty( $data ) ) + if ( empty( $data ) ) { continue; + } $data = (array) $data; - if ( !isset( $data[1] ) ) + if ( ! isset( $data[1] ) ) { $data[1] = false; + } - $sortable[$id] = $data; + $sortable[ $id ] = $data; } - $primary = $this->get_primary_column_name(); + $primary = $this->get_primary_column_name(); $this->_column_headers = array( $columns, $hidden, $sortable, $primary ); return $this->_column_headers; @@ -990,7 +1063,7 @@ */ public function get_column_count() { list ( $columns, $hidden ) = $this->get_column_info(); - $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); + $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); return count( $columns ) - count( $hidden ); } @@ -1023,7 +1096,7 @@ if ( ! empty( $columns['cb'] ) ) { static $cb_counter = 1; - $columns['cb'] = '' + $columns['cb'] = '' . ''; $cb_counter++; } @@ -1035,24 +1108,25 @@ $class[] = 'hidden'; } - if ( 'cb' === $column_key ) + if ( 'cb' === $column_key ) { $class[] = 'check-column'; - elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) ) + } elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) ) { $class[] = 'num'; + } if ( $column_key === $primary ) { $class[] = 'column-primary'; } - if ( isset( $sortable[$column_key] ) ) { - list( $orderby, $desc_first ) = $sortable[$column_key]; + if ( isset( $sortable[ $column_key ] ) ) { + list( $orderby, $desc_first ) = $sortable[ $column_key ]; if ( $current_orderby === $orderby ) { - $order = 'asc' === $current_order ? 'desc' : 'asc'; + $order = 'asc' === $current_order ? 'desc' : 'asc'; $class[] = 'sorted'; $class[] = $current_order; } else { - $order = $desc_first ? 'desc' : 'asc'; + $order = $desc_first ? 'desc' : 'asc'; $class[] = 'sortable'; $class[] = $desc_first ? 'asc' : 'desc'; } @@ -1060,12 +1134,13 @@ $column_display_name = '' . $column_display_name . ''; } - $tag = ( 'cb' === $column_key ) ? 'td' : 'th'; + $tag = ( 'cb' === $column_key ) ? 'td' : 'th'; $scope = ( 'th' === $tag ) ? 'scope="col"' : ''; - $id = $with_id ? "id='$column_key'" : ''; + $id = $with_id ? "id='$column_key'" : ''; - if ( !empty( $class ) ) + if ( ! empty( $class ) ) { $class = "class='" . join( ' ', $class ) . "'"; + } echo "<$tag $scope $id $class>$column_display_name"; } @@ -1082,7 +1157,7 @@ $this->display_tablenav( 'top' ); $this->screen->render_screen_reader_content( 'heading_list' ); -?> + ?> @@ -1090,10 +1165,13 @@ - > + } + ?> + > display_rows_or_placeholder(); ?> @@ -1104,7 +1182,7 @@
    -display_tablenav( 'bottom' ); } @@ -1132,18 +1210,19 @@ ?>
    - has_items() ): ?> + has_items() ) : ?>
    bulk_actions( $which ); ?>
    - extra_tablenav( $which ); $this->pagination( $which ); -?> + ?>
    -items as $item ) + foreach ( $this->items as $item ) { $this->single_row( $item ); + } } /** @@ -1194,14 +1274,12 @@ } /** - * * @param object $item * @param string $column_name */ protected function column_default( $item, $column_name ) {} /** - * * @param object $item */ protected function column_cb( $item ) {} @@ -1248,12 +1326,12 @@ echo ""; echo call_user_func( array( $this, 'column_' . $column_name ), $item ); echo $this->handle_row_actions( $item, $column_name, $primary ); - echo ""; + echo ''; } else { echo ""; echo $this->column_default( $item, $column_name ); echo $this->handle_row_actions( $item, $column_name, $primary ); - echo ""; + echo ''; } } } @@ -1270,7 +1348,7 @@ */ protected function handle_row_actions( $item, $column_name, $primary ) { return $column_name === $primary ? '' : ''; - } + } /** * Handle an incoming ajax request (called from admin-ajax.php) @@ -1298,7 +1376,7 @@ ); } if ( isset( $this->_pagination_args['total_pages'] ) ) { - $response['total_pages'] = $this->_pagination_args['total_pages']; + $response['total_pages'] = $this->_pagination_args['total_pages']; $response['total_pages_i18n'] = number_format_i18n( $this->_pagination_args['total_pages'] ); } @@ -1307,7 +1385,6 @@ /** * Send required variables to JavaScript land - * */ public function _js_vars() { $args = array( @@ -1315,7 +1392,7 @@ 'screen' => array( 'id' => $this->screen->id, 'base' => $this->screen->base, - ) + ), ); printf( "\n", wp_json_encode( $args ) );