[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.
|
[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.
|
[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.
|
[5661]
|
johnjamesjacoby
|
Users: Introduce `bbp_notice_edit_user_email_change()` to notify user of a pending email address change to their account. See #2780.
|
[6594]
|
johnjamesjacoby
|
Users: Offer the login form in place of topic/reply forms if user is logged out.
|
[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)
|
[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)
|
[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.
|
[5660]
|
johnjamesjacoby
|
Users: Remove pending email change markup from `form-user-edit.php`. See #2780.
|
[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.
|
[6057]
|
johnjamesjacoby
|
Users: Revert accidental removal of r6051, r6052, from r6056.
|
[6512]
|
johnjamesjacoby
|
Users: Sanitize name, email, and website in `bbp_filter_anonymous_post_data()`.
2.5 branch, for 2.5.13.
|
[5971]
|
netweb
|
Users: The `user.js` file should have a blank newline at the end of file
Fixes #2907.
|
[6111]
|
netweb
|
Users: Update PHPDoc's for user functions and capabilities.
See #2959.
|
[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.
|
[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.
|
[5665]
|
johnjamesjacoby
|
Users: Update filter name in `bbp_edit_user_email_send_notification()` to be a bit more clear. See #2780.
|
[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.
|
[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.
|
[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.
|
[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
|
[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.
|
[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.
|
[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.
|
[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.
|
[7288]
|
johnjamesjacoby
|
Users: bail early out of profile-update if also during user sign-up.
This change ensures that the `bbp_profile_update_role()` function does not unintentionally run during user registration.
Props mungah, h1-2999394.
In branches/2.6, for 2.6.12.
|
[7289]
|
johnjamesjacoby
|
Users: bail early out of profile-update if also during user sign-up.
This change ensures that the `bbp_profile_update_role()` function does not unintentionally run during user registration.
Props mungah, h1-2999394.
In trunk, for 2.7.
|
[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.
|
[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.
|
[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.
|
[6817]
|
johnjamesjacoby
|
Users: make sure "Forum Role" is next to "Site Role" in User's List Table.
This change comes with a CSS tweak to keep the role column at 15% width, and bumps the asset version accordingly.
|
[6241]
|
johnjamesjacoby
|
Users: more `bbp_get_current_user_id()` usages, and docs to explain why it's not used in some places.
|
[6421]
|
johnjamesjacoby
|
Users: move Engagements API into its own `engagements.php` file.
`/users/functions.php` is getting a bit gnarly.
|
[7031]
|
johnjamesjacoby
|
Users: move `_new_email` from options to usermeta.
This commit brings bbPress up-to-date with how WordPress tracks changes to email addresses. It includes a small bit of styling to add emphasis to the email address inside the standard notice wrapper.
See #3306. For 2.6.4, branches/2.6.
|
[7032]
|
johnjamesjacoby
|
Users: move `_new_email` from options to usermeta.
This commit brings bbPress up-to-date with how WordPress tracks changes to email addresses. It includes a small bit of styling to add emphasis to the email address inside the standard notice wrapper.
See #3306. For 2.7, trunk.
|
[6422]
|
johnjamesjacoby
|
Users: move user relationships functions into `engagements.php`.
|
[7027]
|
johnjamesjacoby
|
Users: register the `_bbp_last_posted` meta key.
This commit ensures that the meta key used to check if a user needs to be slowed down is registered.
See #3305. For 2.6.4, branches/2.6.
|
[7028]
|
johnjamesjacoby
|
Users: register the `_bbp_last_posted` meta key.
This commit ensures that the meta key used to check if a user needs to be slowed down is registered.
See #3305. For 2.7, trunk.
|
[7145]
|
johnjamesjacoby
|
Users: update HTML class of user-profile.php template part.
This commit fixes a duplicated class in the user profile output, from `bbp-user-topic-count` to `bbp-user-last-activity`.
In branches/2.6, for 2.6.6. See #3394.
Props netweb.
|
[7146]
|
johnjamesjacoby
|
Users: update HTML class of user-profile.php template part.
This commit fixes a duplicated class in the user profile output, from `bbp-user-topic-count` to `bbp-user-last-activity`.
In trunk, for 2.7. Fixes #3394.
Props netweb.
|
[6708]
|
johnjamesjacoby
|
Users: use `bbp_set_user_role()` in `bbp_set_current_user_default_role()`.
This change makes sure forum users only have 1 forum role, subsequently calling the `bbp_set_user_role` filter where expected. This will fix a rare situation where a weird role map could cause the default role to be re-added.
|
[6841]
|
johnjamesjacoby
|
Users: use returning variant of anonymous data functions (instead of echo'ing)
This change makes sure that anonymous user data (name & url) is not prematurely put out to the page when a topic or reply was authored by an anonymous user.
(See r6741 where email was similarly corrected.)
Props wpdennis. Fixes #3212.
|
[2880]
|
johnjamesjacoby
|
Validate forum and topic ID's in bbp_get_reply_topic_id and bbp_get_reply_forum_id functions
|
[5523]
|
netweb
|
Vanilla forum importer:
* Use the correct `callback_forumid` callback for reply forum ID's.
* Add support for importing Vanilla 'Announcements' as bbPress 'Sticky' topics
|
[5149]
|
netweb
|
Vanilla importer improvements. Props netweb. Fixes #2466
* Add Topic total reply count
* Add Reply slug
|
[5537]
|
netweb
|
Vanilla2 importer improvements:
* Don't import Vanilla 2's deleted topic or replies as both topic and reply content is deleted resulting in fragmented topic context
* Use `callback_topicid_to_forumid` to convert replies parent topic id to forum id eliminating a SQL join improving performance.
|
[5535]
|
netweb
|
Vanilla2: Don't import Vanilla 2's deleted users
|
[5542]
|
netweb
|
Vanilla2: Include anonymous topic and reply import support in `Vanilla.php` importer
Props netweb. See #2347
|
[2900]
|
johnjamesjacoby
|
Various style improvements to reply and topic table row padding and borders.
|
[4221]
|
johnjamesjacoby
|
Verbiage:
* Remove "at this time" in feedback areas where it's not a time based restriction.
* Removes from theme compat and bbp-twentyten.
|
[3407]
|
johnjamesjacoby
|
Version the theme compat CSS, and add overflow: auto; to RTL styling.
|
[4310]
|
johnjamesjacoby
|
Version:
* Bump to beta 1.
* Update bbp_version_updater() for new db version (216)
|
[3982]
|
johnjamesjacoby
|
Versions:
* Bump to 2.1-r3981.
* Bump requires/tested in readme.txt to 3.4.
|
[3948]
|
johnjamesjacoby
|
Versions:
* Bump version to 2.1-r3947.
* Set _bbp_db_version in bbp_get_default_options() to bbPress::db_version.
|
[4202]
|
johnjamesjacoby
|
Versions:
* Remove inline comments in bbpress.php.
|
[7264]
|
johnjamesjacoby
|
Views: do not trap RSS feeds for unregistered views
This change adds a check inside of `bbp_request_feed_trap()` that only allows `bbp_display_topics_feed_rss2()` to happen if query-arguments exist for the slug of the view that is being requested.
Without this check in place, the view unintentionally includes all topics, because no additional arguments are passed into `bbp_has_topics()`.
Fixes #3544.
Props dd32.
In branches/2.6, for 2.6.10.
|
[6310]
|
johnjamesjacoby
|
Voices: Only update voice counts when saving or deleting.
Prevents overzealous recalculations of voice counts when it's not necessary or applicable.
Props thebrandonallen. See #1799.
|
[4150]
|
johnjamesjacoby
|
WP_Query:
* Audit WP_Query usage, and follow them up with wp_reset_postdata() as needed.
* Fixes issues with sidebars and widgets that can execute before the main query loop.
* For 2.1 branch
|
[4149]
|
johnjamesjacoby
|
WP_Query:
* Audit WP_Query usage, and follow them up with wp_reset_postdata() as needed.
* Fixes issues with sidebars and widgets that can execute before the main query loop.
* For 2.2
|
[7101]
|
johnjamesjacoby
|
Warnings: Prevent PHP warnings in Multisite Dashboards.
This commit wraps `bbp_current_screen` hooks around an `is_blog_admin()` call, to explicitly target the intended admin-area Site Dashboard.
This avoids some warnings from functions not existing, as a result of how `BBP_Admin` is currently invoked (on `bbp_init` for converting passwords.)
In branches/2.6, for 2.6.6.
|
[7102]
|
johnjamesjacoby
|
Warnings: Prevent PHP warnings in Multisite Dashboards.
This commit wraps `bbp_current_screen` hooks around an `is_blog_admin()` call, to explicitly target the intended admin-area Site Dashboard.
This avoids some warnings from functions not existing, as a result of how `BBP_Admin` is currently invoked (on `bbp_init` for converting passwords.)
In trunk, for 2.7.0.
|
[4911]
|
johnjamesjacoby
|
When activating bbPress, conditionally make the current user a Key Master, but only if they can already activate plugins, they are already a member of the current site, and they're not already a Key Master. Fixes activation issues some users experienced with old global access settings being turned off, preventing them from seeing bbPress configuration screens. (2.3 branch)
|
[4910]
|
johnjamesjacoby
|
When activating bbPress, conditionally make the current user a Key Master, but only if they can already activate plugins, they are already a member of the current site, and they're not already a Key Master. Fixes activation issues some users experienced with old global access settings being turned off, preventing them from seeing bbPress configuration screens. (trunk)
|
[4962]
|
johnjamesjacoby
|
When adding the reply_to link, only add onclick if threaded replies are enabled. See #2340.
|
[4905]
|
johnjamesjacoby
|
When adding/editing a reply, check the current forum status and visibility, and make sure the current user is able to post to it. Fixes an issue where replies could be posted to closed forums if the nonce check still passed. (2.3 branch)
|
[4906]
|
johnjamesjacoby
|
When adding/editing a reply, check the current forum status and visibility, and make sure the current user is able to post to it. Fixes an issue where replies could be posted to closed forums if the nonce check still passed. (trunk)
|
[5338]
|
johnjamesjacoby
|
When calculating a new reply position, ensure we are using raw, unformatted integers. Fixes bug where formatted numeric strings (I.E. with commas; eg: 1,532) were being passed to the `menu_order` property, causing broken pagination on topics with over 1k replies. Fixes #2556.
|
[4724]
|
johnjamesjacoby
|
When calculating the child forum count, check all post ID's with matching parents instead of only public ones. Helps fix bug causing private and hidden forums to not appear. In the future, this could be handled better, without hardcoded post status checks. See #2085.
|
[4752]
|
johnjamesjacoby
|
When calling WP_Roles->add_role() directly, make sure that bbPress's roles and caps have been added. Addresses a bug related to the $wp_roles global being created too soon, or when attempting to add a role before $wp_roles has been properly initialized.
|
[5086]
|
johnjamesjacoby
|
When converting backticks to pre and code blocks, wrap pre's in new lines. Fixes inconsistent output between: the original posted content, formatted output, and editing content. See #2091.
|
[3409]
|
johnjamesjacoby
|
When creating a BuddyPress activity stream entry, save the activity ID to post meta so it can be conveniently edited or deleted later.
|
[5177]
|
johnjamesjacoby
|
When creating new replies, do not force them to have a title. This is new as of WordPress 3.7, to be more accommodating to post formats that don't cater to titles very well (image/status/video/etc...)
Until now, replies to topics have always shared the topic title (and incremental slugs) in common with each other. With this change, replies will now mostly be identified via their post ID. This helps with search results, and avoids some reply-slug confusion as to why they need to have titles or slugs at all.
Props alex-ye for the clever solution. Fixes #2291.
|
[4765]
|
johnjamesjacoby
|
When editing a reply from wp-admin, do not restrict post_parent to 0. Fixes issue where the forum of a reply could become out-of-sync when edited via wp-admin.
|
[2862]
|
johnjamesjacoby
|
When editing a topic/post, check for author_id() in bb_is_user_subscribed instead of the current_user. Fixes #1462.
|
[2861]
|
johnjamesjacoby
|
When editing a topic/post, hide subscription container for anonymous users.
|
[5035]
|
johnjamesjacoby
|
When editing a user and looping through their contact methods, pass the correct 'edit' context into bbp_displayed_user_field().
|
[3668]
|
johnjamesjacoby
|
When fully deleting a topic, all replies should be deleted also. Fixes #1718.
|
[3454]
|
johnjamesjacoby
|
When marking a topic as spam, remove its topic-tags and store them in post meta so they can be added again if needed. Disable bbp-twentyten topic-tag inputs to prevent capable users from resetting topic tags on spam topics.
|
[3017]
|
johnjamesjacoby
|
When merging two topics together, the destination topic post_date cannot be after the source topic or any merged replies. Fixes #1502. Props !GautamGupta for original patch.
|
[3488]
|
johnjamesjacoby
|
When moving a sticky topic to a new forum, forum sticky meta was not refreshed. Fixes #1626.
|
[4675]
|
johnjamesjacoby
|
When posting a new reply that does not have a 'publish' post status, only add it to topic-meta pre-spam/trash arrays if the topic status matches. Avoids accidental revealing of unpublished replies when toggling the topic status later.
|
[4986]
|
johnjamesjacoby
|
When posting long single lines of code (meaning pre tags are not used to aid in formatting) they will break onto several lines if they are longer than the container element allows.
This changeset tweaks the CSS to allow code tags to scroll, and limit the width to 95%. Fixes #2350.
|
[5038]
|
johnjamesjacoby
|
When posting to a BuddyPress Group Forum, update the group's last_activity. Props r-a-y. Fixes #2368.
|
[4895]
|
nacin
|
When preparing a search term for bb_get_title(), strip slashes, as our data comes directly from the slashed superglobals.
fixes https://core.trac.wordpress.org/ticket/17304.
|
[3841]
|
johnjamesjacoby
|
When querying sticky topics, include all statuses as dictated by the main query. Fixes #1809.
|
[4685]
|
johnjamesjacoby
|
When querying topics, use similar logic post_status/perm for stickies. See r4673. Fixes #2146.
|
[4731]
|
johnjamesjacoby
|
When repairing BuddyPress group forum relationships, also sync up the group forum status. Fixes #2089.
|
[5173]
|
johnjamesjacoby
|
When resetting the forums back to pre-import status, allow admins to delete imported users. This handles the clean up of a potentially botched import, while also helping revert a site back to a pre-bbPress configuration. Fixes #1889. Props netweb.
|
[5429]
|
netweb
|
When resetting the forums back to pre-import status, if we are not deleting imported users, we still need to delete existing user meta-data.
* r5174 originally implemented this as if/else, antiprops netweb
Fixes #2641. Props netweb
|
[3442]
|
johnjamesjacoby
|
When restoring a trashed topic, reverse the pre-trashed replies array and restore them chronologically so correct topic freshness is calculated. Fixes #1600.
|
[5011]
|
johnjamesjacoby
|
When saving a user's profile, their 'admin_bar_front' setting is accidentally wiped out by edit_user(), because the form field does not exist in bbPress's template parts.
In bbp_edit_user_handler(), check if the user has this setting; if so, add it to the $_POST superglobal to allow edit_user() to function normally.
Fixes #2364. Props imath.
|
[4795]
|
johnjamesjacoby
|
When searching forums, do not include posts that are outside of the logged in user's visibility scope. Also add some inline clarification to _bbp_has_replies_where() to help explain what some conditions are for. Hat tip alex-ye. Fixes #2221.
|
[3750]
|
johnjamesjacoby
|
When setting a forum as public, always check private and hidden forum options and remove forum_id if needed. Fixes #1757.
|
[4674]
|
johnjamesjacoby
|
When spamming a topic, save the currently published replies in topic meta and trash them. This prevents rogue replies from appearing in user profiles and searches that have no live parent topic.
Also add similar logic to new reply handler, to add reply to topic meta if replying to a previously spammed topic. This is rare, as the ability is restricted to capable users, but must be done to keep meta synchronized.
|
[4578]
|
johnjamesjacoby
|
When spamming or hamming a user, return true/false if action was successful. This will aid in future user moderation tools.
|
[5036]
|
johnjamesjacoby
|
When splitting a topic, correctly update the 'menu_order' property of the new topic post.
* Replace instances of 'post_position' with 'menu_order'
* Make sure 'menu_order' is 0
Props lakrisgubben. Fixes #2295.
|
[2989]
|
johnjamesjacoby
|
When splitting or merging topics, update the forum/topic meta values for each individual reply being moved. Fixes issue where reply meta values would fall out of sync when splitting or merging topics.
|
[4987]
|
johnjamesjacoby
|
When super sticky topics exist in private or hidden forums, they currently always appear in topic-index listings, even when the current user cannot access them.
This changeset adds 'post_parent__not_in' to the super-sticky post query parameters, to exclude topics that are within private/hidden forums the current user cannot access. Fixes #2173.
|
[2831]
|
johnjamesjacoby
|
When topics are deleted, recalculate the associated forum last active time. This includes possible subforums and walks up through parent forums setting the correct time.
|
[5405]
|
johnjamesjacoby
|
When topics are marked as spam, remove them from all favorites, subscriptions, and unstick them.
Fixes cases where spammed topic ID's are left behind in various meta values. Fixes #2621.
|