/** * @group bp_get_group_has_avatar */ public function test_bp_get_group_has_avatar_has_avatar_uploaded() { $g = $this->factory->group->create(); // Fake it add_filter('bp_core_fetch_avatar_url', array($this, 'avatar_cb')); $this->assertTrue(bp_get_group_has_avatar($g)); remove_filter('bp_core_fetch_avatar_url', array($this, 'avatar_cb')); }
/** * Build script datas for the Uploader UI. * * @since 2.3.0 * * @return array The javascript localization data. */ 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.', 'buddypress'), 2 => __('Your new profile photo was uploaded successfully.', 'buddypress'), 3 => __('There was a problem deleting your profile photo. Please try again.', 'buddypress'), 4 => __('Your profile photo was deleted successfully!', 'buddypress')); } 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.', 'buddypress'), 2 => __('The group profile photo was uploaded successfully.', 'buddypress'), 3 => __('There was a problem deleting the group profile photo. Please try again.', 'buddypress'), 4 => __('The group profile photo was deleted successfully!', 'buddypress')); } else { /** * Use this filter to include specific BuddyPress params for your object. * e.g. Blavatar. * * @since 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 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); }
<p><?php _e("Upload an image to use as an avatar for this group. The image will be shown on the main group page, and in search results.", 'buddypress'); ?> </p> <p> <input type="file" name="file" id="file" /> <input type="submit" name="upload" id="upload" value="<?php _e('Upload Image', 'buddypress'); ?> " /> <input type="hidden" name="action" id="action" value="bp_avatar_upload" /> </p> <?php if (bp_get_group_has_avatar()) { ?> <p><?php _e("If you'd like to remove the existing avatar but not upload a new one, please use the delete avatar button.", 'buddypress'); ?> </p> <?php bp_button(array('id' => 'delete_group_avatar', 'component' => 'groups', 'wrapper_id' => 'delete-group-avatar-button', 'link_class' => 'edit', 'link_href' => bp_get_group_avatar_delete_link(), 'link_title' => __('Delete Avatar', 'buddypress'), 'link_text' => __('Delete Avatar', 'buddypress'))); ?> <?php } ?>