HEX
Server: LiteSpeed
System: Linux node612.namehero.net 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: dfwparty (1186)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //home/dfwparty/dfwchat.net/wp-content/plugins/buddyboss-platform/bp-invites/bp-invites-admin.php
<?php
/**
 * BuddyBoss Invites component admin screen.
 *
 * Legacy CPT list table code removed — migrated to Settings 2.0
 * via BB_Admin_Invites_Ajax and InvitesListScreen.js.
 *
 * @package BuddyBoss\Invites
 * @since BuddyBoss 1.0.0
 */

// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;

/**
 * Register the Invites component admin menu pointing to Settings 2.0.
 *
 * @since BuddyBoss 1.0.0
 * @since BuddyBoss 3.0.0 Updated to point to Settings 2.0 React list screen.
 */
function bp_invites_add_admin_menu() {
	global $submenu;

	$settings_url = function_exists( 'bb_get_feature_settings_url' )
		? bb_get_feature_settings_url( 'invites', 'invites_list' )
		: admin_url( 'admin.php?page=bb-settings&tab=invites&panel=invites_list' );

	$submenu['buddyboss-platform'][] = array(
		__( 'Invites', 'buddyboss' ),
		'bp_moderate',
		$settings_url,
	);
}
add_action( bp_core_admin_hook(), 'bp_invites_add_admin_menu', 65 );

/**
 * Register the Invites submenu for multisite network admin.
 *
 * @since BuddyBoss 1.0.0
 * @since BuddyBoss 3.0.0 Updated to point to Settings 2.0 React list screen.
 */
function bp_invites_add_sub_menu_page_admin_menu() {

	if ( is_multisite() && bp_is_network_activated() ) {
		$settings_url = function_exists( 'bb_get_feature_settings_url' )
			? bb_get_feature_settings_url( 'invites', 'invites_list' )
			: admin_url( 'admin.php?page=bb-settings&tab=invites&panel=invites_list' );

		add_submenu_page(
			'buddyboss-platform',
			__( 'Invites', 'buddyboss' ),
			__( 'Invites', 'buddyboss' ),
			'bp_moderate',
			$settings_url,
			''
		);
	}
}
add_action( 'admin_menu', 'bp_invites_add_sub_menu_page_admin_menu', 10 );

/**
 * Add Invites menu item to custom menus array.
 *
 * @since BuddyBoss 1.0.0
 * @since BuddyBoss 3.0.0 Updated to point to Settings 2.0 React list screen.
 *
 * @param array $custom_menus The list of top-level BP menu items.
 * @return array
 */
function invites_admin_menu_order( $custom_menus = array() ) {

	$settings_url = function_exists( 'bb_get_feature_settings_url' )
		? bb_get_feature_settings_url( 'invites', 'invites_list' )
		: admin_url( 'admin.php?page=bb-settings&tab=invites&panel=invites_list' );

	array_push( $custom_menus, $settings_url );

	// Network admin: also push the root site's Settings 2.0 URL (matches emails_admin_menu_order pattern).
	if ( is_network_admin() && bp_is_network_activated() ) {
		array_push(
			$custom_menus,
			get_admin_url( bp_get_root_blog_id(), 'admin.php?page=bb-settings&tab=invites&panel=invites_list' )
		);
	}

	return $custom_menus;
}
add_filter( 'bp_admin_menu_order', 'invites_admin_menu_order', 20 );

// ──────────────────────────────────────────────────────────────────────────────
// DEPRECATED FUNCTIONS — Legacy CPT list table (migrated to Settings 2.0).
// ──────────────────────────────────────────────────────────────────────────────

if ( ! function_exists( 'bp_register_invite_type_sections_filters_actions' ) ) {
	/**
	 * Registers the invite admin action and filters.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0 Use Settings 2.0 {@see BB_Admin_Invites_Ajax}.
	 */
	function bp_register_invite_type_sections_filters_actions() {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0', 'BB_Admin_Invites_Ajax' );
	}
}

