/** * bp_dtheme_ajax_messages_autocomplete_results() * * AJAX handler for autocomplete. Displays friends only, unless BP_MESSAGES_AUTOCOMPLETE_ALL is defined * * @global object object $bp Global BuddyPress settings object * @return none */ function bp_dtheme_ajax_messages_autocomplete_results() { global $bp; // Include everyone in the autocomplete, or just friends? if ($bp->messages->slug == $bp->current_component) { $autocomplete_all = $bp->messages->autocomplete_all; } $friends = false; $pag_page = 1; $limit = $_GET['limit'] ? $_GET['limit'] : apply_filters('bp_autocomplete_max_results', 10); // Get the user ids based on the search terms if (!empty($autocomplete_all)) { $users = BP_Core_User::search_users($_GET['q'], $limit, $pag_page); if (!empty($users['users'])) { // Build an array with the correct format $user_ids = array(); foreach ($users['users'] as $user) { if ($user->id != $bp->loggedin_user->id) { $user_ids[] = $user->id; } } $user_ids = apply_filters('bp_core_autocomplete_ids', $user_ids, $_GET['q'], $limit); } } else { if (bp_is_active('friends')) { $users = friends_search_friends($_GET['q'], $bp->loggedin_user->id, $limit, 1); // Keeping the bp_friends_autocomplete_list filter for backward compatibility $users = apply_filters('bp_friends_autocomplete_list', $users, $_GET['q'], $limit); if (!empty($users['friends'])) { $user_ids = apply_filters('bp_friends_autocomplete_ids', $users['friends'], $_GET['q'], $limit); } } } if (!empty($user_ids)) { foreach ($user_ids as $user_id) { $ud = get_userdata($user_id); if (!$ud) { continue; } if (bp_is_username_compatibility_mode()) { $username = $ud->user_login; } else { $username = $ud->user_nicename; } echo '<span id="link-' . $username . '" href="' . bp_core_get_user_domain($user_id) . '"></span>' . bp_core_fetch_avatar(array('item_id' => $user_id, 'type' => 'thumb', 'width' => 15, 'height' => 15)) . ' ' . bp_core_get_user_displayname($user_id) . ' (' . $username . ') '; } } }
/** * AJAX handler for autocomplete. Displays friends only, unless BP_MESSAGES_AUTOCOMPLETE_ALL is defined. * * @return string HTML * @since BuddyPress (1.2) */ function bp_dtheme_ajax_messages_autocomplete_results() { // Include everyone in the autocomplete, or just friends? if (bp_is_current_component(bp_get_messages_slug())) { $autocomplete_all = buddypress()->messages->autocomplete_all; } $pag_page = 1; $limit = (int) $_GET['limit'] ? $_GET['limit'] : apply_filters('bp_autocomplete_max_results', 10); // Get the user ids based on the search terms if (!empty($autocomplete_all)) { $users = BP_Core_User::search_users($_GET['q'], $limit, $pag_page); if (!empty($users['users'])) { // Build an array with the correct format $user_ids = array(); foreach ($users['users'] as $user) { if ($user->id != bp_loggedin_user_id()) { $user_ids[] = $user->id; } } $user_ids = apply_filters('bp_core_autocomplete_ids', $user_ids, $_GET['q'], $limit); } } else { if (bp_is_active('friends')) { $users = friends_search_friends($_GET['q'], bp_loggedin_user_id(), $limit, 1); // Keeping the bp_friends_autocomplete_list filter for backward compatibility $users = apply_filters('bp_friends_autocomplete_list', $users, $_GET['q'], $limit); if (!empty($users['friends'])) { $user_ids = apply_filters('bp_friends_autocomplete_ids', $users['friends'], $_GET['q'], $limit); } } } if (!empty($user_ids)) { foreach ($user_ids as $user_id) { $ud = get_userdata($user_id); if (!$ud) { continue; } if (bp_is_username_compatibility_mode()) { $username = $ud->user_login; } else { $username = $ud->user_nicename; } // Note that the final line break acts as a delimiter for the // autocomplete javascript and thus should not be removed echo '<span id="link-' . esc_attr($username) . '" href="' . bp_core_get_user_domain($user_id) . '"></span>' . bp_core_fetch_avatar(array('item_id' => $user_id, 'type' => 'thumb', 'width' => 15, 'height' => 15, 'alt' => $ud->display_name)) . ' ' . bp_core_get_user_displayname($user_id) . ' (' . esc_html($username) . ')' . "\n"; } } exit; }
function friends_get_newest($user_id, $pag_num = false, $pag_page = false, $filter = false) { if ($filter) { $friend_ids = friends_search_friends($filter, $user_id, false); } else { $friend_ids = friends_get_friend_user_ids($user_id); } if (!$friend_ids) { return false; } if ($filter) { $friend_ids = $friend_ids['friends']; } $total_friends = count($friend_ids); if ($pag_num && $pag_page) { return array('friends' => array_slice($friend_ids, intval(($pag_page - 1) * $pag_num), intval($pag_num)), 'total' => $total_friends); } else { return array('friends' => $friend_ids, 'total' => $total_friends); } }
function bp_dtheme_ajax_messages_autocomplete_results() { global $bp; $friends = false; // Get the friend ids based on the search terms if ( function_exists( 'friends_search_friends' ) ) $friends = friends_search_friends( $_GET['q'], $bp->loggedin_user->id, $_GET['limit'], 1 ); $friends = apply_filters( 'bp_friends_autocomplete_list', $friends, $_GET['q'], $_GET['limit'] ); if ( $friends['friends'] ) { foreach ( (array)$friends['friends'] as $user_id ) { $ud = get_userdata($user_id); $username = $ud->user_login; echo bp_core_fetch_avatar( array( 'item_id' => $user_id, 'type' => 'thumb', 'width' => 15, 'height' => 15 ) ) . ' ' . bp_core_get_user_displayname( $user_id ) . ' (' . $username . ') '; } } }
<?php /* Load the WP environment */ require_once preg_replace('%(.*)[/\\\\]wp-content[/\\\\].*%', '\\1', dirname(__FILE__)) . '/wp-load.php'; require_once BP_PLUGIN_DIR . '/bp-core.php'; require_once BP_PLUGIN_DIR . '/bp-friends.php'; // Setup the $bp global array as it's not auto set outside of the normal WP enviro. bp_core_setup_globals(); friends_setup_globals(); // Get the friend ids based on the search terms $friends = friends_search_friends($_GET['q'], $bp->loggedin_user->id, $_GET['limit'], 1); if ($friends['friends']) { foreach ($friends['friends'] as $user_id) { $ud = get_userdata($user_id); $username = $ud->user_login; echo bp_core_get_avatar($user_id, 1, 15, 15) . ' ' . bp_fetch_user_fullname($user_id, false) . ' (' . $username . ') '; } }