コード例 #1
0
 /**
  * Setup BuddyBar navigation
  *
  * @global obj $bp
  */
 function setup_nav()
 {
     global $bp;
     // Add 'Friends' to the main navigation
     $main_nav = array('name' => sprintf(__('Friends <span>%d</span>', 'buddypress'), friends_get_total_friend_count()), 'slug' => $this->slug, 'position' => 60, 'screen_function' => 'friends_screen_my_friends', 'default_subnav_slug' => 'my-friends', 'item_css_id' => $bp->friends->id);
     $friends_link = trailingslashit($bp->loggedin_user->domain . bp_get_friends_slug());
     // Add the subnav items to the friends nav item
     $sub_nav[] = array('name' => __('Friendships', 'buddypress'), 'slug' => 'my-friends', 'parent_url' => $friends_link, 'parent_slug' => bp_get_friends_slug(), 'screen_function' => 'friends_screen_my_friends', 'position' => 10, 'item_css_id' => 'friends-my-friends');
     $sub_nav[] = array('name' => __('Requests', 'buddypress'), 'slug' => 'requests', 'parent_url' => $friends_link, 'parent_slug' => bp_get_friends_slug(), 'screen_function' => 'friends_screen_requests', 'position' => 20, 'user_has_access' => bp_is_my_profile());
     parent::setup_nav($main_nav, $sub_nav);
 }
コード例 #2
0
 /**
  * Setup BuddyBar navigation
  *
  * @global BuddyPress $bp The one true BuddyPress instance
  */
 public function setup_nav($main_nav = array(), $sub_nav = array())
 {
     global $bp;
     $sub_nav = array();
     // Add 'Friends' to the main navigation
     $main_nav = array('name' => sprintf(__('Friends <span>%d</span>', 'buddypress'), friends_get_total_friend_count()), 'slug' => $this->slug, 'position' => 60, 'screen_function' => 'friends_screen_my_friends', 'default_subnav_slug' => 'my-friends', 'item_css_id' => $bp->friends->id);
     // Determine user to use
     if (bp_displayed_user_domain()) {
         $user_domain = bp_displayed_user_domain();
     } elseif (bp_loggedin_user_domain()) {
         $user_domain = bp_loggedin_user_domain();
     } else {
         return;
     }
     $friends_link = trailingslashit($user_domain . bp_get_friends_slug());
     // Add the subnav items to the friends nav item
     $sub_nav[] = array('name' => __('Friendships', 'buddypress'), 'slug' => 'my-friends', 'parent_url' => $friends_link, 'parent_slug' => bp_get_friends_slug(), 'screen_function' => 'friends_screen_my_friends', 'position' => 10, 'item_css_id' => 'friends-my-friends');
     $sub_nav[] = array('name' => __('Requests', 'buddypress'), 'slug' => 'requests', 'parent_url' => $friends_link, 'parent_slug' => bp_get_friends_slug(), 'screen_function' => 'friends_screen_requests', 'position' => 20, 'user_has_access' => bp_core_can_edit_settings());
     parent::setup_nav($main_nav, $sub_nav);
 }
コード例 #3
0
/**
 * Return the number of friends in user's profile.
 *
 * @since 2.0.0
 *
 * @param array|string $args before|after|user_id.
 * @return string HTML for stats output.
 */
function bp_friends_get_profile_stats($args = '')
{
    // Parse the args.
    $r = bp_parse_args($args, array('before' => '<li class="bp-friends-profile-stats">', 'after' => '</li>', 'user_id' => bp_displayed_user_id(), 'friends' => 0, 'output' => ''), 'friends_get_profile_stats');
    // Allow completely overloaded output.
    if (empty($r['output'])) {
        // Only proceed if a user ID was passed.
        if (!empty($r['user_id'])) {
            // Get the user's friends.
            if (empty($r['friends'])) {
                $r['friends'] = absint(friends_get_total_friend_count($r['user_id']));
            }
            // If friends exist, show some formatted output.
            $r['output'] = $r['before'] . sprintf(_n('%s friend', '%s friends', $r['friends'], 'buddypress'), '<strong>' . $r['friends'] . '</strong>') . $r['after'];
        }
    }
    /**
     * Filters the number of friends in user's profile.
     *
     * @since 2.0.0
     *
     * @param string $value Formatted string displaying total friends count.
     * @param array  $r     Array of arguments for string formatting and output.
     */
    return apply_filters('bp_friends_get_profile_stats', $r['output'], $r);
}
コード例 #4
0
ファイル: bp-friends-functions.php プロジェクト: eresyyl/mk
/**
 * Check whether a given user has any friends.
 *
 * @param int $user_id ID of the user whose friends are being checked.
 * @return bool True if the user has friends, otherwise false.
 */
