[6675]
|
johnjamesjacoby
|
Users: first pass at forum role selection on invite/add-new.
This change adds the ability to set a specific forum role when adding a new user. If no valid role is found or saved, the default role will be used by default. There is likely more to do here, to ensure auto-role continues to work as intended as well.
Trunk, for 2.6. See: #3157.
|
[7029]
|
johnjamesjacoby
|
Users: ensure topic & reply counts and last posted time are updated when user is spammed & hammed.
This commit ensures that these user meta values are correct when a user is marked (or unmarked) as a spammer. In addition, the newer topic status function is used to ensure that Closed topics are included.
See #3305. For 2.7, trunk.
|
[7030]
|
johnjamesjacoby
|
Users: ensure topic & reply counts and last posted time are updated when user is spammed & hammed.
This commit ensures that these user meta values are correct when a user is marked (or unmarked) as a spammer. In addition, the newer topic status function is used to ensure that Closed topics are included.
See #3305. For 2.6.4, branches/2.6.
|
[7144]
|
johnjamesjacoby
|
Users: avoid PHP notice (warning in PHP8) when getting a user nicename.
This commit improves the internal logic of `bbp_get_user_nicename()` to handle a missing or invalid user object, defaulting to an empty string in that specific instance.
In trunk, for 2.7. Fixes #3402.
Props dd32.
|
[7143]
|
johnjamesjacoby
|
Users: avoid PHP notice (warning in PHP8) when getting a user nicename.
This commit improves the internal logic of `bbp_get_user_nicename()` to handle a missing or invalid user object, defaulting to an empty string in that specific instance.
In branches/2.6, for 2.6.6. See #3402.
Props dd32.
|
[7214]
|
johnjamesjacoby
|
Users: add some error checking to `get_userdata()` calls in profile link functions.
This change ensures that when attempting to link to user profiles when the `display_name` is the inner HTML of the link, that the "Anonymous" alternate is used whenever the user cannot be found.
It also bails early – returning `false` – if the user account simply does not exist, consistent with upstream calls to `bbp_get_user_id()`. (Functions calling these functions have a responsibility to appropriately handle boolean return values.)
In trunk, for 2.7.
Fixes #3440.
|
[7213]
|
johnjamesjacoby
|
Users: add some error checking to `get_userdata()` calls in profile link functions.
This change ensures that when attempting to link to user profiles when the `display_name` is the inner HTML of the link, that the "Anonymous" alternate is used whenever the user cannot be found.
It also bails early – returning `false` – if the user account simply does not exist, consistent with upstream calls to `bbp_get_user_id()`. (Functions calling these functions have a responsibility to appropriately handle boolean return values.)
In branches/2.6, for 2.6.7.
See #3440.
|
[6198]
|
johnjamesjacoby
|
Users: Use existing WordPress core functions where possible.
* `get_users()` for per-forum moderator setting & getting
* `count_user_posts()` for raw topic & reply counts
* General code clean-up around these parts
|
[6355]
|
netweb
|
Users: Use `bbp_rel_nofollow()` for users profile description in `user-profile.php` template.
This changeset will help curb spammers taking advantage of posting URLs in their user profile descriptions.
Props Robkk.
Fixes #2854.
|
[6619]
|
johnjamesjacoby
|
Users: Use `bbp_parse_args()` in user content loops.
This commit changes the function signatures of several wrappers for `bbp_has_` functions away from simply accepting a `$user_id` to accepting an array of arguments, in a fully backwards compatible way. It also updates the surrounding documentation to more accurately describe what is returned and why.
This allows the arguments used within these functions to be explicitly filtered, passively or aggressively overridden, or bypassed entirely.
|
[5815]
|
johnjamesjacoby
|
Users: Use `bbp_get_user_profile_url()` to avoid code duplication.
This commit removes duplicated code used to build user profile URLs & eliminates several superfluous string replacements. It works with pretty & unpretty permalinks, and plays nicely with the BuddyPress extension for linking to a member's forum sections.
Fixes #2831.
|
[5665]
|
johnjamesjacoby
|
Users: Update filter name in `bbp_edit_user_email_send_notification()` to be a bit more clear. See #2780.
|
[5657]
|
johnjamesjacoby
|
Users: Update `bbp_check_user_edit()`:
* Update `@uses` in docblock
* Add filters to allow overriding result & redirect_to URL
* Bail instead of indent
* Move `bbp_get_displayed_user_id()` into reusable variable
Fixes #2777.
|
[5946]
|
netweb
|
Users: Update `$_SERVER['REMOTE_ADDR']` IP adress check to `127.0.0.1` in `bbp_current_author_ip()`
This changeset updates our unit tests and ensures compatability with WordPress test suite where in [WP34172] `$_SERVER[ 'REMOTE_ADDR' ]` is now initialised during the test bootstrap so individual tests need not.
Props thebrandonallen. See #2883.
|
[6111]
|
netweb
|
Users: Update PHPDoc's for user functions and capabilities.
See #2959.
|
[5971]
|
netweb
|
Users: The `user.js` file should have a blank newline at the end of file
Fixes #2907.
|
[6512]
|
johnjamesjacoby
|
Users: Sanitize name, email, and website in `bbp_filter_anonymous_post_data()`.
2.5 branch, for 2.5.13.
|
[6057]
|
johnjamesjacoby
|
Users: Revert accidental removal of r6051, r6052, from r6056.
|
[5900]
|
johnjamesjacoby
|
Users: Remove superfluous `home_url()` calls introduced in r5815. Also fixed:
* Replaced `bbp_get_user_profile_url()` with `bbp_get_user_profile_edit_url()` in `bbp_user_profile_edit_link()`
* Fixed `bbp_favorites_permalink()` by using `bbp_get_user_favorites_slug()` instead of `bbp_get_user_favorites_rewrite_id()`
Props thebrandonallen. See #2831.
|
[5660]
|
johnjamesjacoby
|
Users: Remove pending email change markup from `form-user-edit.php`. See #2780.
|
[6218]
|
johnjamesjacoby
|
Users: Remove `post__in` queries from favs/subs template loops.
This is only recently possible thanks to `postmeta` storage, and should result in a not-insignificant performance boost for those user profile pages.
See #2959.
|
[5813]
|
johnjamesjacoby
|
Users: Remove `is_email()` check from user query parsing.
This commit removes the ability to load a user profile via their email address. This feature (added in r2917) was a convenience mechanism to make finding a user within the forums with a known address easier, but times have changed and we now consider this to be a privacy concern by default.
Note: this will break backwards-compatibility for installations that may have used this unpublicized (and regrettably unwise) feature.
See #2828. Hat-tip netweb. For 2.6 (trunk)
|
[5814]
|
johnjamesjacoby
|
Users: Remove `is_email()` check from user query parsing.
This commit removes the ability to load a user profile via their email address. This feature (added in r2917) was a convenience mechanism to make finding a user within the forums with a known address easier, but times have changed and we now consider this to be a privacy concern by default.
Note: this will break backwards-compatibility for installations that may have used this unpublicized (and regrettably unwise) feature.
Fixes #2828. Hat-tip netweb. For 2.5.8 (2.5 branch)
|
[6594]
|
johnjamesjacoby
|
Users: Offer the login form in place of topic/reply forms if user is logged out.
|
[5661]
|
johnjamesjacoby
|
Users: Introduce `bbp_notice_edit_user_email_change()` to notify user of a pending email address change to their account. See #2780.
|
[6426]
|
johnjamesjacoby
|
Users: Introduce `bbp_get_excluded_forum_ids()`.
This function will be used in places where private & hidden forum IDs are combined to determine which forums should be excluded from specific queries.
See #2593.
|
[6425]
|
johnjamesjacoby
|
Users: Introduce `bbp_allow_forums_of_user()`.
This filter-only function will be used to remove private & hidden forums from being excluded in queries, for users who are explicitly allowed forums that they would not otherwise be able to access.
See #2593.
|
[6114]
|
netweb
|
Users: Include users closed topic counts in `bbp_get_user_topic_count_raw()`
This changeset works around an issue where the lack of custom post statuses support upstream in #WP12706 prevents us from including users closed topics counts in a users raw topic count. See also #meta1870
Props netweb.
Fixes #2978.
|
[5949]
|
netweb
|
Users: In `BBP_Default::enqueue_scripts` remove rogue script dependency for single user edits
This changeset removes the `user-query` dependency that was accidentally introduced in r5183
Props tharsheblows
Fixes #2877
|
[7190]
|
johnjamesjacoby
|
Users: Improve UX of form-user-passwords.php template part.
This change makes sure that the "Generate Password" UI is hidden by default if the browser has JavaScript enabled, and that the traditional UI is visible if JavaScript is not enabled.
It also includes the following related improvements:
* Introduce `bbp_doing_script_debug()` and `bbp_doing_autosave()` helpers, and use them where needed
* Introduce `bbp_asset_version()` and `bbp_get_asset_version()` to bust asset cache when debugging
* Update `forum-user-passwords.php` template part to swap out body class and add missing element ID
* Update password form styling in `bbpress.css` default theme compat CSS
In trunk for 2.7.0. Fixes #3421.
|
[7189]
|
johnjamesjacoby
|
Users: Improve UX of form-user-passwords.php template part.
This change makes sure that the "Generate Password" UI is hidden by default if the browser has JavaScript enabled, and that the traditional UI is visible if JavaScript is not enabled.
It also includes the following related improvements:
* Introduce `bbp_doing_script_debug()` and `bbp_doing_autosave()` helpers, and use them where needed
* Introduce `bbp_asset_version()` and `bbp_get_asset_version()` to bust asset cache when debugging
* Update `forum-user-passwords.php` template part to swap out body class and add missing element ID
* Update password form styling in `bbpress.css` default theme compat CSS
In branches/2.6 for 2.6.7. See #3421.
|
[6623]
|
johnjamesjacoby
|
Users: First-pass search forms in profile content pages.
This commit makes it possible to search user profiles for specific topics & replies (styling still needed.)
|
[5662]
|
johnjamesjacoby
|
Users: Extract `$_GET` conditions out of `bbp_edit_user_handler()` and into their own function, hooked to `bbp_get_request` action.
This fixes functionality that was only half ported from `edit_user()` & WordPress multisite which allows a user to confirm or dismiss pending email address changes to their account from within their bbPress profile edit page.
See #2780.
|
[5663]
|
johnjamesjacoby
|
Users: Email address change improvements:
* Introduce function for handling sending notification email
* Clean up code required to update, save, confirm, & dismiss pending email address changes
* Fixes bug in previous implementation making it impossible to interact with pending email address changes on multisite installations
Fixes #2780.
|
[7105]
|
johnjamesjacoby
|
Users: Correctly calculate offset in User Profile > Last Activity.
Previous to this, Last Activity was being saved with `time()` but then using the site offset on display. For negative timezones, this would cause "sometime ago" type output in screens like User Profiles.
Also correctly update Last Activity when posting new Topics and Replies, and add expiration to transients for anonymous users to prevent them from being autoloaded while also never expiring.
In trunk, for 2.7.0.
Fixes #3378.
|
[7104]
|
johnjamesjacoby
|
Users: Correctly calculate offset in User Profile > Last Activity.
Previous to this, Last Activity was being saved with `time()` but then using the site offset on display. For negative timezones, this would cause "sometime ago" type output in screens like User Profiles.
Also correctly update Last Activity when posting new Topics and Replies, and add expiration to transients for anonymous users to prevent them from being autoloaded while also never expiring.
In branches/2.6, for 2.6.6.
See #3378.
|
[6431]
|
johnjamesjacoby
|
Users: Connect `bbp_allow_forums_of_user` filter to `bbp_get_excluded_forum_ids` filter.
This prevents excluding private or hidden forums that the currently logged in user can explicitly moderate.
Fixes #2593.
|
[5664]
|
johnjamesjacoby
|
Users: Clean up email message string replacements in `bbp_edit_user_email_send_notification()`. See #2780.
|
[6567]
|
johnjamesjacoby
|
Users: Check for ability to edit before falling back to `publish`.
This change prioritizes a user's ability to edit a forum/topic/reply over the fallback to the ability to publish, allowing per-forum moderators the ability to access the relative theme-side forms.
|
[6617]
|
SergeyBiryukov
|
Users: Check `promote_user` capability instead of `edit_user` before displaying "User Role" section in `form-user-edit.php`, for consistency with `bbp_profile_update_role()`.
Fixes #3126.
|
[6505]
|
johnjamesjacoby
|
Users: Bail if editing a user in wp-admin.
This is a theme-side only handler.
|
[6562]
|
johnjamesjacoby
|
Users: Audit user template functions.
* Additional late escaping on meta-data return values where they are surrounded by HTML markup
* Introduce helper function for filtering & returning the 'Anonymous' fallback display name (we'll use this through-out the existing author name fallbacks)
* Use more internal helpers & handlers where they are available
|
[6413]
|
johnjamesjacoby
|
Users: Admin sub-headings are now `h2` tags.
|
[5902]
|
johnjamesjacoby
|
Users: Add tests for user permalink functions. Props thebrandonallen. See #2831.
|
[5666]
|
johnjamesjacoby
|
Users: Add missing textdomains to new strings. See #2780.
|
[6294]
|
netweb
|
Users: Add missing asterix from PHPDoc block in `bbp_make_spam_user()`
|
[5805]
|
johnjamesjacoby
|
Users: Add hardening to `bbp_edit_user_handler()` super-admin grant/revoke action when editing a user's profile.
This commit ensures only super-administrators that also have the `manage_network_options` capability are able to modify another user's super-administrator privilege.
(Note that `bbp_edit_user_handler()` has several other conditional checks to prevent privilege escalation here, and this change is only useful for installations that modify core role & capability behavior via third-party plugins in such a way as to have bungled the capabilities of multisite super-administrators.)
Props glynwintle. For 2.6 (trunk)
|
[5806]
|
johnjamesjacoby
|
Users: Add hardening to `bbp_edit_user_handler()` super-admin grant/revoke action when editing a user's profile.
This commit ensures only super-administrators that also have the `manage_network_options` capability are able to modify another user's super-administrator privilege.
(Note that `bbp_edit_user_handler()` has several other conditional checks to prevent privilege escalation here, and this change is only useful for installations that modify core role & capability behavior via third-party plugins in such a way as to have bungled the capabilities of multisite super-administrators.)
Props glynwintle. For 2.5.8 (2.5 branch)
|
[6502]
|
johnjamesjacoby
|
Users: Add a "View" link to list-table row-actions.
This connects `wp-admin` users to their theme-side forum profiles.
|
[6592]
|
johnjamesjacoby
|
Users: Add `user_url`, `user_registered`, and last-active to profiles.
Also divide profile page up into 2 sections: Profile & Forums.
|
[6216]
|
johnjamesjacoby
|
Users: Add `nopaging` to `WP_Query` usages.
Fixes bug with favs/subs being limited to 10 results by default. See #2959.
|
[4190]
|
johnjamesjacoby
|
Users:
* Update main bbPress class and bbp_parse_query() for updated favorites and subscriptions behavior.
|
[4462]
|
johnjamesjacoby
|
Users:
* Update for profiles to support more theme widths.
* Update fields and description labels.
* Move favorite and subscription X's to before topic title, instead of creating another faux-column.
* Some HTML mark-up changes to support fixes.
* Merge styles into RTL and reverse as needed.
* Fixes #1964 (trunk)
|
[4463]
|
johnjamesjacoby
|
Users:
* Update for profiles to support more theme widths.
* Update fields and description labels.
* Move favorite and subscription X's to before topic title, instead of creating another faux-column.
* Some HTML mark-up changes to support fixes.
* Merge styles into RTL and reverse as needed.
* Fixes #1964 (2.2 branch)
|
[4189]
|
johnjamesjacoby
|
Users:
* Update behavior of is functions for favorites and subscriptions to use parsed query variables.
* Introduce functions for getting the rewrite ID's.
|
[4370]
|
johnjamesjacoby
|
Users:
* Update _is_ functions for user_status (spam|deleted)
* Remove check of 'user_status' column value, since core only uses 'spam' and 'deleted' now.
* Fixes issue where a 'user_status' setting would produce a false positive.
|
[4477]
|
johnjamesjacoby
|
Users:
* Remove old twentyten filter name in user-details.php. (trunk)
|
[4478]
|
johnjamesjacoby
|
Users:
* Remove old twentyten filter name in user-details.php. (2.2 branch)
|
[4466]
|
johnjamesjacoby
|
Users:
* Reference correct template part in single-user-edit.php.
* Fixes #2045 (trunk)
|
[4467]
|
johnjamesjacoby
|
Users:
* Reference correct template part in single-user-edit.php.
* Fixes #2045 (2.2 branch)
|
[4242]
|
johnjamesjacoby
|
Users:
* In bbp_parse_query, bail if displayed user is not a member of current blog, or no longer active.
|
[4465]
|
johnjamesjacoby
|
Users:
* Fix misspelling and update doc in user-topics-created.php.
* Props netweb.
* Fixes #2048 (trunk)
|
[4464]
|
johnjamesjacoby
|
Users:
* Fix misspelling and update doc in user-topics-created.php.
* Props netweb.
* Fixes #2048 (2.2 branch)
|
[4389]
|
johnjamesjacoby
|
Users:
* Fix incorrectly classed replies link in user profiles navigation.
* Props netweb.
* Fixes #2019.
|
[4191]
|
johnjamesjacoby
|
Users:
* First pass at updating bbp-theme-compat for new favorites/subscriptions template behavior.
* Removes query name usage from templates.
|
[4188]
|
johnjamesjacoby
|
Users:
* Add options and functions for user favorites and subscriptions slugs.
|
[4670]
|
johnjamesjacoby
|
Users on single-site installations can have all-numeric usernames, causing profile URLs like '/forums/users/55555/' to be parsed incorrectly.
In bbp_parse_query(), check the 'permalink_structure' option before checking if the 'bbp_user' WP query variable is not numeric.
This has the potentially negative side-effect of not being able to use the query-var with a numeric user ID when using pretty permalinks, but that was never intended behavior anyways.
Fixes #2136.
|
[6105]
|
johnjamesjacoby
|
User: Remove `_doing_it_wrong()` notice from `bbp_setup_current_user()`.
The current user is always bootstrapped early in WordPress 4.7, so this notice is no longer valid.
An update for bootstrapping dynamic roles is imminent.
See #2309.
|
[2625]
|
johnjamesjacoby
|
User cap checks on reply and topic handlers.
|
[4256]
|
johnjamesjacoby
|
User Profiles:
* In theme compat, force the header status back to 200 if not deliberately set to 404.
* Fixes #1973.
|
[4233]
|
johnjamesjacoby
|
User Profiles:
* Fix padding on user profile avatar.
* Update RTL CSS for user profiles.
* Props jaredatch.
* Fixes #1960.
|
[4229]
|
johnjamesjacoby
|
User Profile templates:
* Change "Topics Created" to "Topics Started" to not be confused with "Replies Created"
|
[6359]
|
johnjamesjacoby
|
User Options: Clean-up favorites & subscriptions from options,
|
[4195]
|
johnjamesjacoby
|
User Options:
* Update phpdoc for bbp_add_user_options()
* Pass $user_id into action when adding and removing options.
|
[3911]
|
johnjamesjacoby
|
User Options:
* Introduce bbp-user-options.php to handle all user option related code.
* Add $user_options array to main bbPress class to allow for easy, static, per-user option overrides.
* Tweak action order for option and user_option overrides in bbp-core-hooks.php.
* Replace all appropriate user_meta calls with user_option calls to automatically prefix keys with blog ID.
* Update favorites, subscriptions, and topic/reply count option keys to be per-blog in multisite configurations.
* Fixes #1826.
|
[4227]
|
johnjamesjacoby
|
User Edit:
* Use $name variable instead of literal 'name' text in form-user-edit.php.
* Fixes issue with displaying and saving extra user contact methods.
* Fixes #1955.
* Props piecheff.
|
[4197]
|
johnjamesjacoby
|
User Edit:
* Tweak capabilities CSS.
* Also include RTL styling.
|
[4275]
|
johnjamesjacoby
|
User Edit:
* Switch form-user-edit.php enctype to 'multipart/form-data'
* More easily enables plugins to interface with binary data, uploads, etc...
* Hat-tip jakemgold.
|
[3988]
|
johnjamesjacoby
|
User Edit:
* Rework bbp_check_user_edit() to redirect by default, and make users earn the ability to edit other users.
* Fix issue where non-admin users of multisite networks cannot edit their own profiles.
* Fixes #1855.
|
[4196]
|
johnjamesjacoby
|
User Edit:
* Load grant/revoke super admin functions if they are not available.
* Remove empty user role check, as all users will have default roles going forward.
* Tweak input/label CSS when editing a user profile.
|
[4274]
|
johnjamesjacoby
|
User Edit:
* Introduce bbp_user_edit_after() to handle additional core actions on profile edit.
* Hat-tip jakemgold for noticing they were missing.
|
[4276]
|
johnjamesjacoby
|
User Edit:
* Hook bbp_user_edit_after() on to 'bbp_user_edit_after' action.
* Hat-tip jakemgold.
|
[3918]
|
johnjamesjacoby
|
User Edit:
* Add missing bbp_is_user_home_edit() function and use where appropriate.
* Add bbp_is_user_home_edit() checks to is_bbpress() and body class.
|
[5131]
|
johnjamesjacoby
|
Use wrapper functions introduced in r5130 for custom post-types and taxonomy.
|
[4992]
|
johnjamesjacoby
|
Use wp_update_post() in bbp_update_reply_position(), instead of $wpdb->update(). Ensures that post caches are cleared when manually updating a reply position via its menu_order property. See #2351.
|
[3921]
|
johnjamesjacoby
|
Use trailingslashit() in bbp_locate_template() to prevent double slashes.
|
[3208]
|
johnjamesjacoby
|
Use the raw_url on login redirect if one is passed. Otherwise check if $url both empty or is sending the user to admin_url(), and default to home_url() to prevent users from being bounced into the admin area unexpectedly. See #1530.
|
[4978]
|
johnjamesjacoby
|
Use the forum content in search results, and not the_excerpt() to avoid recursed calls to 'the_content'. See #2343.
|
[4763]
|
johnjamesjacoby
|
Use the correct variable name in bbp_add_template_stack_locations(). See r4762.
|
[5004]
|
johnjamesjacoby
|
Use the correct filter ID string in bbp_get_forum_pagination_count(). Props mrcl. Fixes #2362.
|
[5005]
|
johnjamesjacoby
|
Use the correct array index string in bbp_get_breadcrumb() ( 'current_text' VS 'pre_current_text' ). Props mrcl. Fixes #2361.
|
[5462]
|
johnjamesjacoby
|
Use the correct `EMPTY_TRASH_DAYS` const.
|
[5521]
|
netweb
|
Use tabs not spaces for indentation in `Kunena1.php`
|
[5021]
|
johnjamesjacoby
|
Use string values when comparing against super globals. Regression introduced in r4995. See #2358.
|
[4995]
|
johnjamesjacoby
|
Use strict comparisons where possible (excluding the converter code, as it needs dedicated testing.) See #2358.
|
[5022]
|
johnjamesjacoby
|
Use strict comparisons in bbp_toggle_topic_handler(). See #2358.
|
[2480]
|
PeteMall
|
Use sprite image for top level admin menu icons.
|
[5134]
|
johnjamesjacoby
|
Use rewrite ID helper functions instead of hardcoded strings.
|
[4981]
|
johnjamesjacoby
|
Use raw user-data values in bbp_edit_user_handler(). See #1999.
|
[3813]
|
johnjamesjacoby
|
Use proper permalink in bbp_get_user_favorites_link(). Props jaredatch. Fixes #1790.
|