557 lines
20 KiB
PHP
557 lines
20 KiB
PHP
<?php
|
|
|
|
/**
|
|
* bbPress Admin Tools Page
|
|
*
|
|
* @package bbPress
|
|
* @subpackage Administration
|
|
*/
|
|
|
|
// Exit if accessed directly
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
/**
|
|
* Output a bbPress specific tools box
|
|
*
|
|
* @since 2.6.0 bbPress (r6273)
|
|
*/
|
|
function bbp_admin_tools_box() {
|
|
|
|
// Bail if user cannot access tools page
|
|
if ( ! current_user_can( 'bbp_tools_page' ) ) {
|
|
return;
|
|
}
|
|
|
|
// Get the tools pages
|
|
$links = array();
|
|
$tools = bbp_get_tools_admin_pages(); ?>
|
|
|
|
<div class="card">
|
|
<h3 class="title"><?php esc_html_e( 'Forums', 'bbpress' ) ?></h3>
|
|
<p><?php esc_html_e( 'bbPress provides the following tools to help you manage your forums:', 'bbpress' ); ?></p>
|
|
|
|
<?php
|
|
|
|
// Loop through tools and create links
|
|
foreach ( $tools as $tool ) {
|
|
|
|
// Skip if user cannot see this page
|
|
if ( ! current_user_can( $tool['cap'] ) ) {
|
|
continue;
|
|
}
|
|
|
|
// Add link to array
|
|
$links[] = sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array( 'page' => $tool['page'] ), admin_url( 'tools.php' ) ) ), $tool['name'] );
|
|
}
|
|
|
|
// Output links
|
|
echo '<p class="bbp-tools-links">' . implode( ' · ', $links ) . '</p>';
|
|
|
|
?></div>
|
|
|
|
<?php
|
|
}
|
|
|
|
/**
|
|
* Register an admin area repair tool
|
|
*
|
|
* @since 2.6.0 bbPress (r5885)
|
|
*
|
|
* @param array $args
|
|
* @return
|
|
*/
|
|
function bbp_register_repair_tool( $args = array() ) {
|
|
|
|
// Parse arguments
|
|
$r = bbp_parse_args( $args, array(
|
|
'id' => '',
|
|
'type' => '',
|
|
'title' => '',
|
|
'description' => '',
|
|
'callback' => '',
|
|
'priority' => 0,
|
|
'overhead' => 'low',
|
|
'version' => '',
|
|
'components' => array(),
|
|
|
|
// @todo
|
|
'success' => esc_html__( 'The repair was completed successfully', 'bbpress' ),
|
|
'failure' => esc_html__( 'The repair was not successful', 'bbpress' )
|
|
), 'register_repair_tool' );
|
|
|
|
// Bail if missing required values
|
|
if ( empty( $r['id'] ) || empty( $r['priority'] ) || empty( $r['title'] ) || empty( $r['callback'] ) ) {
|
|
return;
|
|
}
|
|
|
|
// Add tool to the registered tools array
|
|
bbp_admin()->tools[ $r['id'] ] = array(
|
|
'type' => $r['type'],
|
|
'title' => $r['title'],
|
|
'description' => $r['description'],
|
|
'priority' => $r['priority'],
|
|
'callback' => $r['callback'],
|
|
'overhead' => $r['overhead'],
|
|
'components' => $r['components'],
|
|
'version' => $r['version'],
|
|
|
|
// @todo
|
|
'success' => $r['success'],
|
|
'failure' => $r['failure'],
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Register the default repair tools
|
|
*
|
|
* @since 2.6.0 bbPress (r5885)
|
|
*/
|
|
function bbp_register_default_repair_tools() {
|
|
|
|
// Topic meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-sync-topic-meta',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recalculate parent topic for each reply', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if replies appear in the wrong topics.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_topic_meta',
|
|
'priority' => 5,
|
|
'overhead' => 'low',
|
|
'components' => array( bbp_get_reply_post_type() )
|
|
) );
|
|
|
|
// Forum meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-sync-forum-meta',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recalculate parent forum for each topic and reply', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if topics or replies appear in the wrong forums.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_forum_meta',
|
|
'priority' => 10,
|
|
'overhead' => 'low',
|
|
'components' => array( bbp_get_topic_post_type(), bbp_get_reply_post_type() )
|
|
) );
|
|
|
|
// Forum visibility
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-sync-forum-visibility',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recalculate private and hidden forums', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if non-public forums are publicly visible.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_forum_visibility',
|
|
'priority' => 15,
|
|
'overhead' => 'low',
|
|
'components' => array( bbp_get_forum_post_type() )
|
|
) );
|
|
|
|
// Sync all topics in all forums
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-sync-all-topics-forums',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recalculate last activity in each topic and forum', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if freshness appears incorrectly.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_freshness',
|
|
'priority' => 20,
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_forum_post_type(), bbp_get_topic_post_type(), bbp_get_reply_post_type() )
|
|
) );
|
|
|
|
// Sync all sticky topics in all forums
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-sync-all-topics-sticky',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recalculate sticky relationship of each topic', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if sticky topics appear incorrectly.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_sticky',
|
|
'priority' => 25,
|
|
'overhead' => 'low',
|
|
'components' => array( bbp_get_topic_post_type() )
|
|
) );
|
|
|
|
// Sync all hierarchical reply positions
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-sync-all-reply-positions',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recalculate position of each reply in each topic', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if replies appear in the wrong order.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_reply_menu_order',
|
|
'priority' => 30,
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_reply_post_type() )
|
|
) );
|
|
|
|
// Sync all topic engagements for all users
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-topic-engagements',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recalculate engagements in each topic for each user', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if voices appear incorrectly.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_topic_voice_count',
|
|
'priority' => 35,
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_topic_post_type(), bbp_get_user_rewrite_id() )
|
|
) );
|
|
|
|
// Update closed topic counts
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-sync-closed-topics',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Repair closed topic statuses', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if closed topics appear incorrectly.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_closed_topics',
|
|
'priority' => 40,
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_topic_post_type() )
|
|
) );
|
|
|
|
// Count topics
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-forum-topics',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recount topics in each forum', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if the number of topics in any forums are incorrect.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_forum_topic_count',
|
|
'priority' => 45,
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_forum_post_type(), bbp_get_topic_post_type() )
|
|
) );
|
|
|
|
// Count topic tags
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-topic-tags',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recount topics in each topic-tag', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if the number of topics in any topic-tags are incorrect.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_topic_tag_count',
|
|
'priority' => 50,
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_topic_post_type(), bbp_get_topic_tag_tax_id() )
|
|
) );
|
|
|
|
// Count forum replies
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-forum-replies',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recount replies in each forum', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if the number of replies in any forums are incorrect.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_forum_reply_count',
|
|
'priority' => 55,
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_forum_post_type(), bbp_get_reply_post_type() )
|
|
) );
|
|
|
|
// Count non-published replies to each forum
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-forum-hidden-replies',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recount pending, spammed, and trashed replies in each forum', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if non-public replies display incorrectly in forums.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_forum_hidden_reply_count',
|
|
'priority' => 60,
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_forum_post_type(), bbp_get_reply_post_type() )
|
|
) );
|
|
|
|
// Count topic replies
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-topic-replies',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recount replies in each topic', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if the number of replies in any topics are incorrect.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_topic_reply_count',
|
|
'priority' => 65,
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_topic_post_type(), bbp_get_reply_post_type() )
|
|
) );
|
|
|
|
// Count non-published replies to each topic
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-topic-hidden-replies',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recount pending, spammed, and trashed replies in each topic', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if non-public replies display incorrectly in topics.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_topic_hidden_reply_count',
|
|
'priority' => 70,
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_topic_post_type(), bbp_get_reply_post_type() )
|
|
) );
|
|
|
|
// Recount topics for each user
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-topics',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recount topics for each user', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this to get fresh topic counts for all users.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_user_topic_count',
|
|
'priority' => 75,
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_topic_post_type(), bbp_get_user_rewrite_id() )
|
|
) );
|
|
|
|
// Recount topics for each user
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-replies',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Recount replies for each user', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this to get fresh reply counts for all users.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_user_reply_count',
|
|
'priority' => 80,
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_reply_post_type(), bbp_get_user_rewrite_id() )
|
|
) );
|
|
|
|
// Remove unpublished topics from user favorites
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-favorites',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Remove unpublished topics from user favorites', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this to remove trashed or deleted topics from all user favorites.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_user_favorites',
|
|
'priority' => 85,
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_topic_post_type(), bbp_get_user_rewrite_id() )
|
|
) );
|
|
|
|
// Remove unpublished topics from user subscriptions
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-topic-subscriptions',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Remove unpublished topics from user subscriptions', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this to remove trashed or deleted topics from all user subscriptions.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_user_topic_subscriptions',
|
|
'priority' => 90,
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_topic_post_type(), bbp_get_user_rewrite_id() )
|
|
) );
|
|
|
|
// Remove unpublished forums from user subscriptions
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-forum-subscriptions',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Remove unpublished forums from user subscriptions', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this to remove trashed or deleted forums from all user subscriptions.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_user_forum_subscriptions',
|
|
'priority' => 95,
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_forum_post_type(), bbp_get_user_rewrite_id() )
|
|
) );
|
|
|
|
// Remove unpublished forums from user subscriptions
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-role-map',
|
|
'type' => 'repair',
|
|
'title' => esc_html__( 'Remap all users to default forum roles', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if users have issues accessing the forums.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_repair_user_roles',
|
|
'priority' => 100,
|
|
'overhead' => 'low',
|
|
'components' => array( bbp_get_user_rewrite_id() )
|
|
) );
|
|
|
|
// Migrate topic engagements to post-meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-topic-engagements-move',
|
|
'type' => 'upgrade',
|
|
'title' => esc_html__( 'Upgrade user topic engagements', 'bbpress' ),
|
|
'description' => esc_html__( 'Copies engagements from user meta to topic meta.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_upgrade_user_engagements',
|
|
'priority' => 105,
|
|
'version' => '2.6.0',
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_user_rewrite_id(), bbp_get_user_engagements_rewrite_id() )
|
|
) );
|
|
|
|
// Migrate favorites from user-meta to post-meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-favorites-move',
|
|
'type' => 'upgrade',
|
|
'title' => esc_html__( 'Upgrade user topic favorites', 'bbpress' ),
|
|
'description' => esc_html__( 'Copies favorites from user meta to topic meta.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_upgrade_user_favorites',
|
|
'priority' => 110,
|
|
'version' => '2.6.0',
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_user_rewrite_id(), bbp_get_user_favorites_rewrite_id() )
|
|
) );
|
|
|
|
// Migrate topic subscriptions from user-meta to post-meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-topic-subscriptions-move',
|
|
'type' => 'upgrade',
|
|
'title' => esc_html__( 'Upgrade user topic subscriptions', 'bbpress' ),
|
|
'description' => esc_html__( 'Copies topic subscriptions from user meta to topic meta.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_upgrade_user_topic_subscriptions',
|
|
'priority' => 115,
|
|
'version' => '2.6.0',
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_user_rewrite_id(), bbp_get_user_subscriptions_rewrite_id() )
|
|
) );
|
|
|
|
// Migrate forum subscriptions from user-meta to post-meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-forum-subscriptions-move',
|
|
'type' => 'upgrade',
|
|
'title' => esc_html__( 'Upgrade user forum subscriptions', 'bbpress' ),
|
|
'description' => esc_html__( 'Copies forum subscriptions from user meta to forum meta.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_upgrade_user_forum_subscriptions',
|
|
'priority' => 120,
|
|
'version' => '2.6.0',
|
|
'overhead' => 'high',
|
|
'components' => array( bbp_get_user_rewrite_id(), bbp_get_user_subscriptions_rewrite_id() )
|
|
) );
|
|
|
|
// Remove favorites from user-meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-favorites-delete',
|
|
'type' => 'upgrade',
|
|
'title' => esc_html__( 'Remove favorites from user-meta', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this to delete old data (after confirming successful favorites upgrade)', 'bbpress' ),
|
|
'callback' => 'bbp_admin_upgrade_remove_favorites_from_usermeta',
|
|
'priority' => 125,
|
|
'version' => '2.6.1',
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_user_rewrite_id(), bbp_get_user_favorites_rewrite_id() )
|
|
) );
|
|
|
|
// Remove topic subscriptions from user-meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-topic-subscriptions-delete',
|
|
'type' => 'upgrade',
|
|
'title' => esc_html__( 'Remove topic subscriptions from user-meta', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this to delete old data (after confirming successful topic subscriptions upgrade)', 'bbpress' ),
|
|
'callback' => 'bbp_admin_upgrade_remove_topic_subscriptions_from_usermeta',
|
|
'priority' => 130,
|
|
'version' => '2.6.1',
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_user_rewrite_id(), bbp_get_user_subscriptions_rewrite_id() )
|
|
) );
|
|
|
|
// Remove forum subscriptions from user-meta
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-user-forum-subscriptions-delete',
|
|
'type' => 'upgrade',
|
|
'title' => esc_html__( 'Remove forum subscriptions from user-meta', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this to delete old data (after confirming successful forum subscriptions upgrade)', 'bbpress' ),
|
|
'callback' => 'bbp_admin_upgrade_remove_forum_subscriptions_from_usermeta',
|
|
'priority' => 135,
|
|
'version' => '2.6.1',
|
|
'overhead' => 'medium',
|
|
'components' => array( bbp_get_user_rewrite_id(), bbp_get_user_subscriptions_rewrite_id() )
|
|
) );
|
|
|
|
// Sync all BuddyPress group forum relationships
|
|
bbp_register_repair_tool( array(
|
|
'id' => 'bbp-group-forums',
|
|
'type' => 'upgrade',
|
|
'title' => esc_html__( 'Upgrade BuddyPress Group Forum relationships', 'bbpress' ),
|
|
'description' => esc_html__( 'Run this if you just upgraded BuddyPress Forums from Legacy.', 'bbpress' ),
|
|
'callback' => 'bbp_admin_upgrade_group_forum_relationship',
|
|
'priority' => 140,
|
|
'version' => esc_html__( 'Any', 'bbpress' ),
|
|
'overhead' => 'low',
|
|
'components' => array( bbp_get_forum_post_type() )
|
|
) );
|
|
}
|
|
|
|
/**
|
|
* Output the tabs in the admin area
|
|
*
|
|
* @since 2.1.0 bbPress (r3872)
|
|
*
|
|
* @param string $active_tab Name of the tab that is active
|
|
*/
|
|
function bbp_tools_admin_tabs( $active_tab = '' ) {
|
|
echo bbp_get_tools_admin_tabs( $active_tab );
|
|
}
|
|
|
|
/**
|
|
* Output the tabs in the admin area
|
|
*
|
|
* @since 2.1.0 bbPress (r3872)
|
|
*
|
|
* @param string $active_tab Name of the tab that is active
|
|
*/
|
|
function bbp_get_tools_admin_tabs( $active_tab = '' ) {
|
|
|
|
// Declare local variables
|
|
$tabs_html = '';
|
|
$idle_class = 'nav-tab';
|
|
$active_class = 'nav-tab nav-tab-active';
|
|
|
|
// Setup core admin tabs
|
|
$tabs = bbp_get_tools_admin_pages();
|
|
|
|
// Loop through tabs and build navigation
|
|
foreach ( $tabs as $tab ) {
|
|
|
|
// Skip if user cannot visit page
|
|
if ( ! current_user_can( $tab['cap'] ) ) {
|
|
continue;
|
|
}
|
|
|
|
// Setup tab HTML
|
|
$is_current = (bool) ( $tab['page'] === $active_tab );
|
|
$tab_class = $is_current ? $active_class : $idle_class;
|
|
$tab_url = add_query_arg( array( 'page' => $tab['page'] ), admin_url( 'tools.php' ) );
|
|
|
|
// Tab name is not escaped - may contain HTML
|
|
$tabs_html .= '<a href="' . esc_url( $tab_url ) . '" class="' . esc_attr( $tab_class ) . '">' . $tab['name'] . '</a>';
|
|
}
|
|
|
|
// Output the tabs
|
|
return $tabs_html;
|
|
}
|
|
|
|
/**
|
|
* Return possible tools pages
|
|
*
|
|
* @since 2.6.0 bbPress (r6273)
|
|
*
|
|
* @return array
|
|
*/
|
|
function bbp_get_tools_admin_pages() {
|
|
|
|
// Get tools URL one time & use in each tab
|
|
$tools_url = admin_url( 'tools.php' );
|
|
|
|
// Filter & return
|
|
return (array) apply_filters( 'bbp_tools_admin_tabs', array(
|
|
array(
|
|
'page' => 'bbp-repair',
|
|
'func' => 'bbp_admin_repair_page',
|
|
'cap' => 'bbp_tools_repair_page',
|
|
'name' => bbp_maybe_append_pending_upgrade_count( esc_html__( 'Repair Forums', 'bbpress' ), 'repair' ),
|
|
|
|
// Deprecated 2.6.0
|
|
'href' => add_query_arg( array( 'page' => 'bbp-repair' ), $tools_url )
|
|
),
|
|
array(
|
|
'page' => 'bbp-upgrade',
|
|
'func' => 'bbp_admin_upgrade_page',
|
|
'cap' => 'bbp_tools_upgrade_page',
|
|
'name' => bbp_maybe_append_pending_upgrade_count( esc_html__( 'Upgrade Forums', 'bbpress' ), 'upgrade' ),
|
|
|
|
// Deprecated 2.6.0
|
|
'href' => add_query_arg( array( 'page' => 'bbp-upgrade' ), $tools_url )
|
|
),
|
|
array(
|
|
'page' => 'bbp-converter',
|
|
'func' => 'bbp_converter_settings_page',
|
|
'cap' => 'bbp_tools_import_page',
|
|
'name' => esc_html__( 'Import Forums', 'bbpress' ),
|
|
|
|
// Deprecated 2.6.0
|
|
'href' => add_query_arg( array( 'page' => 'bbp-converter' ), $tools_url )
|
|
),
|
|
array(
|
|
'page' => 'bbp-reset',
|
|
'func' => 'bbp_admin_reset_page',
|
|
'cap' => 'bbp_tools_reset_page',
|
|
'name' => esc_html__( 'Reset Forums', 'bbpress' ),
|
|
|
|
// Deprecated 2.6.0
|
|
'href' => add_query_arg( array( 'page' => 'bbp-reset' ), $tools_url )
|
|
)
|
|
) );
|
|
}
|