function friends_check_user_has_friends($user_id)
{
    $friend_count = friends_get_total_friend_count($user_id);
    if (empty($friend_count)) {
        return false;
    }
    if (!(int) $friend_count) {
        return false;
    }
    return true;
}
コード例 #5
0
function bp_get_total_friend_count($user_id = 0)
{
    return apply_filters('bp_get_total_friend_count', friends_get_total_friend_count($user_id));
}
コード例 #6
0
/**
 * Used by the Activity component's @mentions to print a JSON list of the current user's friends.
 *
 * This is intended to speed up @mentions lookups for a majority of use cases.
 *
 * @since 2.1.0
 *
 * @see bp_activity_mentions_script()
 */
function bp_friends_prime_mentions_results()
{
    if (!bp_activity_maybe_load_mentions_scripts()) {
        return;
    }
    // Bail out if the site has a ton of users.
    if (is_multisite() && wp_is_large_network('users')) {
        return;
    }
    if (friends_get_total_friend_count(get_current_user_id()) > 150) {
        return;
    }
    $friends_query = array('count_total' => '', 'populate_extras' => false, 'type' => 'alphabetical', 'user_id' => get_current_user_id());
    $friends_query = new BP_User_Query($friends_query);
    $results = array();
    foreach ($friends_query->results as $user) {
        $result = new stdClass();
        $result->ID = $user->user_nicename;
        $result->image = bp_core_fetch_avatar(array('html' => false, 'item_id' => $user->ID));
        if (!empty($user->display_name) && !bp_disable_profile_sync()) {
            $result->name = $user->display_name;
        } else {
            $result->name = bp_core_get_user_displayname($user->ID);
        }
        $results[] = $result;
    }
    wp_localize_script('bp-mentions', 'BP_Suggestions', array('friends' => $results));
}
コード例 #7
0
 /**
  * Set up component navigation.
  *
  * @since 1.5.0
  *
  * @see BP_Component::setup_nav() for a description of arguments.
  *
  * @param array $main_nav Optional. See BP_Component::setup_nav() for
  *                        description.
  * @param array $sub_nav  Optional. See BP_Component::setup_nav() for
  *                        description.
  */
 public function setup_nav($main_nav = array(), $sub_nav = array())
 {
     // Determine user to use.
     if (bp_displayed_user_domain()) {
         $user_domain = bp_displayed_user_domain();
     } elseif (bp_loggedin_user_domain()) {
         $user_domain = bp_loggedin_user_domain();
     } else {
         return;
     }
     $access = bp_core_can_edit_settings();
     $slug = bp_get_friends_slug();
     $friends_link = trailingslashit($user_domain . $slug);
     // Add 'Friends' to the main navigation.
     $count = friends_get_total_friend_count();
     $class = 0 === $count ? 'no-count' : 'count';
     $main_nav = array('name' => sprintf(__('Friends <span class="%s">%s</span>', 'buddypress'), esc_attr($class), bp_core_number_format($count)), 'slug' => $slug, 'position' => 60, 'screen_function' => 'friends_screen_my_friends', 'default_subnav_slug' => 'my-friends', 'item_css_id' => $this->id);
     // Add the subnav items to the friends nav item.
     $sub_nav[] = array('name' => _x('Friendships', 'Friends screen sub nav', 'buddypress'), 'slug' => 'my-friends', 'parent_url' => $friends_link, 'parent_slug' => $slug, 'screen_function' => 'friends_screen_my_friends', 'position' => 10, 'item_css_id' => 'friends-my-friends');
     $sub_nav[] = array('name' => _x('Requests', 'Friends screen sub nav', 'buddypress'), 'slug' => 'requests', 'parent_url' => $friends_link, 'parent_slug' => $slug, 'screen_function' => 'friends_screen_requests', 'position' => 20, 'user_has_access' => $access);
     parent::setup_nav($main_nav, $sub_nav);
 }
