Index: bp-friends/bp-friends-classes.php
===================================================================
--- bp-friends/bp-friends-classes.php
+++ bp-friends/bp-friends-classes.php
@@ -172,33 +172,46 @@ class BP_Friends_Friendship {
 	/**
 	 * Get the IDs of a given user's friends.
 	 *
-	 * @param int $user_id ID of the user whose friends are being retreived.
-	 * @param bool $friend_requests_only Optional. Whether to fetch
-	 *        unaccepted requests only. Default: false.
-	 * @param bool $assoc_arr Optional. True to receive an array of arrays
-	 *        keyed as 'user_id' => $user_id; false to get a one-dimensional
-	 *        array of user IDs. Default: false.
+	 * @param int $user_id The user ID whose friends are being retrieved.
+	 * @param bool $friend_requests_only Optional. Whether to only fetch people
+	 *        who initiated a friend request with the user in question. Otherwise,
+	 *        grabs user IDs regardless of who initiated the friendship. Defaults
+	 *        to false.
+	 * @param bool $get_all Optional. Whether to fetch friendships regardless of
+	 *        requested or confirmed status.  Defaults to false.
+	 * @return array
 	 */
-	public static function get_friend_user_ids( $user_id, $friend_requests_only = false, $assoc_arr = false ) {
+	public static function get_friend_user_ids( $user_id, $friend_requests_only = false, $get_all = false ) {
 		global $wpdb, $bp;
 
-		if ( !empty( $friend_requests_only ) ) {
-			$oc_sql = 'AND is_confirmed = 0';
-			$friend_sql = $wpdb->prepare( " WHERE friend_user_id = %d", $user_id );
+		$oc_sql = '';
+
+		// get the user IDs of those who initiated a friend request with this user
+		if ( ! empty( $friend_requests_only ) ) {
+			// get only pending requests
+			if ( ! $get_all ) {
+				$oc_sql = 'AND is_confirmed = 0';
+			}
+
+			$fids = $wpdb->get_col( $wpdb->prepare( "SELECT initiator_user_id FROM {$bp->friends->table_name} WHERE friend_user_id = %d {$oc_sql} ORDER BY date_created DESC", $user_id ) );
+
+		// get the user IDs where either this user initiated the friendship or where
+		// other users requested this user
 		} else {
-			$oc_sql = 'AND is_confirmed = 1';
-			$friend_sql = $wpdb->prepare( " WHERE (initiator_user_id = %d OR friend_user_id = %d)", $user_id, $user_id );
-		}
+			// get only confirmed requests
+			if ( ! $get_all ) {
+				$oc_sql = 'AND is_confirmed = 1';
+			}
 
-		$friends = $wpdb->get_results( "SELECT friend_user_id, initiator_user_id FROM {$bp->friends->table_name} {$friend_sql} {$oc_sql} ORDER BY date_created DESC" );
-		$fids = array();
+			$friends = $wpdb->get_results( $wpdb->prepare( "SELECT friend_user_id, initiator_user_id FROM {$bp->friends->table_name} WHERE (initiator_user_id = %d OR friend_user_id = %d) {$oc_sql} ORDER BY date_created DESC", $user_id, $user_id ) );
 
-		for ( $i = 0, $count = count( $friends ); $i < $count; ++$i ) {
-			if ( !empty( $assoc_arr ) ) {
-				$fids[] = array( 'user_id' => ( $friends[$i]->friend_user_id == $user_id ) ? $friends[$i]->initiator_user_id : $friends[$i]->friend_user_id );
-			} else {
+			$fids = array();
+	
+			// loop through each result and add to friend ids array
+			for ( $i = 0, $count = count( $friends ); $i < $count; ++$i ) {
 				$fids[] = ( $friends[$i]->friend_user_id == $user_id ) ? $friends[$i]->initiator_user_id : $friends[$i]->friend_user_id;
 			}
+
 		}
 
 		return $fids;
@@ -219,7 +232,9 @@ class BP_Friends_Friendship {
 	}
 
 	/**
-	 * Get a list of IDs of users who have requested friendship of a given user.
+	 * Get a list of user IDs that have requested friendship for a given user.
+	 *
+	 * Friendships with these user IDs have not been confirmed by the user yet.
 	 *
 	 * @param int $user_id The ID of the user who has received the
 	 *        friendship requests.
Index: bp-friends/bp-friends-functions.php
===================================================================
--- bp-friends/bp-friends-functions.php
+++ bp-friends/bp-friends-functions.php
@@ -249,15 +249,17 @@ function friends_get_friendship_id( $initiator_user_id, $friend_user_id ) {
 /**
  * Get the IDs of a given user's friends.
  *
- * @param int $user_id ID of the user whose friends are being retreived.
- * @param bool $friend_requests_only Optional. Whether to fetch unaccepted
- *        requests only. Default: false.
- * @param bool $assoc_arr Optional. True to receive an array of arrays keyed as
- *        'user_id' => $user_id; false to get a one-dimensional array of user
- *        IDs. Default: false.
+ * @param int $user_id The user ID whose friends are being retrieved.
+ * @param bool $friend_requests_only Optional. Whether to only fetch people
+ *        who initiated a friend request with the user in question. Otherwise,
+ *        grabs user IDs regardless of who initiated the friendship. Defaults
+ *        to false.
+ * @param bool $get_all Optional. Whether to fetch friendships regardless of
+ *        requested or confirmed status.  Defaults to false.
+ * @return array
  */
-function friends_get_friend_user_ids( $user_id, $friend_requests_only = false, $assoc_arr = false ) {
-	return BP_Friends_Friendship::get_friend_user_ids( $user_id, $friend_requests_only, $assoc_arr );
+function friends_get_friend_user_ids( $user_id, $friend_requests_only = false, $get_all = false ) {
+	return BP_Friends_Friendship::get_friend_user_ids( $user_id, $friend_requests_only, $get_all );
 }
 
 /**
Index: tests/testcases/friends/class-bp-friends-friendship.php
===================================================================
--- tests/testcases/friends/class-bp-friends-friendship.php
+++ tests/testcases/friends/class-bp-friends-friendship.php
@@ -115,4 +115,58 @@ class BP_Tests_BP_Friends_Friendship_TestCases extends BP_UnitTestCase {
 		friends_add_friend( $u1, $u2, true );
 		$this->assertEquals( 'is_friend', BP_Friends_Friendship::check_is_friend( $u1, $u2 ) );
 	}
+
+	/**
+	 * @group get_friend_user_ids
+	 */
+	public function test_get_friend_user_ids_request_only() {
+		$u1 = $this->create_user();
+		$u2 = $this->create_user();
+		$u3 = $this->create_user();
+
+		// force add friendship
+		friends_add_friend( $u2, $u1, true );
+
+		// user 3 initiates friendship with user 1
+		friends_add_friend( $u3, $u1 );
+
+		// get unconfirmed user IDs that have requested friendship with user 1
+		$this->assertEquals( array( $u3 ), BP_Friends_Friendship::get_friend_user_ids( $u1, true ) );
+	}
+
+	/**
+	 * @group get_friend_user_ids
+	 */
+	public function test_get_friend_user_ids_confirmed_only() {
+		$u1 = $this->create_user();
+		$u2 = $this->create_user();
+		$u3 = $this->create_user();
+
+		// force add friendship
+		friends_add_friend( $u2, $u1, true );
+
+		// add a friendship request
+		friends_add_friend( $u3, $u1 );
+
+		// get only confirmed friend user IDs for user 1
+		$this->assertEquals( array( $u2 ), BP_Friends_Friendship::get_friend_user_ids( $u1 ) );
+	}
+
+	/**
+	 * @group get_friend_user_ids
+	 */
+	public function test_get_friend_user_ids_all() {
+		$u1 = $this->create_user();
+		$u2 = $this->create_user();
+		$u3 = $this->create_user();
+
+		// user 1 requests user 3; force friendship
+		friends_add_friend( $u1, $u3, true );
+
+		// user 2 requests user 1
+		friends_add_friend( $u2, $u1 );
+
+		// get all user IDs for friendships with user 1 regardless of confirmed status
+		$this->assertEquals( array( $u3, $u2 ), BP_Friends_Friendship::get_friend_user_ids( $u1, false, true ) );
+	}
 }
