Add parent and child menu classes to navigation menu. This allows for more flexible styling of hierarchical menus via the ability to target parent VS child items.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8659 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Members: set the displayed user's `fullname` to their display name

This was broken in r8610 because it was trying to access a property in the WP_User object that doesn't exist.

Fixes #5764, props imath

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8660 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Remove incorrect `prepare()` usage in `get_current_threads_for_user()`. See #5388.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8661 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
i18n: improvements to strings across the majority of components.

Fixes #5760, props jreeve

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8662 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Correct invalid sections in the `.editorconfig` file.

Fixes #5699, props netweb and treyhunner

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8663 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Core: adjust contextual help in dashboard Pages screen.

Props mercime, fixes #5538

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8664 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
xProfile: add extra arguments to `xprofile_data_value_before_save` and `xprofile_filtered_data_value_before_save` filters.

This allows plugin developers greater control over filtering profile data in specific circumstances, particularly for custom field types.

Fixes #5742, props needle.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8665 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Introduce `bp_the_notification_delete_url()` and `bp_get_the_notification_delete_url()` for more easily making custom notification delete links.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8666 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Introduce helper functions to build nonced URL's when marking single notifications as read/unread, for more easily making custom notification links.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8667 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Return values from `bp_*_option()` functions.

Fixes #5518

Props slaFFik

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8668 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Add two new filters to allow group order to be customized in Groups directory

The first filter {{{bp_groups_get_orderby}}} will help to customize the order and orderby attributes of {{{BP_Groups_Group::get()}}} method.
The second one {{{bp_groups_get_orderby_converted_by_term}}} will help to edit  the corresponding SQL term/column.

Fixes #3161

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8669 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Remove URL-specific pre-validation from xprofile_set_field_data()

This validation is intended to catch URL submissions that do not have a scheme
(http://) attached, and to add it preemptively. However, we want to add this
validation in a more centralized location than here.

See #5501

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8670 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Correct docblock for BP_XProfile_Field_Type_URL::display_filter()

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8671 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Introduce BP_XProfile_Field_Type::pre_validate_filter(), and use in URL field type

The pre_validate_filter() method allows field types to intercept field values,
before they are run through the is_valid() validation routine, and optionally
modify them.

BP_XProfile_Field_Type_URL uses this filter to silently add the 'http://'
protocol to submitted values before run through the validation regex (which
requires the protocol). The result is a smoother UX, as users are not required
to enter the protocol in order to have their field value saved.

To make it possible for protocol-less values to be submitted on the profile
edit form, the 'type' attribute of the URL field was changed from 'url' to
'text' (with a 'url' inputtype). With 'type=url', modern browsers require a
fully-qualified URL before allowing the form to be submitted.

Fixes #5501

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8672 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Improved image size detection for uploaded avatar images

This changeset introduces two fixes that improve the UX for the avatar upload
process with original images of various sizes:

- Be sensitive to the size of the original image when setting the initial
  dimensions of the crop box. If the uploaded image is smaller than the
  "full" avatar size, suggest a crop that contains the entire image; if
  slightly larger than the "full" size, suggest a crop equivalent to the "full"
  size.
- When a too-small image is uploaded, throw a message that suggests a larger
  one.

See #5617

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8673 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Introduce Messages functions for getting and outputting the sender ID of a message in a single thread.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8674 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Core: add new `search_wildcard` parameter to `BP_User_Query`.

This new parameter controls where BuddyPress places MySQL wildcard characters around the search term (when it's set).
Prior to this change, BuddyPress added a wildcard character to both ends of the search term, but for some use cases, a more restrictive search pattern is required; you can specify "left", "right", or "both" (the default) to pick where the wildcard is added.

Fixes #5769

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8675 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Fix issues with bp_core_time_since().

Previously, when the $newer_date parameter isn't passed, we generated a
UNIX timestamp using strtotime() and bp_core_current_time().  strtotime()
uses the default timezone, which can cause timezone discrepencies if the
server time is not UTC.

This commit removes the strtotime() usage and refactors bp_core_current_time()
to accept current_time()'s 'type' parameter.  This allows us to correctly
grab the UTC timestamp when setting bp_core_current_time()'s second
argument to 'timestamp'.

Commit also adds some unit tests.

Fixes #4310.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8676 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Rename "Avatar" to "Profile Photo".

"Profile photo" is probably more easily understood by most people (and translators), and better describes what BuddyPress' member and group avatar features actually are; that we're asking for a person's photograph. Sometimes, avatar can mean "graphic" or "illustration".

This subtle change in phrasing also makes BuddyPress more consistent with the significant majority of other online platform services (Twitter, Facebook, etc).

Fixes #5758, props sooskriszta

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8677 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
More "Avatar" to "Profile Photo" renaming.

See #5758 and r8677

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