コード例 #8
0
ファイル: bp-friends-template.php プロジェクト: eresyyl/mk
/**
 * Return the number of friends in user's profile.
 *
 * @since BuddyPress (2.0.0)
 *
 * @param array $args before|after|user_id
 * @return string HTML for stats output.
 */
function bp_friends_get_profile_stats($args = '')
{
    // Parse the args
    $r = bp_parse_args($args, array('before' => '<li class="bp-friends-profile-stats">', 'after' => '</li>', 'user_id' => bp_displayed_user_id(), 'friends' => 0, 'output' => ''), 'friends_get_profile_stats');
    // Allow completely overloaded output
    if (empty($r['output'])) {
        // Only proceed if a user ID was passed
        if (!empty($r['user_id'])) {
            // Get the user's friends
            if (empty($r['friends'])) {
                $r['friends'] = absint(friends_get_total_friend_count($r['user_id']));
            }
            // If friends exist, show some formatted output
            $r['output'] = $r['before'] . sprintf(_n('%s friend', '%s friends', $r['friends'], 'buddypress'), '<strong>' . $r['friends'] . '</strong>') . $r['after'];
        }
    }
    // Filter and return
    return apply_filters('bp_friends_get_profile_stats', $r['output'], $r);
}
コード例 #9
0
ファイル: config.php プロジェクト: quyip8818/wps
function kleo_bp_get_total_friend_count_member_type()
{
    $user_id = get_current_user_id();
    $count = friends_get_total_friend_count($user_id);
    $member_type = bp_get_current_member_type();
    if (bp_is_directory() && $member_type) {
        global $bp, $wpdb;
        $friends = $wpdb->get_results("SELECT count(1) as count FROM {$bp->friends->table_name} bpf\n        LEFT JOIN {$wpdb->term_relationships} tr ON (bpf.initiator_user_id = tr.object_id || bpf.friend_user_id = tr.object_id )\n        LEFT JOIN {$wpdb->terms} t ON t.term_id = tr.term_taxonomy_id\n        WHERE t.slug = '" . $member_type . "' AND (bpf.initiator_user_id = {$user_id} || bpf.friend_user_id = {$user_id} ) AND tr.object_id != {$user_id} AND bpf.is_confirmed = 1", ARRAY_A);
        $count = 0;
        if (isset($friends['0']['count']) && is_numeric($friends['0']['count'])) {
            $count = $friends['0']['count'];
        }
    }
    return $count;
}
コード例 #10
0
        /**
         * Displays the widget
         * 
         * @package BP_Show_Friends_Widget
         * @since    2.0
         * 
         * @uses bp_is_user() to check we're on a user's profile
         * @uses bp_displayed_user_id() to get displayed user id
         * @uses bp_loggedin_user_id() to get loggedin user id
         * @uses bp_core_get_user_domain() to build the user domain
         * @uses bp_get_friends_slug() to get the friends component slug
         * @uses bp_core_get_user_displayname() to get the display name of the user
         * @uses is_user_logged_in() to check the visitor is logged in
         * @uses friends_get_total_friend_count() to get the total friends for the user
         * @uses BP_Show_Friends_Widget->list_friends() to output the user's friends
         */
        public function widget($args = array(), $instance = array())
        {
            $user_id = false;
            $user_id = bp_is_user() ? bp_displayed_user_id() : bp_loggedin_user_id();
            if (empty($user_id)) {
                return;
            }
            extract($args);
            $instance['per_page'] = !empty($instance['per_page']) ? $instance['per_page'] : 5;
            $instance['size'] = !empty($instance['size']) ? $instance['size'] : 50;
            $user_all_friends_url = trailingslashit(bp_core_get_user_domain($user_id) . bp_get_friends_slug());
            $user_name = bp_core_get_user_displayname($user_id);
            ?>

		<?php 
            if (bp_is_user() || is_user_logged_in()) {
                echo $before_widget;
                echo $before_title;
                if (bp_is_my_profile()) {
                    printf(__('My Friends - <a href="%1$s">All (%2$s)</a>', 'bp-show-friends'), $user_all_friends_url, friends_get_total_friend_count($user_id));
                } else {
                    printf(__('%1$s&apos;s Friends - <a href="%2$s">All (%3$s)</a>', 'bp-show-friends'), $user_name, $user_all_friends_url, friends_get_total_friend_count($user_id));
                }
                echo $after_title;
                ?>

			<div class="item-options bpsf-list-options">
				<a href="#" class="bp-show-friends-action current"  data-type="active" data-number="<?php 
                echo intval($this->number);
                ?>
"><?php 
                _e('Recently Actives', 'bp-show-friends');
                ?>
</a>&nbsp;|&nbsp;
				<a href="#" class="bp-show-friends-action"  data-type="online" data-number="<?php 
                echo intval($this->number);
                ?>
"><?php 
                _e('Online Friends', 'bp-show-friends');
                ?>
</a>
			</div>

			<?php 
                $this->list_friends($instance['per_page'], $instance['size']);
                echo $after_widget;
                ?>

		<?php 
            }
        }
