mirror of
https://gh.wpcy.net/https://github.com/buddypress/buddypress.git
synced 2026-05-31 05:04:29 +08:00
BuddyPress has historically enforced a no-spaces rule on user_login during user registration. Originally this was rooted in WPMU's own peculiar character restrictions, and when the MU requirement was dropped, the same restrictions were carried over to WordPress Single. However, these restrictions have caused various problems. BP enforced the "no spaces" rule during registration by simply swapping out spaces with hyphens and not telling users. This caused immense confusion. Moreover, the restriction caused problems when bypassing BP's native user registration, as when integrating with an external authentication service; these external usernames *can* sometimes have spaces, and certain areas of BuddyPress were not equipped to deal with them. This changeset removes the no-spaces restriction from BuddyPress, and hands off user_login validation to WordPress Multisite when possible (meaning that on MS, spaces will still not be allowed during native registration). It also makes the necessary adjustments throughout BuddyPress to ensure that spaces in user_login will not break related functionality. On a normal setup, BP (and WP) only use user_login for authentication, but several changes were necessary to account for "username compatibility mode", where the user_login is displayed publicly: - Refactor the way that activity @-mentions work in username compatibility mode. We now have functions for converting user IDs to "mentionname" (and vice versa) which will produce @-mention-safe versions of user_nicename or user_login, as appropriate. - Use proper URL encoding when building and parsing URLs that contain usernames when compatibility mode is enabled. - Fix private messaging autocomplete to work with spaces. See #4622 Fixes #5185 git-svn-id: https://buddypress.svn.wordpress.org/trunk@7570 cdf35c40-ae34-48e0-9cc9-0c9da1808c22 |
||
|---|---|---|
| .. | ||
| bp-legacy | ||