/**
 * Add inline css to display the component's single item cover image
 *
 * @since 2.4.0
 *
 * @param  bool $return True to get the inline css.
 * @return string|array the inline css or an associative array containing
 *                      the css rules and the style handle
 */
function bp_add_cover_image_inline_css($return = false)
{
    $bp = buddypress();
    // Find the component of the current item.
    if (bp_is_user()) {
        // User is not allowed to upload cover images
        // no need to carry on.
        if (bp_disable_cover_image_uploads()) {
            return;
        }
        $cover_image_object = array('component' => 'xprofile', 'object' => $bp->displayed_user);
    } elseif (bp_is_group()) {
        // Users are not allowed to upload cover images for their groups
        // no need to carry on.
        if (bp_disable_group_cover_image_uploads()) {
            return;
        }
        $cover_image_object = array('component' => 'groups', 'object' => $bp->groups->current_group);
    } else {
        $cover_image_object = apply_filters('bp_current_cover_image_object_inline_css', array());
    }
    // Bail if no component were found.
    if (empty($cover_image_object['component']) || empty($cover_image_object['object']) || !bp_is_active($cover_image_object['component'], 'cover_image')) {
        return;
    }
    // Get the settings of the cover image feature for the current component.
    $params = bp_attachments_get_cover_image_settings($cover_image_object['component']);
    // Bail if no params.
    if (empty($params)) {
        return;
    }
    // Try to call the callback.
    if (is_callable($params['callback'])) {
        $object_dir = $cover_image_object['component'];
        if ('xprofile' === $object_dir) {
            $object_dir = 'members';
        }
        $cover_image = bp_attachments_get_attachment('url', array('object_dir' => $object_dir, 'item_id' => $cover_image_object['object']->id));
        if (empty($cover_image)) {
            if (!empty($params['default_cover'])) {
                $cover_image = $params['default_cover'];
            }
        }
        $inline_css = call_user_func_array($params['callback'], array(array('cover_image' => esc_url_raw($cover_image), 'component' => sanitize_key($cover_image_object['component']), 'object_id' => (int) $cover_image_object['object']->id, 'width' => (int) $params['width'], 'height' => (int) $params['height'])));
        // Finally add the inline css to the handle.
        if (!empty($inline_css)) {
            // Used to get the css when Ajax setting the cover image.
            if (true === $return) {
                return array('css_rules' => '<style type="text/css">' . "\n" . $inline_css . "\n" . '</style>', 'handle' => $params['theme_handle']);
            }
            wp_add_inline_style($params['theme_handle'], $inline_css);
        } else {
            return false;
        }
    }
}
Ejemplo n.º 2
0
/**
 * Does the group has a cover image ?
 *
 * @since  2.4.0
 *
 * @param  int $group_id
 * @return bool True if the group has a cover image, false otherwise
 */
function bp_attachments_get_group_has_cover_image($group_id = 0)
{
    if (empty($group_id)) {
        $group_id = bp_get_current_group_id();
    }
    $cover_src = bp_attachments_get_attachment('url', array('object_dir' => 'groups', 'item_id' => $group_id));
    return (bool) apply_filters('bp_attachments_get_user_has_cover_image', $cover_src, $group_id);
}
Ejemplo n.º 3
0
 function musik_before_group_header()
 {
     $cover = bp_attachments_get_attachment('url', array('object_dir' => 'groups', 'item_id' => bp_get_group_id()));
     echo sprintf('<style>#buddypress #header-cover-image { background-image: url(%s);}</style>', $cover);
 }
Ejemplo n.º 4
0
/**
 * Add the user's cover image to his embed profile
 *
 * @since  2.3.0
 */
function wp_idea_stream_buddypress_embed_inline_style()
{
    // Get displayed user id.
    $user_id = wp_idea_stream_users_displayed_user_id();
    // If not set, we're not on a user's profile.
    if (empty($user_id) || bp_disable_cover_image_uploads()) {
        return;
    }
    $cover_image = bp_attachments_get_attachment('url', array('object_dir' => 'members', 'item_id' => $user_id));
    if (!$cover_image) {
        return;
    }
    wp_add_inline_style('wp-idea-stream-embed-style', '
		#buddypress-cover-image {
			display: block;
			background-image: url(' . $cover_image . ');
			background-position: center top;
			background-repeat: no-repeat;
			background-size: cover;
			height: 100px;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			z-index: 1;
		}

		#wp-idea-stream .profile-header {
			z-index: 1;
			position: relative;
		}

		#wp-idea-stream .wp-embed-excerpt {
			margin-top: 1em;
		}

		#wp-idea-stream .profile-header .wp-embed-heading a {
			color: #FFF;
			text-rendering: optimizelegibility;
			text-shadow: 0px 0px 3px rgba( 0, 0, 0, 0.8 );
			height: 50px;
			line-height: 50px;
		}

		#wp-idea-stream .profile-header .user-avatar img.avatar {
			border: solid 2px #FFF;
			background: rgba( 255, 255, 255, 0.8 );
		}
	');
}
Ejemplo n.º 5
0
    //No photo set? Show default + message
    if (empty($cover_image_url)) {
        $cover_image_url = WEFOSTER_DEFAULT_MEMBER_COVER_PHOTO;
        if (bp_is_my_profile()) {
            $link = bp_loggedin_user_domain() . $bp->profile->slug . 'profile/change-cover-image/';
            $text = esc_html__('Upload Your Cover Photo', 'wefoster');
            $action = '<div class="cover-photo-action vertical-center site-description my-profile"><a data-toggle="tooltip" data-placement="right" title="' . $text . '" data-container="body" href=' . $link . '><i class="fa fa-camera-retro"></i></a></div>';
        } else {
            $action = '';
        }
    }
    //
    //Group Cover Photos
    //
} else {
    $cover_image_url = bp_attachments_get_attachment('url', array('object_dir' => 'groups', 'item_id' => bp_get_current_group_id()));
    // is the current user a Group Admin? Allow the user to change.
    if (groups_is_user_admin(bp_loggedin_user_id(), bp_get_current_group_id())) {
        $link = bp_get_group_permalink(buddypress()->groups->current_group) . 'admin/group-cover-image/';
        $text = esc_html__('Change Group Cover Photo', 'wefoster');
        $action = '<div class="cover-photo-action vertical-center site-description my-profile"><a data-toggle="tooltip" data-placement="right" title="' . $text . '" data-container="body" href=' . $link . '><i class="fa fa-camera-retro"></i></a></div>';
    } else {
        $action = '';
    }
    //No photo set? Show default image + change upload message
    if (empty($cover_image_url)) {
        $cover_image_url = WEFOSTER_DEFAULT_GROUP_COVER_PHOTO;
        if (groups_is_user_admin(bp_loggedin_user_id(), bp_get_current_group_id())) {
            $link = bp_get_group_permalink(buddypress()->groups->current_group) . 'admin/group-cover-image/';
            $text = esc_html__('Upload Group Cover Photo', 'wefoster');
            $action = '<div class="cover-photo-action vertical-center site-description my-profile"><a data-toggle="tooltip" data-placement="right" title="' . $text . '" data-container="body" href=' . $link . '><i class="fa fa-camera-retro"></i></a></div>';