Skip to:
Content

bbPress.org

Changeset 6925


Ignore:
Timestamp:
11/09/2019 06:31:12 AM (5 years ago)
Author:
johnjamesjacoby
Message:

Tools: Make a few columns sortable.

This commit adds a small UX improvement to the Repair and Upgrade tools pages, allowing for these lengthy lists to be sorted.

See #3244.

Location:
trunk/src/includes/admin
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/includes/admin/tools.php

    r6924 r6925  
    448448        'callback'    => 'bbp_admin_upgrade_group_forum_relationship',
    449449        'priority'    => 140,
     450        'version'     => esc_html__( 'Any', 'bbpress' ),
    450451        'overhead'    => 'low',
    451452        'components'  => array( bbp_get_forum_post_type() )
  • trunk/src/includes/admin/tools/common.php

    r6924 r6925  
    506506
    507507    // Get the available tools
    508     $list      = bbp_get_admin_repair_tools( $type );
    509     $search    = ! empty( $_GET['s']          ) ? stripslashes( $_GET['s']              ) : '';
    510     $overhead  = ! empty( $_GET['overhead']   ) ? sanitize_key( $_GET['overhead']       ) : '';
    511     $component = ! empty( $_GET['components'] ) ? sanitize_key( $_GET['components']     ) : '';
    512     $version   = ! empty( $_GET['version']    ) ? sanitize_text_field( $_GET['version'] ) : '';
     508    $list = bbp_get_admin_repair_tools( $type );
     509
     510    // Search
     511    $search = ! empty( $_GET['s'] )
     512        ? stripslashes( $_GET['s'] )
     513        : '';
     514
     515    // Overhead
     516    $overhead  = ! empty( $_GET['overhead'] )
     517        ? sanitize_key( $_GET['overhead'] )
     518        : '';
     519
     520    // Component
     521    $component = ! empty( $_GET['components'] )
     522        ? sanitize_key( $_GET['components'] )
     523        : '';
     524
     525    // Version
     526    $version = ! empty( $_GET['version'] )
     527        ? sanitize_text_field( $_GET['version'] )
     528        : '';
     529
     530    // Orderby
     531    $orderby = ! empty( $_GET['orderby'] )
     532        ? sanitize_key( $_GET['orderby'] )
     533        : 'order';
     534
     535    // Order
     536    $order = ! empty( $_GET['order'] ) && in_array( strtolower( $_GET['order'] ), array( 'asc', 'desc' ), true )
     537        ? strtolower( $_GET['order'] )
     538        : 'asc';
    513539
    514540    // Overhead filter
     
    548574                'type'        => $tool['type'],
    549575                'title'       => $tool['title'],
     576                'priority'    => $tool['priority'],
    550577                'description' => $tool['description'],
    551578                'callback'    => $tool['callback'],
    552579                'overhead'    => $tool['overhead'],
    553580                'version'     => $tool['version'],
    554                 'components'  => $tool['components'],
     581                'components'  => $tool['components']
    555582            );
    556583        }
     
    558585
    559586    // Sort
    560     ksort( $repair_list );
     587    $retval = wp_list_sort( $repair_list, $orderby, $order, true );
    561588
    562589    // Filter & return
    563     return (array) apply_filters( 'bbp_repair_list', $repair_list );
     590    return (array) apply_filters( 'bbp_repair_list', $retval );
    564591}
    565592
  • trunk/src/includes/admin/tools/repair.php

    r6923 r6925  
    2323
    2424    // Get the registered repair tools
    25     $tools = bbp_admin_repair_list(); ?>
     25    $tools = bbp_admin_repair_list();
     26
     27    // Orderby
     28    $orderby = ! empty( $_GET['orderby'] )
     29        ? sanitize_key( $_GET['orderby'] )
     30        : 'priority';
     31
     32    // Order
     33    $order = ! empty( $_GET['order'] ) && in_array( strtolower( $_GET['order'] ), array( 'asc', 'desc' ), true )
     34        ? strtolower( $_GET['order'] )
     35        : 'asc';
     36
     37    // New order
     38    $new_order = ( 'desc' === $order )
     39        ? 'asc'
     40        : 'desc'; ?>
    2641
    2742    <div class="wrap">
     
    6883                            <input id="cb-select-all-1" type="checkbox">
    6984                        </td>
    70                         <th scope="col" id="description" class="manage-column column-primary column-description"><?php esc_html_e( 'Description', 'bbpress' ); ?></th>
    71                         <th scope="col" id="components" class="manage-column column-components"><?php esc_html_e( 'Components', 'bbpress' ); ?></th>
    72                         <th scope="col" id="overhead" class="manage-column column-overhead"><?php esc_html_e( 'Overhead', 'bbpress' ); ?></th>
     85                        <th scope="col" id="description" class="manage-column column-primary column-description sortable <?php echo ( 'priority' === $orderby ) ? esc_attr( $order ) : 'asc'; ?>">
     86                            <a href="<?php echo esc_url( bbp_get_admin_repair_tool_page_url( array(
     87                                    'orderby' => 'priority',
     88                                    'order'   => $new_order
     89                                ) ) ); ?>"><span><?php esc_html_e( 'Description', 'bbpress' ); ?></span><span class="sorting-indicator"></span>
     90                            </a>
     91                        </th>
     92                        <th scope="col" id="components" class="manage-column column-components">
     93                            <span><?php esc_html_e( 'Components', 'bbpress' ); ?></span>
     94                        </th>
     95                        <th scope="col" id="overhead" class="manage-column column-overhead sortable <?php echo ( 'overhead' === $orderby ) ? esc_attr( $order ) : 'asc'; ?>">
     96                            <a href="<?php echo esc_url( bbp_get_admin_repair_tool_page_url( array(
     97                                    'orderby' => 'overhead',
     98                                    'order'   => $new_order
     99                                ) ) ); ?>"><span><?php esc_html_e( 'Overhead', 'bbpress' ); ?></span><span class="sorting-indicator"></span>
     100                            </a>
     101                        </th>
    73102                    </tr>
    74103                </thead>
  • trunk/src/includes/admin/tools/upgrade.php

    r6896 r6925  
    2020
    2121    // Get the registered upgrade tools
    22     $tools = bbp_admin_repair_list( 'upgrade' ); ?>
     22    $tools = bbp_admin_repair_list( 'upgrade' );
     23
     24    // Orderby
     25    $orderby = ! empty( $_GET['orderby'] )
     26        ? sanitize_key( $_GET['orderby'] )
     27        : 'priority';
     28
     29    // Order
     30    $order = ! empty( $_GET['order'] ) && in_array( strtolower( $_GET['order'] ), array( 'asc', 'desc' ), true )
     31        ? strtolower( $_GET['order'] )
     32        : 'asc';
     33
     34    // New order
     35    $new_order = ( 'desc' === $order )
     36        ? 'asc'
     37        : 'desc'; ?>
    2338
    2439    <div class="wrap">
     
    6782                            <input id="cb-select-all-1" type="checkbox">
    6883                        </td>
    69                         <th scope="col" id="description" class="manage-column column-primary column-description"><?php esc_html_e( 'Description', 'bbpress' ); ?></th>
    70                         <th scope="col" id="version" class="manage-column column-version"><?php esc_html_e( 'Version', 'bbpress' ); ?></th>
     84                        <th scope="col" id="description" class="manage-column column-primary column-description sortable <?php echo ( 'priority' === $orderby ) ? esc_attr( $order ) : 'asc'; ?>">
     85                            <a href="<?php echo esc_url( bbp_get_admin_repair_tool_page_url( array(
     86                                    'orderby' => 'priority',
     87                                    'order'   => $new_order
     88                                ) ) ); ?>"><span><?php esc_html_e( 'Description', 'bbpress' ); ?></span><span class="sorting-indicator"></span>
     89                            </a>
     90                        </th>
     91                        <th scope="col" id="version" class="manage-column column-version sortable <?php echo ( 'version' === $orderby ) ? esc_attr( $order ) : 'asc'; ?>">
     92                            <a href="<?php echo esc_url( bbp_get_admin_repair_tool_page_url( array(
     93                                    'orderby' => 'version',
     94                                    'order'   => $new_order
     95                                ) ) ); ?>"><span><?php esc_html_e( 'Version', 'bbpress' ); ?></span><span class="sorting-indicator"></span>
     96                            </a>
     97                        </th>
    7198                        <th scope="col" id="components" class="manage-column column-components"><?php esc_html_e( 'Components', 'bbpress' ); ?></th>
    72                         <th scope="col" id="overhead" class="manage-column column-overhead"><?php esc_html_e( 'Overhead', 'bbpress' ); ?></th>
     99                        <th scope="col" id="overhead" class="manage-column column-overhead sortable <?php echo ( 'overhead' === $orderby ) ? esc_attr( $order ) : 'asc'; ?>">
     100                            <a href="<?php echo esc_url( bbp_get_admin_repair_tool_page_url( array(
     101                                    'orderby' => 'overhead',
     102                                    'order'   => $new_order
     103                                ) ) ); ?>"><span><?php esc_html_e( 'Overhead', 'bbpress' ); ?></span><span class="sorting-indicator"></span>
     104                            </a>
     105                        </th>
    73106                    </tr>
    74107                </thead>
Note: See TracChangeset for help on using the changeset viewer.