if ( ! function_exists( 'bp_invite_add_column' ) ) {
	/**
	 * Add columns to invite list table.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param array $columns Existing columns.
	 * @return array
	 */
	function bp_invite_add_column( $columns ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $columns;
	}
}

if ( ! function_exists( 'bp_invite_show_data' ) ) {
	/**
	 * Display data by column and post id.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param string $column  Column name.
	 * @param int    $post_id Post ID.
	 */
	function bp_invite_show_data( $column, $post_id ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
	}
}

if ( ! function_exists( 'bp_invite_add_sortable_columns' ) ) {
	/**
	 * Add sortable columns.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param array $columns Columns.
	 * @return array
	 */
	function bp_invite_add_sortable_columns( $columns ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $columns;
	}
}

if ( ! function_exists( 'bp_invite_add_request_filter' ) ) {
	/**
	 * Add filter to invite sort items.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 */
	function bp_invite_add_request_filter() {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
	}
}

if ( ! function_exists( 'bp_invite_sort_items' ) ) {
	/**
	 * Sort invite list.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param array $qv Query vars.
	 * @return array
	 */
	function bp_invite_sort_items( $qv ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $qv;
	}
}

if ( ! function_exists( 'bp_invite_hide_quick_edit' ) ) {
	/**
	 * Hide quick edit link.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param array   $actions Row actions.
	 * @param WP_Post $post    Post object.
	 * @return array
	 */
	function bp_invite_hide_quick_edit( $actions, $post ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $actions;
	}
}

if ( ! function_exists( 'bp_invites_remove_bulk_actions' ) ) {
	/**
	 * Remove bulk actions.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param array $actions Bulk actions.
	 * @return array
	 */
	function bp_invites_remove_bulk_actions( $actions ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $actions;
	}
}

if ( ! function_exists( 'bp_invites_bulk_action_handler' ) ) {
	/**
	 * Bulk revoke handler.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param string $redirect   Redirect URL.
	 * @param string $doaction   Action name.
	 * @param array  $object_ids Post IDs.
	 * @return string
	 */
	function bp_invites_bulk_action_handler( $redirect, $doaction, $object_ids ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $redirect;
	}
}

if ( ! function_exists( 'bp_invite_bulk_action_notices' ) ) {
	/**
	 * Bulk action admin notice.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 */
	function bp_invite_bulk_action_notices() {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
	}
}

if ( ! function_exists( 'bp_invites_js_bulk_admin_footer' ) ) {
	/**
	 * JS confirm for bulk revoke.
	 *
	 * @since BuddyBoss 1.0.0
	 * @deprecated BuddyBoss 3.0.0
	 */
	function bp_invites_js_bulk_admin_footer() {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
	}
}

if ( ! function_exists( 'bb_invites_modify_posts_distinct_request' ) ) {
	/**
	 * Modify posts distinct for invite search.
	 *
	 * @since BuddyBoss 2.2.4
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param string   $distinct DISTINCT clause.
	 * @param WP_Query $query    Query instance.
	 * @return string
	 */
	function bb_invites_modify_posts_distinct_request( $distinct, $query ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $distinct;
	}
}

if ( ! function_exists( 'bb_invites_modify_posts_join_request' ) ) {
	/**
	 * Modify posts join for invite search.
	 *
	 * @since BuddyBoss 2.2.4
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param string   $join  JOIN clause.
	 * @param WP_Query $query Query instance.
	 * @return string
	 */
	function bb_invites_modify_posts_join_request( $join, $query ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $join;
	}
}

if ( ! function_exists( 'bb_invites_modify_posts_where_request' ) ) {
	/**
	 * Modify posts where for invite search.
	 *
	 * @since BuddyBoss 2.2.4
	 * @deprecated BuddyBoss 3.0.0
	 *
	 * @param string   $where WHERE clause.
	 * @param WP_Query $query Query instance.
	 * @return string
	 */
	function bb_invites_modify_posts_where_request( $where, $query ) {
		_deprecated_function( __FUNCTION__, 'BuddyBoss 3.0.0' );
		return $where;
	}
}