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

145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
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

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.