[ Index ]

PHP Cross Reference of BuddyPress

title

Body

[close]

/src/bp-friends/ -> bp-friends-template.php (source)

   1  <?php
   2  /**
   3   * BuddyPress Friends Template Functions.
   4   *
   5   * @package BuddyPress
   6   * @subpackage FriendsTemplate
   7   * @since 1.5.0
   8   */
   9  
  10  // Exit if accessed directly.
  11  defined( 'ABSPATH' ) || exit;
  12  
  13  /**
  14   * Output the friends component slug.
  15   *
  16   * @since 1.5.0
  17   *
  18   */
  19  function bp_friends_slug() {
  20      echo bp_get_friends_slug();
  21  }
  22      /**
  23       * Return the friends component slug.
  24       *
  25       * @since 1.5.0
  26       *
  27       * @return string
  28       */
  29  	function bp_get_friends_slug() {
  30  
  31          /**
  32           * Filters the friends component slug.
  33           *
  34           * @since 1.5.0
  35           *
  36           * @param string $value Friends component slug.
  37           */
  38          return apply_filters( 'bp_get_friends_slug', buddypress()->friends->slug );
  39      }
  40  
  41  /**
  42   * Output the friends component root slug.
  43   *
  44   * @since 1.5.0
  45   *
  46   */
  47  function bp_friends_root_slug() {
  48      echo bp_get_friends_root_slug();
  49  }
  50      /**
  51       * Return the friends component root slug.
  52       *
  53       * @since 1.5.0
  54       *
  55       * @return string
  56       */
  57  	function bp_get_friends_root_slug() {
  58  
  59          /**
  60           * Filters the friends component root slug.
  61           *
  62           * @since 1.5.0
  63           *
  64           * @param string $value Friends component root slug.
  65           */
  66          return apply_filters( 'bp_get_friends_root_slug', buddypress()->friends->root_slug );
  67      }
  68  
  69  /**
  70   * Output a block of random friends.
  71   *
  72   * No longer used in BuddyPress.
  73   *
  74   * @todo Deprecate
  75   */
  76  function bp_friends_random_friends() {
  77  
  78      if ( !$friend_ids = wp_cache_get( 'friends_friend_ids_' . bp_displayed_user_id(), 'bp' ) ) {
  79          $friend_ids = BP_Friends_Friendship::get_random_friends( bp_displayed_user_id() );
  80          wp_cache_set( 'friends_friend_ids_' . bp_displayed_user_id(), $friend_ids, 'bp' );
  81      } ?>
  82  
  83      <div class="info-group">
  84          <h4><?php bp_word_or_name( __( "My Friends", 'buddypress' ), __( "%s's Friends", 'buddypress' ) ) ?>  (<?php echo BP_Friends_Friendship::total_friend_count( bp_displayed_user_id() ) ?>) <span><a href="<?php echo trailingslashit( bp_displayed_user_domain() . bp_get_friends_slug() ) ?>"><?php _e('See All', 'buddypress') ?></a></span></h4>
  85  
  86          <?php if ( $friend_ids ) { ?>
  87  
  88              <ul class="horiz-gallery">
  89  
  90              <?php for ( $i = 0, $count = count( $friend_ids ); $i < $count; ++$i ) { ?>
  91  
  92                  <li>
  93                      <a href="<?php echo bp_core_get_user_domain( $friend_ids[$i] ) ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $friend_ids[$i], 'type' => 'thumb' ) ) ?></a>
  94                      <h5><?php echo bp_core_get_userlink($friend_ids[$i]) ?></h5>
  95                  </li>
  96  
  97              <?php } ?>
  98  
  99              </ul>
 100  
 101          <?php } else { ?>
 102  
 103              <div id="message" class="info">
 104                  <p><?php bp_word_or_name( __( "You haven't added any friend connections yet.", 'buddypress' ), __( "%s hasn't created any friend connections yet.", 'buddypress' ) ) ?></p>
 105              </div>
 106  
 107          <?php } ?>
 108  
 109          <div class="clear"></div>
 110      </div>
 111  
 112  <?php
 113  }
 114  
 115  /**
 116   * Pull up a group of random members, and display some profile data about them.
 117   *
 118   * This function is no longer used by BuddyPress core.
 119   *
 120   * @todo Deprecate
 121   *
 122   * @param int $total_members The number of members to retrieve.
 123   */
 124  function bp_friends_random_members( $total_members = 5 ) {
 125  
 126      if ( !$user_ids = wp_cache_get( 'friends_random_users', 'bp' ) ) {
 127          $user_ids = BP_Core_User::get_users( 'random', $total_members );
 128          wp_cache_set( 'friends_random_users', $user_ids, 'bp' );
 129      }
 130  
 131      ?>
 132  
 133      <?php if ( $user_ids['users'] ) { ?>
 134  
 135          <ul class="item-list" id="random-members-list">
 136  
 137          <?php for ( $i = 0, $count = count( $user_ids['users'] ); $i < $count; ++$i ) { ?>
 138  
 139              <li>
 140                  <a href="<?php echo bp_core_get_user_domain( $user_ids['users'][$i]->id ) ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $user_ids['users'][$i]->id, 'type' => 'thumb' ) ) ?></a>
 141                  <h5><?php echo bp_core_get_userlink( $user_ids['users'][$i]->id ) ?></h5>
 142  
 143                  <?php if ( bp_is_active( 'xprofile' ) ) { ?>
 144  
 145                      <?php $random_data = xprofile_get_random_profile_data( $user_ids['users'][$i]->id, true ); ?>
 146  
 147                      <div class="profile-data">
 148                          <p class="field-name"><?php echo $random_data[0]->name ?></p>
 149  
 150                          <?php echo $random_data[0]->value ?>
 151  
 152                      </div>
 153  
 154                  <?php } ?>
 155  
 156                  <div class="action">
 157  
 158                      <?php if ( bp_is_active( 'friends' ) ) { ?>
 159  
 160                          <?php bp_add_friend_button( $user_ids['users'][$i]->id ) ?>
 161  
 162                      <?php } ?>
 163  
 164                  </div>
 165              </li>
 166  
 167          <?php } ?>
 168  
 169          </ul>
 170  
 171      <?php } else { ?>
 172  
 173          <div id="message" class="info">
 174              <p><?php _e( "There aren't enough site members to show a random sample just yet.", 'buddypress' ) ?></p>
 175          </div>
 176  
 177      <?php } ?>
 178  <?php
 179  }
 180  
 181  /**
 182   * Display a Friends search form.
 183   *
 184   * No longer used in BuddyPress.
 185   *
 186   * @todo Deprecate
 187   */
 188  function bp_friend_search_form() {
 189  
 190      $action = bp_displayed_user_domain() . bp_get_friends_slug() . '/my-friends/search/';
 191      $label  = __( 'Filter Friends', 'buddypress' ); ?>
 192  
 193          <form action="<?php echo $action ?>" id="friend-search-form" method="post">
 194  
 195              <label for="friend-search-box" id="friend-search-label"><?php echo $label ?></label>
 196              <input type="search" name="friend-search-box" id="friend-search-box" value="<?php echo $value ?>"<?php echo $disabled ?> />
 197  
 198              <?php wp_nonce_field( 'friends_search', '_wpnonce_friend_search' ) ?>
 199  
 200              <input type="hidden" name="initiator" id="initiator" value="<?php echo esc_attr( bp_displayed_user_id() ) ?>" />
 201  
 202          </form>
 203  
 204      <?php
 205  }
 206  
 207  /**
 208   * Output the "Add Friend" button in the member loop.
 209   *
 210   * @since 1.2.6
 211   */
 212  function bp_member_add_friend_button() {
 213      bp_add_friend_button( bp_get_member_user_id() );
 214  }
 215  add_action( 'bp_directory_members_actions', 'bp_member_add_friend_button' );
 216  
 217  /**
 218   * Output the friend count for the current member in the loop.
 219   *
 220   * @since 1.2.0
 221   */
 222  function bp_member_total_friend_count() {
 223      echo bp_get_member_total_friend_count();
 224  }
 225      /**
 226       * Return the friend count for the current member in the loop.
 227       *
 228       * Return value is a string of the form "x friends".
 229       *
 230       * @since 1.2.0
 231       *
 232       * @return string A string of the form "x friends".
 233       */
 234  	function bp_get_member_total_friend_count() {
 235          global $members_template;
 236  
 237          if ( 1 == (int) $members_template->member->total_friend_count ) {
 238  
 239              /**
 240               * Filters text used to denote total friend count.
 241               *
 242               * @since 1.2.0
 243               *
 244               * @param string $value String of the form "x friends".
 245               * @param int    $value Total friend count for current member in the loop.
 246               */
 247              return apply_filters( 'bp_get_member_total_friend_count', sprintf( __( '%d friend', 'buddypress' ), (int) $members_template->member->total_friend_count ) );
 248          } else {
 249  
 250              /** This filter is documented in bp-friends/bp-friends-template.php */
 251              return apply_filters( 'bp_get_member_total_friend_count', sprintf( __( '%d friends', 'buddypress' ), (int) $members_template->member->total_friend_count ) );
 252          }
 253      }
 254  
 255  /**
 256   * Output the ID of the current user in the friend request loop.
 257   *
 258   * @since 1.2.6
 259   *
 260   * @see bp_get_potential_friend_id() for a description of arguments.
 261   *
 262   * @param int $user_id See {@link bp_get_potential_friend_id()}.
 263   */
 264  function bp_potential_friend_id( $user_id = 0 ) {
 265      echo bp_get_potential_friend_id( $user_id );
 266  }
 267      /**
 268       * Return the ID of current user in the friend request loop.
 269       *
 270       * @since 1.2.6
 271       *
 272       * @global object $friends_template
 273       *
 274       * @param int $user_id Optional. If provided, the function will simply
 275       *                     return this value.
 276       * @return int ID of potential friend.
 277       */
 278  	function bp_get_potential_friend_id( $user_id = 0 ) {
 279          global $friends_template;
 280  
 281          if ( empty( $user_id ) && isset( $friends_template->friendship->friend ) )
 282              $user_id = $friends_template->friendship->friend->id;
 283          elseif ( empty( $user_id ) && !isset( $friends_template->friendship->friend ) )
 284              $user_id = bp_displayed_user_id();
 285  
 286          /**
 287           * Filters the ID of current user in the friend request loop.
 288           *
 289           * @since 1.2.10
 290           *
 291           * @param int $user_id ID of current user in the friend request loop.
 292           */
 293          return apply_filters( 'bp_get_potential_friend_id', (int) $user_id );
 294      }
 295  
 296  /**
 297   * Check whether a given user is a friend of the logged-in user.
 298   *
 299   * Returns - 'is_friend', 'not_friends', 'pending'.
 300   *
 301   * @since 1.2.6
 302   *
 303   * @param int $user_id ID of the potential friend. Default: the value of
 304   *                     {@link bp_get_potential_friend_id()}.
 305   * @return string 'is_friend', 'not_friends', or 'pending'.
 306   */
 307  function bp_is_friend( $user_id = 0 ) {
 308  
 309      if ( !is_user_logged_in() )
 310          return false;
 311  
 312      if ( empty( $user_id ) )
 313          $user_id = bp_get_potential_friend_id( $user_id );
 314  
 315      if ( bp_loggedin_user_id() == $user_id )
 316          return false;
 317  
 318      /**
 319       * Filters the status of friendship between logged in user and given user.
 320       *
 321       * @since 1.2.10
 322       *
 323       * @param string $value String status of friendship. Possible values are 'is_friend', 'not_friends', 'pending'.
 324       */
 325      return apply_filters( 'bp_is_friend', friends_check_friendship_status( bp_loggedin_user_id(), $user_id ), $user_id );
 326  }
 327  
 328  /**
 329   * Output the Add Friend button.
 330   *
 331   * @since 1.0.0
 332   *
 333   * @see bp_get_add_friend_button() for information on arguments.
 334   *
 335   * @param int      $potential_friend_id See {@link bp_get_add_friend_button()}.
 336   * @param int|bool $friend_status       See {@link bp_get_add_friend_button()}.
 337   */
 338  function bp_add_friend_button( $potential_friend_id = 0, $friend_status = false ) {
 339      echo bp_get_add_friend_button( $potential_friend_id, $friend_status );
 340  }
 341      /**
 342       * Create the Add Friend button.
 343       *
 344       * @since 1.1.0
 345       *
 346       * @param int  $potential_friend_id ID of the user to whom the button
 347       *                                  applies. Default: value of {@link bp_get_potential_friend_id()}.
 348       * @param bool $friend_status       Not currently used.
 349       * @return false|string HTML for the Add Friend button.
 350       */
 351  	function bp_get_add_friend_button( $potential_friend_id = 0, $friend_status = false ) {
 352  
 353          if ( empty( $potential_friend_id ) )
 354              $potential_friend_id = bp_get_potential_friend_id( $potential_friend_id );
 355  
 356          $is_friend = bp_is_friend( $potential_friend_id );
 357  
 358          if ( empty( $is_friend ) )
 359              return false;
 360  
 361          switch ( $is_friend ) {
 362              case 'pending' :
 363                  $button = array(
 364                      'id'                => 'pending',
 365                      'component'         => 'friends',
 366                      'must_be_logged_in' => true,
 367                      'block_self'        => true,
 368                      'wrapper_class'     => 'friendship-button pending_friend',
 369                      'wrapper_id'        => 'friendship-button-' . $potential_friend_id,
 370                      'link_href'         => wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/cancel/' . $potential_friend_id . '/', 'friends_withdraw_friendship' ),
 371                      'link_text'         => __( 'Cancel Friendship Request', 'buddypress' ),
 372                      'link_id'           => 'friend-' . $potential_friend_id,
 373                      'link_rel'          => 'remove',
 374                      'link_class'        => 'friendship-button pending_friend requested'
 375                  );
 376                  break;
 377  
 378              case 'awaiting_response' :
 379                  $button = array(
 380                      'id'                => 'awaiting_response',
 381                      'component'         => 'friends',
 382                      'must_be_logged_in' => true,
 383                      'block_self'        => true,
 384                      'wrapper_class'     => 'friendship-button awaiting_response_friend',
 385                      'wrapper_id'        => 'friendship-button-' . $potential_friend_id,
 386                      'link_href'         => bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/',
 387                      'link_text'         => __( 'Friendship Requested', 'buddypress' ),
 388                      'link_id'           => 'friend-' . $potential_friend_id,
 389                      'link_rel'          => 'remove',
 390                      'link_class'        => 'friendship-button awaiting_response_friend requested'
 391                  );
 392                  break;
 393  
 394              case 'is_friend' :
 395                  $button = array(
 396                      'id'                => 'is_friend',
 397                      'component'         => 'friends',
 398                      'must_be_logged_in' => true,
 399                      'block_self'        => false,
 400                      'wrapper_class'     => 'friendship-button is_friend',
 401                      'wrapper_id'        => 'friendship-button-' . $potential_friend_id,
 402                      'link_href'         => wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/remove-friend/' . $potential_friend_id . '/', 'friends_remove_friend' ),
 403                      'link_text'         => __( 'Cancel Friendship', 'buddypress' ),
 404                      'link_id'           => 'friend-' . $potential_friend_id,
 405                      'link_rel'          => 'remove',
 406                      'link_class'        => 'friendship-button is_friend remove'
 407                  );
 408                  break;
 409  
 410              default:
 411                  $button = array(
 412                      'id'                => 'not_friends',
 413                      'component'         => 'friends',
 414                      'must_be_logged_in' => true,
 415                      'block_self'        => true,
 416                      'wrapper_class'     => 'friendship-button not_friends',
 417                      'wrapper_id'        => 'friendship-button-' . $potential_friend_id,
 418                      'link_href'         => wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $potential_friend_id . '/', 'friends_add_friend' ),
 419                      'link_text'         => __( 'Add Friend', 'buddypress' ),
 420                      'link_id'           => 'friend-' . $potential_friend_id,
 421                      'link_rel'          => 'add',
 422                      'link_class'        => 'friendship-button not_friends add'
 423                  );
 424                  break;
 425          }
 426  
 427          /**
 428           * Filters the HTML for the add friend button.
 429           *
 430           * @since 1.1.0
 431           *
 432           * @param string $button HTML markup for add friend button.
 433           */
 434          return bp_get_button( apply_filters( 'bp_get_add_friend_button', $button ) );
 435      }
 436  
 437  /**
 438   * Get a comma-separated list of IDs of a user's friends.
 439   *
 440   * @since 1.2.0
 441   *
 442   * @param int $user_id Optional. Default: the displayed user's ID, or the
 443   *                     logged-in user's ID.
 444   * @return false|string A comma-separated list of friend IDs if any are found,
 445   *                      otherwise false.
 446   */
 447  function bp_get_friend_ids( $user_id = 0 ) {
 448  
 449      if ( empty( $user_id ) )
 450          $user_id = ( bp_displayed_user_id() ) ? bp_displayed_user_id() : bp_loggedin_user_id();
 451  
 452      $friend_ids = friends_get_friend_user_ids( $user_id );
 453  
 454      if ( empty( $friend_ids ) )
 455          return false;
 456  
 457      return implode( ',', friends_get_friend_user_ids( $user_id ) );
 458  }
 459  
 460  /**
 461   * Get a user's friendship requests.
 462   *
 463   * Note that we return a 0 if no pending requests are found. This is necessary
 464   * because of the structure of the $include parameter in bp_has_members().
 465   *
 466   * @since 1.2.0
 467   *
 468   * @param int $user_id ID of the user whose requests are being retrieved.
 469   *                     Defaults to displayed user.
 470   * @return array|int An array of user IDs if found, or a 0 if none are found.
 471   */
 472  function bp_get_friendship_requests( $user_id = 0 ) {
 473      if ( !$user_id ) {
 474          $user_id = bp_displayed_user_id();
 475      }
 476  
 477      if ( !$user_id ) {
 478          return 0;
 479      }
 480  
 481      $requests = friends_get_friendship_request_user_ids( $user_id );
 482  
 483      if ( !empty( $requests ) ) {
 484          $requests = implode( ',', (array) $requests );
 485      } else {
 486          $requests = 0;
 487      }
 488  
 489      /**
 490       * Filters the total pending friendship requests for a user.
 491       *
 492       * @since 1.2.0
 493       * @since 2.6.0 Added the `$user_id` parameter.
 494       *
 495       * @param array|int $requests An array of user IDs if found, or a 0 if none are found.
 496       * @param int       $user_id  ID of the queried user.
 497       */
 498      return apply_filters( 'bp_get_friendship_requests', $requests, $user_id );
 499  }
 500  
 501  /**
 502   * Output the ID of the friendship between the logged-in user and the current user in the loop.
 503   *
 504   * @since 1.2.0
 505   */
 506  function bp_friend_friendship_id() {
 507      echo bp_get_friend_friendship_id();
 508  }
 509      /**
 510       * Return the ID of the friendship between the logged-in user and the current user in the loop.
 511       *
 512       * @since 1.2.0
 513       *
 514       * @return int ID of the friendship.
 515       */
 516  	function bp_get_friend_friendship_id() {
 517          global $members_template;
 518  
 519          if ( !$friendship_id = wp_cache_get( 'friendship_id_' . $members_template->member->id . '_' . bp_loggedin_user_id() ) ) {
 520              $friendship_id = friends_get_friendship_id( $members_template->member->id, bp_loggedin_user_id() );
 521              wp_cache_set( 'friendship_id_' . $members_template->member->id . '_' . bp_loggedin_user_id(), $friendship_id, 'bp' );
 522          }
 523  
 524          /**
 525           * Filters the ID of the friendship between the logged in user and the current user in the loop.
 526           *
 527           * @since 1.2.0
 528           *
 529           * @param int $friendship_id ID of the friendship.
 530           */
 531          return apply_filters( 'bp_get_friend_friendship_id', $friendship_id );
 532      }
 533  
 534  /**
 535   * Output the URL for accepting the current friendship request in the loop.
 536   *
 537   * @since 1.0.0
 538   */
 539  function bp_friend_accept_request_link() {
 540      echo bp_get_friend_accept_request_link();
 541  }
 542      /**
 543       * Return the URL for accepting the current friendship request in the loop.
 544       *
 545       * @since 1.0.0
 546       *
 547       * @return string accept-friendship URL.
 548       */
 549  	function bp_get_friend_accept_request_link() {
 550          global $members_template;
 551  
 552          if ( !$friendship_id = wp_cache_get( 'friendship_id_' . $members_template->member->id . '_' . bp_loggedin_user_id() ) ) {
 553              $friendship_id = friends_get_friendship_id( $members_template->member->id, bp_loggedin_user_id() );
 554              wp_cache_set( 'friendship_id_' . $members_template->member->id . '_' . bp_loggedin_user_id(), $friendship_id, 'bp' );
 555          }
 556  
 557          /**
 558           * Filters the URL for accepting the current friendship request in the loop.
 559           *
 560           * @since 1.0.0
 561           * @since 2.6.0 Added the `$friendship_id` parameter.
 562           *
 563           * @param string $value         Accept-friendship URL.
 564           * @param int    $friendship_id ID of the friendship.
 565           */
 566          return apply_filters( 'bp_get_friend_accept_request_link', wp_nonce_url( trailingslashit( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/accept/' . $friendship_id ), 'friends_accept_friendship' ), $friendship_id );
 567      }
 568  
 569  /**
 570   * Output the URL for rejecting the current friendship request in the loop.
 571   *
 572   * @since 1.0.0
 573   */
 574  function bp_friend_reject_request_link() {
 575      echo bp_get_friend_reject_request_link();
 576  }
 577      /**
 578       * Return the URL for rejecting the current friendship request in the loop.
 579       *
 580       * @since 1.0.0
 581       *
 582       * @return string reject-friendship URL.
 583       */
 584  	function bp_get_friend_reject_request_link() {
 585          global $members_template;
 586  
 587          if ( !$friendship_id = wp_cache_get( 'friendship_id_' . $members_template->member->id . '_' . bp_loggedin_user_id() ) ) {
 588              $friendship_id = friends_get_friendship_id( $members_template->member->id, bp_loggedin_user_id() );
 589              wp_cache_set( 'friendship_id_' . $members_template->member->id . '_' . bp_loggedin_user_id(), $friendship_id, 'bp' );
 590          }
 591  
 592          /**
 593           * Filters the URL for rejecting the current friendship request in the loop.
 594           *
 595           * @since 1.0.0
 596           * @since 2.6.0 Added the `$friendship_id` parameter.
 597           *
 598           * @param string $value         Reject-friendship URL.
 599           * @param int    $friendship_id ID of the friendship.
 600           */
 601          return apply_filters( 'bp_get_friend_reject_request_link', wp_nonce_url( trailingslashit( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/reject/' . $friendship_id ), 'friends_reject_friendship' ), $friendship_id );
 602      }
 603  
 604  /**
 605   * Output the total friend count for a given user.
 606   *
 607   * @since 1.2.0
 608   *
 609   * @param int $user_id See {@link friends_get_total_friend_count()}.
 610   */
 611  function bp_total_friend_count( $user_id = 0 ) {
 612      echo bp_get_total_friend_count( $user_id );
 613  }
 614      /**
 615       * Return the total friend count for a given user.
 616       *
 617       * @since 1.2.0
 618       *
 619       * @param int $user_id See {@link friends_get_total_friend_count()}.
 620       * @return int Total friend count.
 621       */
 622  	function bp_get_total_friend_count( $user_id = 0 ) {
 623  
 624          /**
 625           * Filters the total friend count for a given user.
 626           *
 627           * @since 1.2.0
 628           * @since 2.6.0 Added the `$user_id` parameter.
 629           *
 630           * @param int $value   Total friend count.
 631           * @param int $user_id ID of the queried user.
 632           */
 633          return apply_filters( 'bp_get_total_friend_count', friends_get_total_friend_count( $user_id ), $user_id );
 634      }
 635      add_filter( 'bp_get_total_friend_count', 'bp_core_number_format' );
 636  
 637  /**
 638   * Output the total friendship request count for a given user.
 639   *
 640   * @since 1.2.0
 641   *
 642   * @see bp_friend_get_total_requests_count() for description of arguments.
 643   *
 644   * @param int $user_id See {@link bp_friend_get_total_requests_count().
 645   */
 646  function bp_friend_total_requests_count( $user_id = 0 ) {
 647      echo bp_friend_get_total_requests_count( $user_id );
 648  }
 649      /**
 650       * Return the total friendship request count for a given user.
 651       *
 652       * @since 1.2.0
 653       *
 654       * @param int $user_id ID of the user whose requests are being counted.
 655       *                     Default: ID of the logged-in user.
 656       * @return int Friend count.
 657       */
 658  	function bp_friend_get_total_requests_count( $user_id = 0 ) {
 659          if ( empty( $user_id ) )
 660              $user_id = bp_loggedin_user_id();
 661  
 662          /**
 663           * Filters the total friendship request count for a given user.
 664           *
 665           * @since 1.2.0
 666           * @since 2.6.0 Added the `$user_id` parameter.
 667           *
 668           * @param int $value   Friendship request count.
 669           * @param int $user_id ID of the queried user.
 670           */
 671          return apply_filters( 'bp_friend_get_total_requests_count', count( BP_Friends_Friendship::get_friend_user_ids( $user_id, true ) ), $user_id );
 672      }
 673  
 674  /** Stats **********************************************************************/
 675  
 676  /**
 677   * Display the number of friends in user's profile.
 678   *
 679   * @since 2.0.0
 680   *
 681   * @param array|string $args before|after|user_id.
 682   */
 683  function bp_friends_profile_stats( $args = '' ) {
 684      echo bp_friends_get_profile_stats( $args );
 685  }
 686  add_action( 'bp_members_admin_user_stats', 'bp_friends_profile_stats', 7, 1 );
 687  
 688  /**
 689   * Return the number of friends in user's profile.
 690   *
 691   * @since 2.0.0
 692   *
 693   * @param array|string $args before|after|user_id.
 694   * @return string HTML for stats output.
 695   */
 696  function bp_friends_get_profile_stats( $args = '' ) {
 697  
 698      // Parse the args.
 699      $r = bp_parse_args( $args, array(
 700          'before'  => '<li class="bp-friends-profile-stats">',
 701          'after'   => '</li>',
 702          'user_id' => bp_displayed_user_id(),
 703          'friends' => 0,
 704          'output'  => ''
 705      ), 'friends_get_profile_stats' );
 706  
 707      // Allow completely overloaded output.
 708      if ( empty( $r['output'] ) ) {
 709  
 710          // Only proceed if a user ID was passed.
 711          if ( ! empty( $r['user_id'] ) ) {
 712  
 713              // Get the user's friends.
 714              if ( empty( $r['friends'] ) ) {
 715                  $r['friends'] = absint( friends_get_total_friend_count( $r['user_id'] ) );
 716              }
 717  
 718              // If friends exist, show some formatted output.
 719              $r['output'] = $r['before'] . sprintf( _n( '%s friend', '%s friends', $r['friends'], 'buddypress' ), '<strong>' . $r['friends'] . '</strong>' ) . $r['after'];
 720          }
 721      }
 722  
 723      /**
 724       * Filters the number of friends in user's profile.
 725       *
 726       * @since 2.0.0
 727       *
 728       * @param string $value Formatted string displaying total friends count.
 729       * @param array  $r     Array of arguments for string formatting and output.
 730       */
 731      return apply_filters( 'bp_friends_get_profile_stats', $r['output'], $r );
 732  }


Generated: Sat Sep 21 01:01:46 2019 Cross-referenced by PHPXref 0.7.1