Example #1
0
 /**
  * @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);
 }
Example #3
0
			<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 
        }
        ?>