Introduce 'no_access_url' param to bp_core_new_subnav_item()

bp_core_new_subnav_item() allows access to be controlled using the
'show_for_displayed_user' parameter. When this param is false for a given user,
the function attempts to determine a proper redirect URL. But this URL
determining logic assumes that we are looking at a user profile, while BP uses
bp_core_new_subnav_item() for group navigation as well. Rather than attempting
to bake more URL determination logic into bp_core_new_subnav_item() itself, we
introduce a 'no_access_url' parameter that allows calling functions to specify
dynamically the URL that users should be directed to when they do not have
permission to access a requested subnav item.

Fixes #5720

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8556 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
at-mentions: overhaul the mentions implementation for Private Messages and Groups (admin) components.

Previously, these components had seperate implementations of username auto-suggestions, which weren't
reusable outside of where they'd been built, nor easily extended by developers, or other plugins.
This change creates a central API for auto-suggestions, currently only for usernames, but easily
extensible for other kinds of auto-suggestions in the future (i.e. group names, or #hashtags).

See #3278

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8557 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Use correct `$exclude` variable (rather than `$r`) in `BP_Core_User::get_users_by_letter()`. Fixes ability to query for users by `letter` and also exclude certain users.

Querying for users by letter has not been used in BuddyPress's template parts since 1.2, but is still actively supported for other plugins and themes to use.



git-svn-id: https://buddypress.svn.wordpress.org/trunk@8558 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Messages: soft-deprecate existing autocomplete CSS/JS by moving assets into deprecated folder.

Functionality hasn't been changed, the scripts have just been moved. Eventually, these will be
replaced by a newer auto-suggest JS/UI, then these will be used just for backwards compatibility
with old themes.

See #3278 and #5735.


git-svn-id: https://buddypress.svn.wordpress.org/trunk@8559 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
When a user changes her email address, require email verification of the new address

This feature, built into WordPress MS by default (when updating one's profile
via the Dashboard), ensures that new email addresses are valid and not
mistyped, helping to avoid unintentionally locked-out accounts.

Fixes #2265

Props j.conti for an initial patch

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8560 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Add CSS class to xprofile fields indicating whether they are required.

The new class names are 'required-field' and 'optional-field'.

Fixes #5741

Props WCUADD

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8561 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Don't use 'admin' as the username of the user when running suggestions tests

On multisite, this user is granted super admin privileges, which breaks some of
the tests.

Fixes #5744

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8562 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Add phpdoc blocks and brackets to installation functions in `bp-core-schema.php`

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8563 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Use raw member count, not formatted number, when localizing via _n() in bp_get_members_pagination_count()

Fixes #5743

Props tomdxw

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8564 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Move `DO_NOT_UPGRADE_GLOBAL_TABLES` check from `bp_core_maybe_install_signups()` to `bp_core_upgrade_signups()`. Fixes bug where `wp_signups` table would not get created on single-site installations when `DO_NOT_UPGRADE_GLOBAL_TABLES` is set. Fixes #5745.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8565 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Add brackets around a few conditional statements in `bp-core-update.php`.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8566 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Revert accidental function rename from r8563.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8567 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Formally deprecate the BuddyBar.

BuddyPress has been fully compatible with the WordPress toolbar since 1.6. We
have provided backward compatible support for the BuddyBar through the
BP_USE_WP_ADMIN_BAR constant. This changeset retains this support, but
officially deprecates it, with the following changes:

- All UI related to the BuddyBar has been removed from the Dashboard setings
  panels
- BuddyBar-related code has been moved to the deprecated functions folder
- A _doing_it_wrong() notice is now thrown when loading the BuddyBar

Fixes #5390

Props DJPaul for an initial patch

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8568 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Remove support for retina activation/about screen badge image, as it's no longer used.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8569 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
When creating directory page mappings, check for and use pages that already exist with a matching slug. Fixes #5747.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8570 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Code formatting improvements to `bp_core_add_page_mappings()`. See #5747.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8571 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
In `BP_Component::includes()`, ensure dynamic action fires even when `$includes` array is empty.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8572 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Nudge.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8573 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Only get 'search_terms' out of $_REQUEST['s'] in bp_group_has_members() if no 'search_terms' param has been passed to the function

This allows secondary, search-free loops to be run on a page, by passing an
empty string to the 'search_terms' param. See #5318 for a similar strategy as
applied to members widgets.

Fixes #5746

Props WCUADD

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8574 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Phpdoc and code clean-up to `bp-groups-notifications.php`.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8575 cdf35c40-ae34-48e0-9cc9-0c9da1808c22