BP_XProfile_Component::setup_globals( array $args = array() )
Setup globals.
Description
The BP_XPROFILE_SLUG constant is deprecated, and only used here for backwards compatibility.
Parameters
- $args
-
(Optional) Array of globals to set up.
Default value: array()
Source
File: bp-xprofile/classes/class-bp-xprofile-component.php
public function setup_globals( $args = array() ) {
$bp = buddypress();
// Define a slug, if necessary.
if ( !defined( 'BP_XPROFILE_SLUG' ) ) {
define( 'BP_XPROFILE_SLUG', 'profile' );
}
// Assign the base group and fullname field names to constants
// to use in SQL statements.
// Defined conditionally to accommodate unit tests.
if ( ! defined( 'BP_XPROFILE_BASE_GROUP_NAME' ) ) {
define( 'BP_XPROFILE_BASE_GROUP_NAME', stripslashes( bp_core_get_root_option( 'avatar_default' ) ) );
}
if ( ! defined( 'BP_XPROFILE_FULLNAME_FIELD_NAME' ) ) {
define( 'BP_XPROFILE_FULLNAME_FIELD_NAME', stripslashes( bp_core_get_root_option( 'bp-xprofile-fullname-field-name' ) ) );
}
/**
* Filters the supported field type IDs.
*
* @since BuddyPress 1.1.0
*
* @param array $value Array of IDs for the supported field types.
*/
$this->field_types = apply_filters( 'xprofile_field_types', array_keys( bp_xprofile_get_field_types() ) );
// 'option' is a special case. It is not a top-level field, so
// does not have an associated BP_XProfile_Field_Type class,
// but it must be whitelisted.
$this->field_types[] = 'option';
// Register the visibility levels. See bp_xprofile_get_visibility_levels() to filter.
$this->visibility_levels = array(
'public' => array(
'id' => 'public',
'label' => __( 'Public', 'buddyboss' )
),
'adminsonly' => array(
'id' => 'adminsonly',
'label' => __( 'Only Me', 'buddyboss' )
),
'loggedin' => array(
'id' => 'loggedin',
'label' => __( 'All Members', 'buddyboss' )
)
);
if ( bp_is_active( 'friends' ) ) {
$this->visibility_levels['friends'] = array(
'id' => 'friends',
'label' => __( 'My Connections', 'buddyboss' )
);
}
// Tables.
$global_tables = array(
'table_name_data' => $bp->table_prefix . 'bp_xprofile_data',
'table_name_groups' => $bp->table_prefix . 'bp_xprofile_groups',
'table_name_fields' => $bp->table_prefix . 'bp_xprofile_fields',
'table_name_meta' => $bp->table_prefix . 'bp_xprofile_meta',
);
$meta_tables = array(
'xprofile_group' => $bp->table_prefix . 'bp_xprofile_meta',
'xprofile_field' => $bp->table_prefix . 'bp_xprofile_meta',
'xprofile_data' => $bp->table_prefix . 'bp_xprofile_meta',
);
$globals = array(
'slug' => BP_XPROFILE_SLUG,
'has_directory' => false,
'notification_callback' => 'xprofile_format_notifications',
'global_tables' => $global_tables,
'meta_tables' => $meta_tables,
);
parent::setup_globals( $globals );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.5.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.