bp_dtheme_ajax_messages_autocomplete_results()
AJAX handler for autocomplete. Displays friends only, unless BP_MESSAGES_AUTOCOMPLETE_ALL is defined.
Description Description
Return Return
(string) HTML
Source Source
File: bp-themes/bp-default/_inc/ajax.php
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() ) { // Sanitize for spaces $username = urlencode( $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; }
Changelog Changelog
Version | Description |
---|---|
BuddyPress (1.2) | Introduced. |