members->slug ); } /** * Output the members component root slug * * @package BuddyPress * @subpackage Members Template * @since 1.5 * * @uses bp_get_members_root_slug() */ function bp_members_root_slug() { echo bp_get_members_root_slug(); } /** * Return the members component root slug * * @package BuddyPress * @subpackage Members Template * @since 1.5 */ function bp_get_members_root_slug() { global $bp; return apply_filters( 'bp_get_members_root_slug', $bp->members->root_slug ); } /** * Output member directory permalink * * @package BuddyPress * @subpackage Members Template * @since 1.5 * @uses bp_get_members_directory_permalink() */ function bp_members_directory_permalink() { echo bp_get_members_directory_permalink(); } /** * Return member directory permalink * * @package BuddyPress * @subpackage Members Template * @since 1.5 * @uses apply_filters() * @uses traisingslashit() * @uses bp_get_root_domain() * @uses bp_get_members_root_slug() * @return string */ function bp_get_members_directory_permalink() { return apply_filters( 'bp_get_members_directory_permalink', trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ) ); } /** * Output the sign-up slug * * @package BuddyPress * @subpackage Members Template * @since 1.5 * * @uses bp_get_signup_slug() */ function bp_signup_slug() { echo bp_get_signup_slug(); } /** * Return the sign-up slug * * @package BuddyPress * @subpackage Members Template * @since 1.5 */ function bp_get_signup_slug() { global $bp; if ( !empty( $bp->pages->register->slug ) ) $slug = $bp->pages->register->slug; elseif ( defined( 'BP_REGISTER_SLUG' ) ) $slug = BP_REGISTER_SLUG; else $slug = 'register'; return apply_filters( 'bp_get_signup_slug', $slug ); } /** * Output the activation slug * * @package BuddyPress * @subpackage Members Template * @since 1.5 * * @uses bp_get_activate_slug() */ function bp_activate_slug() { echo bp_get_activate_slug(); } /** * Return the activation slug * * @package BuddyPress * @subpackage Members Template * @since 1.5 */ function bp_get_activate_slug() { global $bp; if ( !empty( $bp->pages->activate->slug ) ) $slug = $bp->pages->activate->slug; elseif ( defined( 'BP_ACTIVATION_SLUG' ) ) $slug = BP_ACTIVATION_SLUG; else $slug = 'activate'; return apply_filters( 'bp_get_activate_slug', $slug ); } /*** * Members template loop that will allow you to loop all members or friends of a member * if you pass a user_id. */ class BP_Core_Members_Template { var $current_member = -1; var $member_count; var $members; var $member; var $in_the_loop; var $pag_page; var $pag_num; var $pag_links; var $total_member_count; function bp_core_members_template( $type, $page_number, $per_page, $max, $user_id, $search_terms, $include, $populate_extras, $exclude, $meta_key, $meta_value ) { $this->__construct( $type, $page_number, $per_page, $max, $user_id, $search_terms, $include, $populate_extras, $exclude, $meta_key, $meta_value ); } function __construct( $type, $page_number, $per_page, $max, $user_id, $search_terms, $include, $populate_extras, $exclude, $meta_key, $meta_value ) { global $bp; $this->pag_page = !empty( $_REQUEST['upage'] ) ? intval( $_REQUEST['upage'] ) : (int)$page_number; $this->pag_num = !empty( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : (int)$per_page; $this->type = $type; if ( isset( $_REQUEST['letter'] ) && '' != $_REQUEST['letter'] ) $this->members = BP_Core_User::get_users_by_letter( $_REQUEST['letter'], $this->pag_num, $this->pag_page, $populate_extras, $exclude ); else if ( false !== $include ) $this->members = BP_Core_User::get_specific_users( $include, $this->pag_num, $this->pag_page, $populate_extras ); else $this->members = bp_core_get_users( array( 'type' => $this->type, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'user_id' => $user_id, 'include' => $include, 'search_terms' => $search_terms, 'populate_extras' => $populate_extras, 'exclude' => $exclude, 'meta_key' => $meta_key, 'meta_value' => $meta_value ) ); if ( !$max || $max >= (int)$this->members['total'] ) $this->total_member_count = (int)$this->members['total']; else $this->total_member_count = (int)$max; $this->members = $this->members['users']; if ( $max ) { if ( $max >= count( $this->members ) ) { $this->member_count = count( $this->members ); } else { $this->member_count = (int)$max; } } else { $this->member_count = count( $this->members ); } if ( (int)$this->total_member_count && (int)$this->pag_num ) { $this->pag_links = paginate_links( array( 'base' => add_query_arg( 'upage', '%#%' ), 'format' => '', 'total' => ceil( (int)$this->total_member_count / (int)$this->pag_num ), 'current' => (int) $this->pag_page, 'prev_text' => _x( '←', 'Member pagination previous text', 'buddypress' ), 'next_text' => _x( '→', 'Member pagination next text', 'buddypress' ), 'mid_size' => 1 ) ); } } function has_members() { if ( $this->member_count ) return true; return false; } function next_member() { $this->current_member++; $this->member = $this->members[$this->current_member]; return $this->member; } function rewind_members() { $this->current_member = -1; if ( $this->member_count > 0 ) { $this->member = $this->members[0]; } } function members() { if ( $this->current_member + 1 < $this->member_count ) { return true; } elseif ( $this->current_member + 1 == $this->member_count ) { do_action('member_loop_end'); // Do some cleaning up after the loop $this->rewind_members(); } $this->in_the_loop = false; return false; } function the_member() { global $member, $bp; $this->in_the_loop = true; $this->member = $this->next_member(); if ( 0 == $this->current_member ) // loop has just started do_action('member_loop_start'); } } function bp_rewind_members() { global $members_template; return $members_template->rewind_members(); } function bp_has_members( $args = '' ) { global $bp, $members_template; /*** * Set the defaults based on the current page. Any of these will be overridden * if arguments are directly passed into the loop. Custom plugins should always * pass their parameters directly to the loop. */ $type = 'active'; $user_id = 0; $page = 1; $search_terms = null; // User filtering if ( !empty( $bp->displayed_user->id ) ) $user_id = $bp->displayed_user->id; // type: active ( default ) | random | newest | popular | online | alphabetical $defaults = array( 'type' => $type, 'page' => $page, 'per_page' => 20, 'max' => false, 'include' => false, // Pass a user_id or a list (comma-separated or array) of user_ids to only show these users 'exclude' => false, // Pass a user_id or a list (comma-separated or array) of user_ids to exclude these users 'user_id' => $user_id, // Pass a user_id to only show friends of this user 'search_terms' => $search_terms, // Pass search_terms to filter users by their profile data 'meta_key' => false, // Only return users with this usermeta 'meta_value' => false, // Only return users where the usermeta value matches. Requires meta_key 'populate_extras' => true // Fetch usermeta? Friend count, last active etc. ); $r = wp_parse_args( $args, $defaults ); extract( $r ); // Pass a filter if ?s= is set. if ( is_null( $search_terms ) ) { if ( !empty( $_REQUEST['s'] ) ) $search_terms = $_REQUEST['s']; else $search_terms = false; } // Set per_page to max if max is larger than per_page if ( !empty( $max ) && ( $per_page > $max ) ) $per_page = $max; // Make sure we return no members if we looking at friendship requests and there are none. if ( empty( $include ) && bp_is_friends_component() && bp_is_current_action( 'requests' ) ) return false; $members_template = new BP_Core_Members_Template( $type, $page, $per_page, $max, $user_id, $search_terms, $include, (bool)$populate_extras, $exclude, $meta_key, $meta_value ); return apply_filters( 'bp_has_members', $members_template->has_members(), $members_template ); } function bp_the_member() { global $members_template; return $members_template->the_member(); } function bp_members() { global $members_template; return $members_template->members(); } function bp_members_pagination_count() { echo bp_get_members_pagination_count(); } function bp_get_members_pagination_count() { global $bp, $members_template; if ( empty( $members_template->type ) ) $members_template->type = ''; $start_num = intval( ( $members_template->pag_page - 1 ) * $members_template->pag_num ) + 1; $from_num = bp_core_number_format( $start_num ); $to_num = bp_core_number_format( ( $start_num + ( $members_template->pag_num - 1 ) > $members_template->total_member_count ) ? $members_template->total_member_count : $start_num + ( $members_template->pag_num - 1 ) ); $total = bp_core_number_format( $members_template->total_member_count ); if ( 'active' == $members_template->type ) $pag = sprintf( __( 'Viewing member %1$s to %2$s (of %3$s active members)', 'buddypress' ), $from_num, $to_num, $total ); else if ( 'popular' == $members_template->type ) $pag = sprintf( __( 'Viewing member %1$s to %2$s (of %3$s members with friends)', 'buddypress' ), $from_num, $to_num, $total ); else if ( 'online' == $members_template->type ) $pag = sprintf( __( 'Viewing member %1$s to %2$s (of %3$s members online)', 'buddypress' ), $from_num, $to_num, $total ); else $pag = sprintf( __( 'Viewing member %1$s to %2$s (of %3$s members)', 'buddypress' ), $from_num, $to_num, $total ); return apply_filters( 'bp_members_pagination_count', $pag ); } function bp_members_pagination_links() { echo bp_get_members_pagination_links(); } function bp_get_members_pagination_links() { global $members_template; return apply_filters( 'bp_get_members_pagination_links', $members_template->pag_links ); } /** * bp_member_user_id() * * Echo id from bp_get_member_user_id() * * @uses bp_get_member_user_id() */ function bp_member_user_id() { echo bp_get_member_user_id(); } /** * bp_get_member_user_id() * * Get the id of the user in a members loop * * @global object $members_template * @return string Members id */ function bp_get_member_user_id() { global $members_template; return apply_filters( 'bp_get_member_user_id', $members_template->member->id ); } /** * bp_member_user_nicename() * * Echo nicename from bp_get_member_user_nicename() * * @uses bp_get_member_user_nicename() */ function bp_member_user_nicename() { echo bp_get_member_user_nicename(); } /** * bp_get_member_user_nicename() * * Get the nicename of the user in a members loop * * @global object $members_template * @return string Members nicename */ function bp_get_member_user_nicename() { global $members_template; return apply_filters( 'bp_get_member_user_nicename', $members_template->member->user_nicename ); } /** * bp_member_user_login() * * Echo login from bp_get_member_user_login() * * @uses bp_get_member_user_login() */ function bp_member_user_login() { echo bp_get_member_user_login(); } /** * bp_get_member_user_login() * * Get the login of the user in a members loop * * @global object $members_template * @return string Members login */ function bp_get_member_user_login() { global $members_template; return apply_filters( 'bp_get_member_user_login', $members_template->member->user_login ); } /** * bp_member_user_email() * * Echo email address from bp_get_member_user_email() * * @uses bp_get_member_user_email() */ function bp_member_user_email() { echo bp_get_member_user_email(); } /** * bp_get_member_user_email() * * Get the email address of the user in a members loop * * @global object $members_template * @return string Members email address */ function bp_get_member_user_email() { global $members_template; return apply_filters( 'bp_get_member_user_email', $members_template->member->user_email ); } function bp_member_is_loggedin_user() { global $bp, $members_template; return apply_filters( 'bp_member_is_loggedin_user', $bp->loggedin_user->id == $members_template->member->id ? true : false ); } function bp_member_avatar( $args = '' ) { echo apply_filters( 'bp_member_avatar', bp_get_member_avatar( $args ) ); } function bp_get_member_avatar( $args = '' ) { global $bp, $members_template; $defaults = array( 'type' => 'thumb', 'width' => false, 'height' => false, 'class' => 'avatar', 'id' => false, 'alt' => __( 'Profile picture of %s', 'buddypress' ) ); $r = wp_parse_args( $args, $defaults ); extract( $r, EXTR_SKIP ); return apply_filters( 'bp_get_member_avatar', bp_core_fetch_avatar( array( 'item_id' => $members_template->member->id, 'type' => $type, 'alt' => $alt, 'css_id' => $id, 'class' => $class, 'width' => $width, 'height' => $height, 'email' => $members_template->member->user_email ) ) ); } function bp_member_permalink() { echo bp_get_member_permalink(); } function bp_get_member_permalink() { global $members_template; return apply_filters( 'bp_get_member_permalink', bp_core_get_user_domain( $members_template->member->id, $members_template->member->user_nicename, $members_template->member->user_login ) ); } function bp_member_link() { echo bp_get_member_permalink(); } function bp_get_member_link() { return bp_get_member_permalink(); } /** * Echoes bp_get_member_name() * * @package BuddyPress */ function bp_member_name() { echo apply_filters( 'bp_member_name', bp_get_member_name() ); } /** * Used inside a bp_has_members() loop, this function returns a user's full name * * Full name is, by default, pulled from xprofile's Full Name field. When this field is * empty, we try to get an alternative name from the WP users table, in the following order * of preference: display_name, user_nicename, user_login. * * @package BuddyPress * * @uses apply_filters() Filter bp_get_the_member_name() to alter the function's output * @return str The user's fullname for display */ function bp_get_member_name() { global $members_template; // Generally, this only fires when xprofile is disabled if ( empty( $members_template->member->fullname ) ) { // Our order of preference for alternative fullnames $name_stack = array( 'display_name', 'user_nicename', 'user_login' ); foreach ( $name_stack as $source ) { if ( !empty( $members_template->member->{$source} ) ) { // When a value is found, set it as fullname and be done // with it $members_template->member->fullname = $members_template->member->{$source}; break; } } } return apply_filters( 'bp_get_member_name', $members_template->member->fullname ); } add_filter( 'bp_get_member_name', 'wp_filter_kses' ); add_filter( 'bp_get_member_name', 'stripslashes' ); add_filter( 'bp_get_member_name', 'strip_tags' ); function bp_member_last_active() { echo bp_get_member_last_active(); } function bp_get_member_last_active() { global $members_template; if ( isset( $members_template->member->last_activity ) ) $last_activity = bp_core_get_last_activity( $members_template->member->last_activity, __( 'active %s', 'buddypress' ) ); else $last_activity = __( 'Never active', 'buddypress' ); return apply_filters( 'bp_member_last_active', $last_activity ); } function bp_member_latest_update( $args = '' ) { echo bp_get_member_latest_update( $args ); } function bp_get_member_latest_update( $args = '' ) { global $bp, $members_template; $defaults = array( 'length' => 225, 'view_link' => true ); $r = wp_parse_args( $args, $defaults ); extract( $r ); if ( !bp_is_active( 'activity' ) || empty( $members_template->member->latest_update ) || !$update = maybe_unserialize( $members_template->member->latest_update ) ) return false; $update_content = apply_filters( 'bp_get_activity_latest_update_excerpt', sprintf( _x( '- "%s "', 'member latest update in member directory', 'buddypress' ), trim( strip_tags( bp_create_excerpt( $update['content'], $length ) ) ) ) ); // If $view_link is true and the text returned by bp_create_excerpt() is different from the original text (ie it's // been truncated), add the "View" link. if ( $view_link && ( $update_content != $update['content'] ) ) { $view = __( 'View', 'buddypress' ); $update_content .= '' . $view . ''; } return apply_filters( 'bp_get_member_latest_update', $update_content ); } function bp_member_profile_data( $args = '' ) { echo bp_get_member_profile_data( $args ); } function bp_get_member_profile_data( $args = '' ) { global $bp, $members_template; if ( !bp_is_active( 'xprofile' ) ) return false; // Declare local variables $data = false; $user_id = 0; // Guess at default $user_id if ( !empty( $members_template->member->id ) ) $user_id = $members_template->member->id; elseif ( !empty( $bp->displayed_user->id ) ) $user_id = $bp->displayed_user->id; $defaults = array( 'field' => false, // Field name 'user_id' => $user_id ); $r = wp_parse_args( $args, $defaults ); extract( $r, EXTR_SKIP ); // Populate the user if it hasn't been already. if ( empty( $members_template->member->profile_data ) && method_exists( 'BP_XProfile_ProfileData', 'get_all_for_user' ) ) $members_template->member->profile_data = BP_XProfile_ProfileData::get_all_for_user( $user_id ); // Get the field data if there is data to get if ( !empty( $members_template->member->profile_data ) ) $data = xprofile_format_profile_field( $members_template->member->profile_data[$field]['field_type'], $members_template->member->profile_data[$field]['field_data'] ); return apply_filters( 'bp_get_member_profile_data', $data ); } function bp_member_registered() { echo bp_get_member_registered(); } function bp_get_member_registered() { global $members_template; $registered = esc_attr( bp_core_get_last_activity( $members_template->member->user_registered, __( 'registered %s', 'buddypress' ) ) ); return apply_filters( 'bp_member_last_active', $registered ); } function bp_member_random_profile_data() { global $members_template; if ( bp_is_active( 'xprofile' ) ) { ?> member->id, true ); ?> name ) ?> value ) ?> '; if ( isset( $_REQUEST['letter'] ) ) echo ''; if ( isset( $_REQUEST['members_search'] ) ) echo ''; } function bp_directory_members_search_form() { global $bp; $default_search_value = bp_get_search_default_text( 'members' ); $search_value = !empty( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : $default_search_value; ?>
bp_nav global to render out the navigation within a BuddyPress install. * Each component adds to this navigation array within its own [component_name]setup_nav() function. * * This navigation array is the top level navigation, so it contains items such as: * [Blog, Profile, Messages, Groups, Friends] ... * * The function will also analyze the current component the user is in, to determine whether * or not to highlight a particular nav item. * * @package BuddyPress Core * @todo Move to a back-compat file? * @deprecated Does not seem to be called anywhere in the core * @global object $bp Global BuddyPress settings object */ function bp_get_loggedin_user_nav() { global $bp; // Loop through each navigation item foreach( (array) $bp->bp_nav as $nav_item ) { // If the current component matches the nav item id, then add a highlight CSS class. if ( !bp_is_directory() && $bp->active_components[$bp->current_component] == $nav_item['css_id'] ) $selected = ' class="current selected"'; else $selected = ''; /* If we are viewing another person (current_userid does not equal loggedin_user->id) then check to see if the two users are friends. if they are, add a highlight CSS class to the friends nav item if it exists. */ if ( !bp_is_my_profile() && $bp->displayed_user->id ) { $selected = ''; if ( bp_is_active( 'friends' ) ) { if ( $nav_item['css_id'] == $bp->friends->id ) { if ( friends_check_friendship( $bp->loggedin_user->id, $bp->displayed_user->id ) ) $selected = ' class="current selected"'; } } } // echo out the final list item echo apply_filters_ref_array( 'bp_get_loggedin_user_nav_' . $nav_item['css_id'], array( '
  • ' . $nav_item['name'] . '
  • ', &$nav_item ) ); } // Always add a log out list item to the end of the navigation $logout_link = '
  • ' . __( 'Log Out', 'buddypress' ) . '
  • '; echo apply_filters( 'bp_logout_nav_link', $logout_link ); } /** * Uses the $bp->bp_nav global to render out the user navigation when viewing another user other than * yourself. * * @package BuddyPress Core * @global object $bp Global BuddyPress settings object */ function bp_get_displayed_user_nav() { global $bp; foreach ( (array)$bp->bp_nav as $user_nav_item ) { if ( !$user_nav_item['show_for_displayed_user'] && !bp_is_my_profile() ) continue; if ( $bp->current_component == $user_nav_item['slug'] ) $selected = ' class="current selected"'; else $selected = ''; if ( $bp->loggedin_user->domain ) $link = str_replace( $bp->loggedin_user->domain, $bp->displayed_user->domain, $user_nav_item['link'] ); else $link = $bp->displayed_user->domain . $user_nav_item['link']; echo apply_filters_ref_array( 'bp_get_displayed_user_nav_' . $user_nav_item['css_id'], array( '
  • ' . $user_nav_item['name'] . '
  • ', &$user_nav_item ) ); } } /** Avatars *******************************************************************/ function bp_loggedin_user_avatar( $args = '' ) { echo bp_get_loggedin_user_avatar( $args ); } function bp_get_loggedin_user_avatar( $args = '' ) { global $bp; $defaults = array( 'type' => 'thumb', 'width' => false, 'height' => false, 'html' => true, 'alt' => __( 'Profile picture of %s', 'buddypress' ) ); $r = wp_parse_args( $args, $defaults ); extract( $r, EXTR_SKIP ); return apply_filters( 'bp_get_loggedin_user_avatar', bp_core_fetch_avatar( array( 'item_id' => $bp->loggedin_user->id, 'type' => $type, 'width' => $width, 'height' => $height, 'html' => $html, 'alt' => $alt ) ) ); } function bp_displayed_user_avatar( $args = '' ) { echo bp_get_displayed_user_avatar( $args ); } function bp_get_displayed_user_avatar( $args = '' ) { global $bp; $defaults = array( 'type' => 'thumb', 'width' => false, 'height' => false, 'html' => true, 'alt' => __( 'Profile picture of %s', 'buddypress' ) ); $r = wp_parse_args( $args, $defaults ); extract( $r, EXTR_SKIP ); return apply_filters( 'bp_get_displayed_user_avatar', bp_core_fetch_avatar( array( 'item_id' => $bp->displayed_user->id, 'type' => $type, 'width' => $width, 'height' => $height, 'html' => $html, 'alt' => $alt ) ) ); } function bp_displayed_user_email() { echo bp_get_displayed_user_email(); } function bp_get_displayed_user_email() { global $bp; // If displayed user exists, return email address if ( isset( $bp->displayed_user->userdata->user_email ) ) $retval = $bp->displayed_user->userdata->user_email; else $retval = ''; return apply_filters( 'bp_get_displayed_user_email', esc_attr( $retval ) ); } function bp_last_activity( $user_id = 0 ) { echo apply_filters( 'bp_last_activity', bp_get_last_activity( $user_id ) ); } function bp_get_last_activity( $user_id = 0 ) { global $bp; if ( empty( $user_id ) ) $user_id = $bp->displayed_user->id; $last_activity = bp_core_get_last_activity( bp_get_user_meta( $user_id, 'last_activity', true ), __('active %s', 'buddypress') ); return apply_filters( 'bp_get_last_activity', $last_activity ); } function bp_user_firstname() { echo bp_get_user_firstname(); } function bp_get_user_firstname( $name = false ) { global $bp; // Try to get displayed user if ( empty( $name ) ) $name = $bp->displayed_user->fullname; // Fall back on logged in user if ( empty( $name ) ) $name = $bp->loggedin_user->fullname; $fullname = (array)explode( ' ', $name ); return apply_filters( 'bp_get_user_firstname', $fullname[0], $fullname ); } function bp_loggedin_user_link() { echo bp_get_loggedin_user_link(); } function bp_get_loggedin_user_link() { return apply_filters( 'bp_get_loggedin_user_link', bp_loggedin_user_domain() ); } function bp_displayed_user_link() { echo bp_get_displayed_user_link(); } function bp_get_displayed_user_link() { return apply_filters( 'bp_get_displayed_user_link', bp_displayed_user_domain() ); } function bp_user_link() { bp_displayed_user_domain(); } // Deprecated. function bp_displayed_user_id() { global $bp; return apply_filters( 'bp_displayed_user_id', !empty( $bp->displayed_user->id ) ? $bp->displayed_user->id : 0 ); } function bp_current_user_id() { return bp_displayed_user_id(); } function bp_loggedin_user_id() { global $bp; return apply_filters( 'bp_loggedin_user_id', !empty( $bp->loggedin_user->id ) ? $bp->loggedin_user->id : 0 ); } function bp_displayed_user_domain() { global $bp; return apply_filters( 'bp_displayed_user_domain', isset( $bp->displayed_user->domain ) ? $bp->displayed_user->domain : '' ); } function bp_loggedin_user_domain() { global $bp; return apply_filters( 'bp_loggedin_user_domain', isset( $bp->loggedin_user->domain ) ? $bp->loggedin_user->domain : '' ); } function bp_displayed_user_fullname() { echo bp_get_displayed_user_fullname(); } function bp_get_displayed_user_fullname() { global $bp; return apply_filters( 'bp_displayed_user_fullname', isset( $bp->displayed_user->fullname ) ? $bp->displayed_user->fullname : '' ); } function bp_user_fullname() { echo bp_get_displayed_user_fullname(); } function bp_loggedin_user_fullname() { echo bp_get_loggedin_user_fullname(); } function bp_get_loggedin_user_fullname() { global $bp; return apply_filters( 'bp_get_loggedin_user_fullname', isset( $bp->loggedin_user->fullname ) ? $bp->loggedin_user->fullname : '' ); } function bp_displayed_user_username() { echo bp_get_displayed_user_username(); } function bp_get_displayed_user_username() { global $bp; if ( !empty( $bp->displayed_user->id ) ) { $username = bp_core_get_username( $bp->displayed_user->id, $bp->displayed_user->userdata->user_nicename, $bp->displayed_user->userdata->user_login ); } else { $username = ''; } return apply_filters( 'bp_get_displayed_user_username', $username ); } function bp_loggedin_user_username() { echo bp_get_loggedin_user_username(); } function bp_get_loggedin_user_username() { global $bp; if ( !empty( $bp->loggedin_user->id ) ) { $username = bp_core_get_username( $bp->loggedin_user->id, $bp->loggedin_user->userdata->user_nicename, $bp->loggedin_user->userdata->user_login ); } else { $username = ''; } return apply_filters( 'bp_get_loggedin_user_username', $username ); } /** Signup Form ***************************************************************/ function bp_has_custom_signup_page() { if ( locate_template( array( 'register.php' ), false ) || locate_template( array( '/registration/register.php' ), false ) ) return true; return false; } function bp_signup_page() { echo bp_get_signup_page(); } function bp_get_signup_page() { global $bp; if ( bp_has_custom_signup_page() ) { $page = trailingslashit( bp_get_root_domain() . '/' . bp_get_signup_slug() ); } else { $page = bp_get_root_domain() . '/wp-signup.php'; } return apply_filters( 'bp_get_signup_page', $page ); } function bp_has_custom_activation_page() { if ( locate_template( array( 'activate.php' ), false ) || locate_template( array( '/registration/activate.php' ), false ) ) return true; return false; } function bp_activation_page() { echo bp_get_activation_page(); } function bp_get_activation_page() { global $bp; if ( bp_has_custom_activation_page() ) $page = trailingslashit( bp_get_root_domain() . '/' . $bp->pages->activate->slug ); else $page = trailingslashit( bp_get_root_domain() ) . 'wp-activate.php'; return apply_filters( 'bp_get_activation_page', $page ); } function bp_signup_username_value() { echo bp_get_signup_username_value(); } function bp_get_signup_username_value() { $value = ''; if ( isset( $_POST['signup_username'] ) ) $value = $_POST['signup_username']; return apply_filters( 'bp_get_signup_username_value', $value ); } function bp_signup_email_value() { echo bp_get_signup_email_value(); } function bp_get_signup_email_value() { $value = ''; if ( isset( $_POST['signup_email'] ) ) $value = $_POST['signup_email']; return apply_filters( 'bp_get_signup_email_value', $value ); } function bp_signup_with_blog_value() { echo bp_get_signup_with_blog_value(); } function bp_get_signup_with_blog_value() { $value = ''; if ( isset( $_POST['signup_with_blog'] ) ) $value = $_POST['signup_with_blog']; return apply_filters( 'bp_get_signup_with_blog_value', $value ); } function bp_signup_blog_url_value() { echo bp_get_signup_blog_url_value(); } function bp_get_signup_blog_url_value() { $value = ''; if ( isset( $_POST['signup_blog_url'] ) ) $value = $_POST['signup_blog_url']; return apply_filters( 'bp_get_signup_blog_url_value', $value ); } function bp_signup_blog_title_value() { echo bp_get_signup_blog_title_value(); } function bp_get_signup_blog_title_value() { $value = ''; if ( isset( $_POST['signup_blog_title'] ) ) $value = $_POST['signup_blog_title']; return apply_filters( 'bp_get_signup_blog_title_value', $value ); } function bp_signup_blog_privacy_value() { echo bp_get_signup_blog_privacy_value(); } function bp_get_signup_blog_privacy_value() { $value = ''; if ( isset( $_POST['signup_blog_privacy'] ) ) $value = $_POST['signup_blog_privacy']; return apply_filters( 'bp_get_signup_blog_privacy_value', $value ); } function bp_signup_avatar_dir_value() { echo bp_get_signup_avatar_dir_value(); } function bp_get_signup_avatar_dir_value() { global $bp; // Check if signup_avatar_dir is passed if ( !empty( $_POST['signup_avatar_dir'] ) ) $signup_avatar_dir = $_POST['signup_avatar_dir']; // If not, check if global is set elseif ( !empty( $bp->signup->avatar_dir ) ) $signup_avatar_dir = $bp->signup->avatar_dir; // If not, set false else $signup_avatar_dir = false; return apply_filters( 'bp_get_signup_avatar_dir_value', $bp->signup->avatar_dir ); } function bp_current_signup_step() { echo bp_get_current_signup_step(); } function bp_get_current_signup_step() { global $bp; return $bp->signup->step; } function bp_signup_avatar( $args = '' ) { echo bp_get_signup_avatar( $args ); } function bp_get_signup_avatar( $args = '' ) { global $bp; $defaults = array( 'size' => bp_core_avatar_full_width(), 'class' => 'avatar', 'alt' => __( 'Your Avatar', 'buddypress' ) ); $r = wp_parse_args( $args, $defaults ); extract( $r, EXTR_SKIP ); // Avatar DIR is found if ( $signup_avatar_dir = bp_get_signup_avatar_dir_value() ) { $gravatar_img = bp_core_fetch_avatar( array( 'item_id' => $signup_avatar_dir, 'object' => 'signup', 'avatar_dir' => 'avatars/signups', 'type' => 'full', 'width' => $size, 'height' => $size, 'alt' => $alt, 'class' => $class ) ); // No avatar DIR was found } else { // Set default gravatar type if ( empty( $bp->grav_default->user ) ) $default_grav = 'wavatar'; else if ( 'mystery' == $bp->grav_default->user ) $default_grav = BP_PLUGIN_URL . '/bp-core/images/mystery-man.jpg'; else $default_grav = $bp->grav_default->user; // Create $gravatar_url = apply_filters( 'bp_gravatar_url', 'http://www.gravatar.com/avatar/' ); $md5_lcase_email = md5( strtolower( bp_get_signup_email_value() ) ); $gravatar_img = '' . $alt . ''; } return apply_filters( 'bp_get_signup_avatar', $gravatar_img, $args ); } function bp_signup_allowed() { echo bp_get_signup_allowed(); } function bp_get_signup_allowed() { global $bp; $signup_allowed = false; if ( is_multisite() ) { if ( in_array( $bp->site_options['registration'], array( 'all', 'user' ) ) ) $signup_allowed = true; } else { if ( get_option( 'users_can_register') ) $signup_allowed = true; } return apply_filters( 'bp_get_signup_allowed', $signup_allowed ); } /** * Hook member activity feed to * * @since 1.5 */ function bp_members_activity_feed() { if ( !bp_is_active( 'activity' ) || !bp_is_user() ) return; ?> displayed_user->id ) ) return; // Append $action to $url if there is no $type if ( !empty( $action ) ) $url = $bp->displayed_user->domain . $bp->{$component}->slug . '/' . $action; else $url = $bp->displayed_user->domain . $bp->{$component}->slug; // Add a slash at the end of our user url $url = trailingslashit( $url ); // Add possible query arg if ( !empty( $query_args ) && is_array( $query_args ) ) $url = add_query_arg( $query_args, $url ); // To nonce, or not to nonce... if ( true === $nonce ) $url = wp_nonce_url( $url ); elseif ( is_string( $nonce ) ) $url = wp_nonce_url( $url, $nonce ); // Return the url, if there is one if ( !empty( $url ) ) return $url; } ?>