[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.
|
[5899]
|
johnjamesjacoby
|
Tools: Use `_admin_search_query()`. See #2841.
|
[5892]
|
johnjamesjacoby
|
Tools: Add `id` attribute to "Run" link. Props tharsheblows. See #2841.
|
[5886]
|
johnjamesjacoby
|
Topics: First pass at metabox for replies in single-topic edit
* Includes `topic-replies` list-table class
* Includes helper functions for hooking things in
* Todo: cap checks or row-actions, maybe bulk-actions, formatting clean-up
See #2842.
|
[5885]
|
johnjamesjacoby
|
Tools: Update "Repair Tools" to use a list-table UI:
* Includes helper functions for: search, filtering, and bulk actions
* Improves tool registration by including strings and feedback into an array stored in `bbpress()->admin->tools`
* Introduces "Overhead" property for alerting Key Masters to the performance impact running each tool
* Introduces "Components" properties for identifying which counts what tools are intersecting
* Todo: use a `WP_List_Table` subclass (which bbPress has avoided needing until now)
See #2841.
|
[5884]
|
johnjamesjacoby
|
Admin: Update `h2` to `h1` and remove `icon32` compatibility.
This changeset improves accessibility and brings bbPress's admin area headers up to par with WordPress 4.3.
Fixes #2840. See #WP31650.
|
[5868]
|
johnjamesjacoby
|
Strings: prefer `—` over parenthesis when wrapping "No" style results.
This changeset normalizes the strings used to pick the parent of a forum, topic, and reply. The `—` may be changed later to improve localization, but for now this provides a good balance of visual separation and familiar UX.
|
[5867]
|
johnjamesjacoby
|
Strings: Switch from "Freshness" to "Last Post" in the `default` theme-compatibility templates.
This changeset updates the column header text used to describe the last activity of a forum/category or topic in bbPress's `default` theme-compatibility (which includes details beyond just the timestamp) making "Last Post" more contextually accurate compared to "Freshness" which still makes sense within the dashboard (which currently only shows the timestamp.)
Fixes #2031.
|
[5866]
|
johnjamesjacoby
|
Prefer `current_filter()` over `current_action()` to maintain compatibility with WordPress versions older than 3.9. Fixes #2529.
|
[5860]
|
johnjamesjacoby
|
Topics: fallback on `post_parent` in `bbp_update_topic_walker()`.
This changeset fixes a bug where forum topic counts were not updated when topics were permanently deleted, causing hidden topic counts to be wildly inaccurate.
Props thebrandonallen. Fixes #2529.
|
[5859]
|
johnjamesjacoby
|
Replies: fallback on `post_parent` in `bbp_update_reply_walker()`.
This changeset fixes a bug where topic reply counts were not updated when replies were permanently deleted, causing hidden reply counts to be wildly inaccurate.
Props thebrandonallen. Fixes #2529.
|
[5858]
|
johnjamesjacoby
|
Queries: Clean up post status concatenation in 2 queries.
This changeset moves array of "hidden" type post-statuses into their own variable to better match existing usages.
Fixes #2826.
|
[5857]
|
johnjamesjacoby
|
BuddyPress: Check for missing activity component when looking for an activity stream item.
This changeset fixes a bug that would result in duplicate activity stream items when editing a topic or reply.
Props r-a-y. Fixes #2690.
|
[5856]
|
johnjamesjacoby
|
Forums: Introduce `bbp_update_forum_visibility` action in `bbp_save_forum_extras()`
This changeset provides custom visibilites with an execution point to perform their own actions.
Fixes #2740.
|
[5855]
|
johnjamesjacoby
|
Forums: Fix copy-pasta filter names.
This changeset corrects filters used in 2 `apply_filters()` calls to properly match their function names.
Props netweb. Fixes #2688.
|
[5854]
|
johnjamesjacoby
|
Templates: Add before & after hooks to user templates parts.
This changeset makes it easier to add custom text & HTML before & after user details.
Props netweb. Fixes #2537.
|
[5853]
|
johnjamesjacoby
|
Moderation: reduce moderation restriction from `keep-gate` to `moderate` in `bbp_check_for_moderation()`.
This changeset ensures that moderators are able to bypass the forum moderation, seeing as how they can self-approve topics & replies anyways.
Props netweb. Fixes #2726.
|
[5852]
|
johnjamesjacoby
|
Capabilities: add `delete_posts` mappings to `delete` topic & reply checks.
This changeset ensures that capable users can delete their own topics & replies, when these capabilities are explicitly allowed already.
Props netweb, gusrb84. Fixes #2685.
|
[5851]
|
johnjamesjacoby
|
Admin: Check that the user can view the About page before adding the toolbar item.
This changeset ensures that only capable users will see the link to bbPress's admin-area "About" page.
Props ocean90. Fixes #2836.
|
[5850]
|
johnjamesjacoby
|
Admin: Add `hidden_post_status` field back to topic & reply metaboxes, and use `draft` or current post status as value.
This changeset fixes a bug that caused topics & replies to be marked as edited when moderated via `wp-admin`.
Hat-tip tharsheblows. Fixes #2741.
|
[5849]
|
johnjamesjacoby
|
BuddyPress: Add all topic statuses to `bbp_filter_modify_page_title()`.
This changeset fixes a bug that only allowed published topics to be queried in group forums.
Props netweb. Fixes #2699.
|
[5848]
|
johnjamesjacoby
|
BuddyPress: Pass the currently logged in user ID when creating toolbar links. See #2713.
|
[5847]
|
johnjamesjacoby
|
BuddyPress: Do not filter admin toolbar URLs if not on BuddyPress root blog.
This changeset addresses a multisite implementation issue where user profiles would link to invalid URLs when BuddyPress is network activated and bbPress is active on the non-root blog.
Props imath. Fixes #2713.
|
[5846]
|
johnjamesjacoby
|
BuddyPress: Do not filter profile URLs if not on BuddyPress root blog.
This changeset addresses a multisite implementation issue where user profiles would link to invalid URLs when BuddyPress was network activated and bbPress was active on the non-root blog.
Props imath. See #2713.
|
[5845]
|
johnjamesjacoby
|
Widgets: Add class to forum widget to indicate if item in list is the current forum being viewed.
Props dimitrov.adrian, netweb. Fixes #2536.
|
[5844]
|
johnjamesjacoby
|
Add unit test for last topic & reply ID's for topics & forums. Fixes #2806. Props netweb.
|
[5843]
|
johnjamesjacoby
|
Installation: When creating initial content, use the same `current_time( 'mysql' )` for all new posts.
This changeset prevents the related unit test from incorrectly failing by ensuring that no initial content is created 1 second after any other.
|
[5842]
|
johnjamesjacoby
|
IDs: Some reply functions still default to their topics if no replies are present. This functionality has slowly been removed over time and built into respective functions. In this changeset, we remove those leftover assignments and update a few phpdoc descriptions as needed.
Hat-tip netweb. See #2806.
|
[5841]
|
johnjamesjacoby
|
Moderation: Fix some copy-pasta and make sure form terms are formatted correctly. See #459.
|
[5840]
|
johnjamesjacoby
|
In `BBP_Akismet::filter_post_terms()` use `bbp_get_topic_tag_names()` to use cached function instead of querying for object terms.
|
[5839]
|
johnjamesjacoby
|
Moderators: Rename `bbp_get_forum_mod_ids()` to `bbp_get_forum_moderator_ids()` to better match unabbreviated forum equivalent. Also update phpdoc & refactor some logic to use cached functions. See #459.
|
[5838]
|
johnjamesjacoby
|
Moderators: Introduce functions for theme-side setting & getting of forum mods for `form-forum.php`. See #459.
|
[5837]
|
johnjamesjacoby
|
Terms: Update functions for getting terms & term names to be more flexible & reusable by other functions. See #459.
|
[5836]
|
johnjamesjacoby
|
Moderators: Add forum moderators field to `form-forum.php` template part. See #459.
|
[5835]
|
johnjamesjacoby
|
Moderators: Introduce `none` argument for topic-tags & forum-mods list functions.
This change allows for passing text or HTML to output if no taxonomy terms are found, and uses this new functionality in `wp-admin` to show per-forum moderators in the list-table column, also reducing code duplication.
See #459.
|
[5834]
|
johnjamesjacoby
|
Moderators: First pass at per-forum moderators.
This commit introduces a powerful feature commonly found in other popular forum software that has been on our wishlist for nearly 9 years. It includes the following changes:
* Custom `forum-mod` taxonomy for assigning user nicenames to forum IDs
* Associated functions for defining capabilities, labels, etc...
* New capability filters for ensuring forum moderators have the ability to moderate forums even without the `moderator` role assignment
* New option for toggling the entire feature on/off (on by default)
Props jmdodd, netweb. See #459.
|
[5833]
|
johnjamesjacoby
|
Add ability to use icons as column headers ala Comment bubbles (off by default.)
|
[5832]
|
johnjamesjacoby
|
Add future support for forum/topic/reply dashicon column headers to `admin.css`.
|
[5829]
|
johnjamesjacoby
|
I think this building should be condemned. There's serious metal fatigue in all the load-bearing members, the wiring is substandard, it's completely inadequate for our power needs, and the neighborhood is like a demilitarized zone.
|
[5828]
|
johnjamesjacoby
|
Akismet: Clean up potential accidental inline assignment in `BBP_Akismet::check_post()`.
This commit moves a variable assignment out of a comparison to improve code clarity.
|
[5827]
|
johnjamesjacoby
|
Abstraction: Use `bbp_db()`, `bbp_rewrite()` & friends, introduced in r5823 & r5826.
This commit improves the stability of bbPress in the WordPress environment by reducing global variable exposure. It also comes with minimal opcode improvements in some circumstances where `$GLOBALS` is preferred over defining via `global` statements.
Some additional surrounding cleanup directly related to functions & methods being altered is also being performed here.
Fixes #2786.
|
[5826]
|
johnjamesjacoby
|
Introduce `bbp_get_global_object()` to help with verifying & retrieving global variables before interacting with them. See #2786.
|
[5825]
|
johnjamesjacoby
|
Update incorrect phpdoc block in `bbp_update_reply_position()`.
|
[5824]
|
johnjamesjacoby
|
Remove incorrect `@global` tag in `BBP_Akismet::submit_post()`.
|
[5823]
|
johnjamesjacoby
|
Introduce `core/abstraction.php` to provide a layer of protection against touching common WordPress global variables directly.
This commit introduces a few new helper functions to protect sensitive global variables, and also introduces the ability to filter and override them explicitly within the scope of the bbPress plugin. These functions will be used in place of existing global touches in future commits.
See #2786.
|
[5822]
|
johnjamesjacoby
|
BuddyPress: Use `bbp_get_paged_slug()` instead of `$wp_rewrite->pagination_base` directly.
|
[5821]
|
johnjamesjacoby
|
Make a statement without saying a word. (!)
|
[5820]
|
johnjamesjacoby
|
Queries: Remove `post_parent__in` query-parameter filter.
This commit removes the `bbp_query_post_parent__in()` filter that was introduced in r2996, and uses WordPress core's built in query parameters introduced in #WP11056.
Fixes #2832.
|
[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.
|
[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)
|
[5809]
|
johnjamesjacoby
|
Admin: Remove `_nopriv_` ajax actions.
This commit ensures that admin-area AJAX suggestion results are never presented to logged-out users.
(Note: these requests already have nonce & capability checks on them, so this bit of hardening is only useful to installations that have modified roles & capabilities outside of what is considered to be normal operating parameters, allowing logged-out users to also be forum moderators.)
Hat-tip glynwintle. See #2827. For 2.6.0 (trunk)
|
[5808]
|
johnjamesjacoby
|
Admin: Remove `_nopriv_` ajax actions.
This commit ensures that admin-area AJAX suggestion results are never presented to logged-out users.
(Note: these requests already have nonce & capability checks on them, so this bit of hardening is only useful to installations that have modified roles & capabilities outside of what is considered to be normal operating parameters, allowing logged-out users to also be forum moderators.)
Hat-tip glynwintle. See #2827. For 2.5.8 (2.5 branch)
|
[5807]
|
johnjamesjacoby
|
BuddyPress Groups: Backport r5560 to 2.5 branch (for 2.5.8) for improved PHP5 compatibility and to avoid a debug notice.
Props boonebgorges.
|
[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)
|
[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)
|
[5802]
|
johnjamesjacoby
|
Always predefine `$args` as an array, for code consistency across all components.
|
[5775]
|
johnjamesjacoby
|
Inserts: When inserting a forum/topic/reply, immediately update the new object so hierarchy is refreshed.
This commit addresses the last active post ID being incorrect after inserting topics and replies to a forum, and fixes a failing test (in `BBP_Tests_Core_Update::test_bbp_create_initial_content`).
See #2805.
|
[5774]
|
johnjamesjacoby
|
Cache: Much more sane cache invalidation.
This change improves hierarchical forum/topic/reply cache invalidations by not requiring each call to be strategically placed between actions to avoid race conditions.
Props thebrandonallen. Fixes #2800.
|
[5772]
|
johnjamesjacoby
|
Add `.htaccess`, `.DS_Store`, and `.gitignore` to `.gitignore`, taking influence from WordPress core.
Hat-tip netweb. See #2802.
|
[5771]
|
johnjamesjacoby
|
Set `svn-autoprops`.
This was introduced in Subversion 1.8 specifically to allow common properties for all present and future files in the project, and avoids setting individual properties on most files and prevents errors from skipping properties when new files are introduced.
Hat-tip DJPaul. See r5770, #2802.
|
[5770]
|
johnjamesjacoby
|
Tidy up SVN properties.
* This first steps removes `svn:eol-style`, `svn:executable`, `svn:mime-type` on all files.
* The `svn:ignore` and `svn:global-ignores` properties have been tidied up to match WordPress core.
* A subsequent commit will re-instate `svn:mime-type` via `svn:auto-props`.
Hat-tip DJPaul. See #2802.
|
[5739]
|
johnjamesjacoby
|
Common: Improve type-casting return values in query functions.
Props thebrandonallen, netweb. See #2801.
|
[5738]
|
johnjamesjacoby
|
Topics: Improve type-casting in topic functions.
Props thebrandonallen, netweb. See #2801.
|
[5737]
|
johnjamesjacoby
|
Replies: Improve type-casting in reply functions. Also use newly created `bbp_update_reply_to_id()` function in `bbp_update_reply_to()`.
Props thebrandonallen, netweb. See #2801.
|
[5736]
|
johnjamesjacoby
|
Core: Correct phpdoc to `_update_` functions. Also introduce `bbp_update_reply_to_id()` to help with saving of hierarchical reply metadata. (Will be used in a future commit.)
|
[5735]
|
johnjamesjacoby
|
Core: Return the filtered results of ID's in core `_update_` functions.
This helps with various type-casting improvements going into #2801.
|
[5734]
|
johnjamesjacoby
|
Forums: Type-cast improvements to `bbp_forum_query_last_reply_id()`.
Fixes bug where strict `false` comparison would cache cache condition to never occur.
Props thebrandonallen, netweb. See #2801.
|
[5733]
|
johnjamesjacoby
|
Core: Force-clear post caches on several common moderation actions.
Fixes inconsistencies around cached objects related to counts, which are currently stored in metadata.
Props thebrandonallen, netweb. See #2801.
|
[5732]
|
johnjamesjacoby
|
Bumps: Normalize type-casting in bump functions.
Props thebrandonallen, netweb. See #2801.
|
[5731]
|
johnjamesjacoby
|
Forums: Normalize type-casting in some count functions. More to do here.
Props thebrandonallen, netweb. See #2801.
|
[5730]
|
johnjamesjacoby
|
Common: Additional type-casting in query functions.
Ensures direct query results return a consistent, testable value.
Props thebrandonallen, netweb. See #2801.
|
[5729]
|
johnjamesjacoby
|
Topics: In `bbp_move_topic_handler()`, clean both old and new forum caches before updating forum hierarchies.
Fixes issue where moving a topic would result in incorrect counts for both forums, due to out-of-date cache values.
Props thebrandonallen. Fixes #2322.
|
[5711]
|
johnjamesjacoby
|
Common: Use `esc_url()` in `bbp_redirect_to_field()` and late escape for clarity.
|
[5709]
|
johnjamesjacoby
|
Topics: Filter `bbp_get_forum_topic_count_hidden` to format the output, to match other count functions.
|
[5708]
|
johnjamesjacoby
|
Tests: Fix more of the tests. See r5703.
|
[5706]
|
johnjamesjacoby
|
Tests: Fix all of the tests but 2, which are todo's. See r5703.
|
[5705]
|
johnjamesjacoby
|
Topics: Check for correct `$integer` request value, so the correct filter is applied. Fixes #2791.
|
[5698]
|
johnjamesjacoby
|
Update `get` version of `wp_login_action`.
|
[5697]
|
johnjamesjacoby
|
Tag 2.5.7 from 2.5 branch.
|
[5696]
|
johnjamesjacoby
|
Include `2.5.7` in `readme.txt` changelog (for trunk) and bump stable tag
|
[5695]
|
johnjamesjacoby
|
Update `bbpress.pot` in 2.5 branch.
|
[5694]
|
johnjamesjacoby
|
Bump 2.5 branch to 2.5.7
|
[5693]
|
johnjamesjacoby
|
All: ensure all URLs are escaped part 2 (2.5 branch)
|
[5692]
|
johnjamesjacoby
|
All: ensure all URLs are escaped (2.5 branch)
|
[5691]
|
johnjamesjacoby
|
All: ensure all URLs are escaped (trunk) and cleanup some phpdoc
Also introduce `bbp_dropdown` class for dropdowns.
|
[5689]
|
johnjamesjacoby
|
Templates: Micro-optimizations:
* Remove trailing `?>` tag in some template parts
* Remove preceding `?> <?php` in some template parts, after phpdoc header
* Remove whitespace where superfluous
* Reduce number of indentations in some template parts
|
[5688]
|
johnjamesjacoby
|
Templates: Escape all gettext output in `default` template parts. See #1999.
|
[5685]
|
johnjamesjacoby
|
Common: Login actions:
* Extract functionality from `bbp_wp_login_action()` into a getter: `bbp_get_wp_login_action()`
* Update arguments in`bbp_get_wp_login_action()` to include optional `url` override
* Pass original `$args` into login action filter
* Also improve support for empty separator in breadcrumbs
|
[5684]
|
johnjamesjacoby
|
General: Use `sanitize_text_field()` in lieu of old-bbPress style pre-escaping technique.
|
[5683]
|
johnjamesjacoby
|
Forums: Audit `template.php`:
* General code formatting improvements
* Pass `$args` into more filters
* Escape more gettext output
* Un-nest a few complex-looking lines
|
[5682]
|
johnjamesjacoby
|
Topics: Move `is_sticky` functions to above open/closed functions
|
[5681]
|
johnjamesjacoby
|
Topics: Use `sanitize_key()` on `select_id` in dropdown helpers.
|
[5680]
|
johnjamesjacoby
|
Topics: Audit `template.php`:
* Add filters to `is_sticky` functions
* Pass `$args` into more filters
* Escape more gettext output
* Fix a few `bbp_parse_args` filter names copied from forums component
* Un-nest a few complex-looking lines
|
[5676]
|
johnjamesjacoby
|
All: Update default values for `$args` parameters from empty strings to empty arrays.
This is a micro-optimization to avoid unnecessary calls to `wp_parse_str()` inside `bbp_parse_args()`.
|
[5675]
|
johnjamesjacoby
|
Replies: Normalize admin links:
* Remove superfluous `(int)` type casts
* Pass `$args` into filters
* Use `bbp_get_edit_rewrite_id()` where applicable
* Whitespace beside `!` operators
|
[5674]
|
johnjamesjacoby
|
Topics: Normalize admin links:
* Remove superfluous `(int)` type cast
* Pass `$args` into filters
* Use `bbp_get_edit_rewrite_id()` where applicable
|
[5666]
|
johnjamesjacoby
|
Users: Add missing textdomains to new strings. See #2780.
|
[5665]
|
johnjamesjacoby
|
Users: Update filter name in `bbp_edit_user_email_send_notification()` to be a bit more clear. See #2780.
|
[5664]
|
johnjamesjacoby
|
Users: Clean up email message string replacements in `bbp_edit_user_email_send_notification()`. See #2780.
|