BP_Attachment_Avatar::script_data()
Build script datas for the Uploader UI.
Description
Return
(array) The javascript localization data.
Source
File: bp-core/classes/class-bp-attachment-avatar.php
public function script_data() {
// Get default script data.
$script_data = parent::script_data();
// Defaults to Avatar Backbone script.
$js_scripts = array( 'bp-avatar' );
// Default object.
$object = '';
// Get the possible item ids.
$user_id = $this->get_user_id();
$group_id = $this->get_group_id();
if ( ! empty( $user_id ) ) {
// Should we load the the Webcam Avatar javascript file.
if ( bp_avatar_use_webcam() ) {
$js_scripts = array( 'bp-webcam' );
}
$script_data['bp_params'] = array(
'object' => 'user',
'item_id' => $user_id,
'has_avatar' => bp_get_user_has_avatar( $user_id ),
'nonces' => array(
'set' => wp_create_nonce( 'bp_avatar_cropstore' ),
'remove' => wp_create_nonce( 'bp_delete_avatar_link' ),
),
);
// Set feedback messages.
$script_data['feedback_messages'] = array(
1 => __( 'There was a problem cropping your profile photo.', 'buddyboss' ),
2 => __( 'Your new profile photo was uploaded successfully.', 'buddyboss' ),
3 => __( 'There was a problem deleting your profile photo. Please try again.', 'buddyboss' ),
4 => __( 'Your profile photo was deleted successfully!', 'buddyboss' ),
);
} elseif ( ! empty( $group_id ) ) {
$script_data['bp_params'] = array(
'object' => 'group',
'item_id' => $group_id,
'has_avatar' => bp_get_group_has_avatar( $group_id ),
'nonces' => array(
'set' => wp_create_nonce( 'bp_avatar_cropstore' ),
'remove' => wp_create_nonce( 'bp_group_avatar_delete' ),
),
);
// Set feedback messages.
$script_data['feedback_messages'] = array(
1 => __( 'There was a problem cropping the group profile photo.', 'buddyboss' ),
2 => __( 'The group profile photo was uploaded successfully.', 'buddyboss' ),
3 => __( 'There was a problem deleting the group profile photo. Please try again.', 'buddyboss' ),
4 => __( 'The group profile photo was deleted successfully!', 'buddyboss' ),
);
} else {
/**
* Use this filter to include specific BuddyPress params for your object.
* e.g. Blavatar.
*
* @since BuddyPress 2.3.0
*
* @param array $value The avatar specific BuddyPress parameters.
*/
$script_data['bp_params'] = apply_filters( 'bp_attachment_avatar_params', array() );
}
// Include the specific css.
$script_data['extra_css'] = array( 'bp-avatar' );
// Include the specific css.
$script_data['extra_js'] = $js_scripts;
// Set the object to contextualize the filter.
if ( isset( $script_data['bp_params']['object'] ) ) {
$object = $script_data['bp_params']['object'];
}
/**
* Use this filter to override/extend the avatar script data.
*
* @since BuddyPress 2.3.0
*
* @param array $script_data The avatar script data.
* @param string $object The object the avatar belongs to (eg: user or group).
*/
return apply_filters( 'bp_attachment_avatar_script_data', $script_data, $object );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.3.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.