bbp_admin_repair_page()
Admin repair page
Description Description
Source Source
File: includes/admin/tools/repair.php
function bbp_admin_repair_page() { // Get the registered repair tools $tools = bbp_admin_repair_list(); // Orderby $orderby = ! empty( $_GET['orderby'] ) ? sanitize_key( $_GET['orderby'] ) : 'priority'; // Order $order = ! empty( $_GET['order'] ) && in_array( strtolower( $_GET['order'] ), array( 'asc', 'desc' ), true ) ? strtolower( $_GET['order'] ) : 'asc'; // New order $new_order = ( 'desc' === $order ) ? 'asc' : 'desc'; ?> <div class="wrap"> <h1 class="wp-heading-inline"><?php esc_html_e( 'Forum Tools', 'bbpress' ); ?></h1> <hr class="wp-header-end"> <h2 class="nav-tab-wrapper"><?php bbp_tools_admin_tabs( 'bbp-repair' ); ?></h2> <p><?php esc_html_e( 'bbPress keeps track of relationships between forums, topics, replies, topic-tags, favorites, subscriptions, and users. Occasionally these relationships become out of sync, most often after an import or migration. Use the tools below to manually recalculate these relationships.', 'bbpress' ); ?></p> <p class="description"><?php esc_html_e( 'Some of these tools create substantial database overhead. Use caution when running more than 1 repair at a time.', 'bbpress' ); ?></p> <?php bbp_admin_repair_tool_status_filters(); ?> <form class="settings" method="get" action=""> <?php bbp_admin_repair_list_search_form(); ?> <input type="hidden" name="page" value="bbp-repair" /> <?php wp_nonce_field( 'bbpress-do-counts' ); ?> <div class="tablenav top"> <div class="alignleft actions bulkactions"> <label for="bulk-action-selector-top" class="screen-reader-text"><?php esc_html_e( 'Select bulk action', 'bbpress' ); ?></label> <select name="action" id="bulk-action-selector-top"> <option value="" selected="selected"><?php esc_html_e( 'Bulk Actions', 'bbpress' ); ?></option> <option value="run" class="hide-if-no-js"><?php esc_html_e( 'Run', 'bbpress' ); ?></option> </select> <input type="submit" id="doaction" class="button action" value="<?php esc_attr_e( 'Apply', 'bbpress' ); ?>"> </div> <div class="alignleft actions"> <?php bbp_admin_repair_list_components_filter(); ?> <input type="submit" name="filter_action" id="components-submit" class="button" value="<?php esc_html_e( 'Filter', 'bbpress' ); ?>"> </div> <br class="clear"> </div> <table class="wp-list-table widefat striped posts"> <thead> <tr> <td id="cb" class="manage-column column-cb check-column"> <label class="screen-reader-text" for="cb-select-all-1"> <?php esc_html_e( 'Select All', 'bbpress' ); ?> </label> <input id="cb-select-all-1" type="checkbox"> </td> <th scope="col" id="description" class="manage-column column-primary column-description sortable <?php echo ( 'priority' === $orderby ) ? esc_attr( $order ) : 'asc'; ?>"> <a href="<?php echo esc_url( bbp_get_admin_repair_tool_page_url( array( 'orderby' => 'priority', 'order' => $new_order ) ) ); ?>"><span><?php esc_html_e( 'Description', 'bbpress' ); ?></span><span class="sorting-indicator"></span> </a> </th> <th scope="col" id="components" class="manage-column column-components"> <span><?php esc_html_e( 'Components', 'bbpress' ); ?></span> </th> <th scope="col" id="overhead" class="manage-column column-overhead sortable <?php echo ( 'overhead' === $orderby ) ? esc_attr( $order ) : 'asc'; ?>"> <a href="<?php echo esc_url( bbp_get_admin_repair_tool_page_url( array( 'orderby' => 'overhead', 'order' => $new_order ) ) ); ?>"><span><?php esc_html_e( 'Overhead', 'bbpress' ); ?></span><span class="sorting-indicator"></span> </a> </th> </tr> </thead> <tbody id="the-list"> <?php if ( ! empty( $tools ) ) : ?> <?php foreach ( $tools as $item ) : ?> <tr id="bbp-repair-tools" class="inactive"> <th scope="row" class="check-column"> <label class="screen-reader-text" for="<?php echo esc_attr( str_replace( '_', '-', $item['id'] ) ); ?>"></label> <input type="checkbox" name="checked[]" value="<?php echo esc_attr( $item['id'] ); ?>" id="<?php echo esc_attr( str_replace( '_', '-', $item['id'] ) ); ?>"> </th> <td class="bbp-tool-title column-primary column-description" data-colname="<?php esc_html_e( 'Description', 'bbpress' ); ?>"> <strong><?php echo esc_html( $item['title'] ); ?></strong><?php // Optional description if ( ! empty( $item['description'] ) ) : echo '<p class="description">' . esc_html( $item['description'] ) . '</p>'; endif; ?><div class="row-actions hide-if-no-js"> <span class="run"> <a href="<?php bbp_admin_repair_tool_run_url( $item ); ?>" aria-label="<?php printf( esc_html__( 'Run %s', 'bbpress' ), $item['title'] ); ?>" id="<?php echo esc_attr( $item['id'] ); ?>" ><?php esc_html_e( 'Run', 'bbpress' ); ?></a> </span> </div> <button type="button" class="toggle-row"> <span class="screen-reader-text"><?php esc_html_e( 'Show more details', 'bbpress' ); ?></span> </button> </td> <td class="column-components desc" data-colname="<?php esc_html_e( 'Components', 'bbpress' ); ?>"> <div class="bbp-tool-overhead"> <?php echo implode( ', ', bbp_get_admin_repair_tool_components( $item ) ); ?> </div> </td> <td class="column-overhead desc" data-colname="<?php esc_html_e( 'Overhead', 'bbpress' ); ?>"> <div class="bbp-tool-overhead"> <?php echo implode( ', ', bbp_get_admin_repair_tool_overhead( $item ) ); ?> </div> </td> </tr> <?php endforeach; ?> <?php else : ?> <tr> <td colspan="4"> <?php esc_html_e( 'No repair tools match this criteria.', 'bbpress' ); ?> </td> </tr> <?php endif; ?> </tbody> <tfoot> <tr> <td class="manage-column column-cb check-column"> <label class="screen-reader-text" for="cb-select-all-2"> <?php esc_html_e( 'Select All', 'bbpress' ); ?> </label> <input id="cb-select-all-2" type="checkbox"> </td> <th scope="col" class="manage-column column-primary column-description"><?php esc_html_e( 'Description', 'bbpress' ); ?></th> <th scope="col" class="manage-column column-components"><?php esc_html_e( 'Components', 'bbpress' ); ?></th> <th scope="col" class="manage-column column-overhead"><?php esc_html_e( 'Overhead', 'bbpress' ); ?></th> </tr> </tfoot> </table> <div class="tablenav bottom"> <div class="alignleft actions bulkactions"> <label for="bulk-action-selector-bottom" class="screen-reader-text"><?php esc_html_e( 'Select bulk action', 'bbpress' ); ?></label> <select name="action2" id="bulk-action-selector-bottom"> <option value="" selected="selected"><?php esc_html_e( 'Bulk Actions', 'bbpress' ); ?></option> <option value="run" class="hide-if-no-js"><?php esc_html_e( 'Run', 'bbpress' ); ?></option> </select> <input type="submit" id="doaction2" class="button action" value="<?php esc_attr_e( 'Apply', 'bbpress' ); ?>"> </div> </div> </form> </div> <?php }
Changelog Changelog
Version | Description |
---|---|
2.6.0 | bbPress (r5885) Upgraded to list-table UI |
2.0.0 | Introduced. |