コード例 #11
0
ファイル: members-loop.php プロジェクト: tvolmari/hammydowns
				<div class="item-meta">
					<div class="activity">
						<?php 
        bp_member_last_active();
        ?>
					</div>
					
					<?php 
        if ($showing == "friends") {
            ?>
                    <span class="count"><?php 
            echo friends_get_total_friend_count(bp_get_member_user_id());
            ?>
</span>
                    	<?php 
            if (friends_get_total_friend_count(bp_get_member_user_id()) > 1) {
                ?>
                    		<span><?php 
                _e("Friends", "boss");
                ?>
</span>
                        <?php 
            } else {
                ?>
                        	<span><?php 
                _e("Friend", "boss");
                ?>
</span>
                        <?php 
            }
            ?>
コード例 #12
0
</p>
                            <p><?php 
    _e("Followers", "boss");
    ?>
</p>
                        </span>
                        <?php 
}
?>

                         <?php 
if ($showing == "friends") {
    ?>
                         <span>
                            <p><?php 
    echo (int) friends_get_total_friend_count();
    ?>
</p>
                            <p><?php 
    _e("Friends", "boss");
    ?>
</p>
                         </span>
                         <?php 
}
?>
			
                    </div>
                    
                    <div id="item-buttons" class="profile">
                       
コード例 #13
0
/**
 * Return mutual friends counts for the current member in the loop.
 *
 * @since 1.5
 *
 *
 * @param array $classes Array of custom classes
 *
 * @return string Row class of the member
 */
function bmf_get_total_mutual_friend_count()
{
    global $members_template;
    if (!is_user_logged_in()) {
        return;
    }
    $mutual_friends_count = bmf_mutual_friend_total_count($members_template->member->ID);
    if (get_current_user_id() == $members_template->member->ID) {
        return;
    }
    $mutual_friends_link = '';
    $show_mutual_friends_count = apply_filters('bmf_show_mutual_friend_count', true);
    if ($show_mutual_friends_count && 0 < absint($mutual_friends_count)) {
        $mutual_friends_link = '<a href="" data-action="bmf_mutual_friends_dialog" data-effect="mfp-zoom-in" data-user-id="' . $members_template->member->ID . '"
		   class="mutual-friends">
			' . sprintf(_n('%s mutual friend', '%s mutual friends', $mutual_friends_count, 'bmf'), $mutual_friends_count) . '
		</a>';
    } else {
        $friends_count = friends_get_total_friend_count($members_template->member->ID);
        $show_friends_count = apply_filters('bmf_show_friend_count', true);
        if (0 < $friends_count && $show_friends_count) {
            $mutual_friends_link = '<a href="" data-action="bmf_friends_dialog" data-effect="mfp-zoom-in" data-user-id="' . $members_template->member->ID . '"
		   class="mutual-friends">
			' . sprintf(_n('%s friend', '%s friends', $friends_count, 'bmf'), $friends_count) . '
		</a>';
        }
    }
    return apply_filters('bmf_get_total_mutual_friend_count', $mutual_friends_link);
}