[6199]
|
johnjamesjacoby
|
Strings: Add `view_items` text for forums, topics, replies, and topic-tags.
This adds support for a label that is new to WordPress 4.7.
|
[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
|
[6197]
|
johnjamesjacoby
|
Metaboxes: Add metaboxes for viewing favorites & subscriptions of topics & replies.
* New functions for outputting avatars of users who have favved or subbed
* Use the `$post` parameter that's passed in, rather than using `get_the_ID()` again
* Use `require_once` as a language construct vs. `include_once()` as a function
* Pass `$post` object through to metabox subsequent filters vs just the ID
See #2959.
|
[6196]
|
johnjamesjacoby
|
Breathing room for all `!is_` usages.
|
[6192]
|
johnjamesjacoby
|
Fix formatting of query in `bbp_get_user_closed_topic_count()`, introduced in r6191.
|
[6191]
|
johnjamesjacoby
|
Audit direct query and `prepare()` usages, and more tightly adhere to best practices.
* No quotes around directives
* Avoid concatenation, prefer variable parsing in double-quoted strings
* Covers converters, helper functions, and tools
|
[6189]
|
johnjamesjacoby
|
Tools: Use `get_results()`, and don't delete usermeta.
(Maybe we should have a separate clean-up tool once it's confirmed to be OK.)
See #2959.
|
[6188]
|
johnjamesjacoby
|
Tools: Avoid duplicate entries for favorites & subscriptions.
This fixes a bug in the 2.6.0 upgrade routine where running the tool multiple times could add duplicate metadata.
See #2959.
|
[6187]
|
johnjamesjacoby
|
Admin: Add missing `@param`'s from r6186.
|
[6186]
|
johnjamesjacoby
|
Admin: Implement new loading sequence for major admin components.
* Introduce new `bbp_current_screen` sub-action
* Hook forums/topics/replies into `bbp_current_screen`
* Remove various `bail()` methods, which were fragile and terrible anyways
* Revert r6178, thanks to order-of-operation issues with `get_current_screen()`
* Remove Comments & Discussion metaboxes if `comments` is not explicitly supported
See #2959.
|
[6185]
|
johnjamesjacoby
|
Labels: Prefer "Add New" over "New Thing".
|
[6184]
|
johnjamesjacoby
|
Converter: Convert favorites & subscriptions to `postmeta` vs. `usermeta`.
* Update table names
* Support for comma-separated string values
* Use strict comparisons where it makes sense to
See #2959, #2668.
|
[6183]
|
johnjamesjacoby
|
Core: Upgrade routine for favorites & subscriptions in 2.6.0.
* Use the new upgrade tools
* Bump the DB version to `260`
* Improve inline docs in upgrade tool functions
See #2959.
|
[6182]
|
johnjamesjacoby
|
Tools: Explicitly pass `false` into `add_post_meta()`'s `$unique` parameter.
Though it's the default, we can't make any mistake that meta-key's to be non-unique for this to function correctly.
See #2959.
|
[6181]
|
johnjamesjacoby
|
Tools: Use `explode()` instead of `maybe_unserialize()`.
User-meta values were strings to enable `FIND_IN_SET()` usages.
See #2959.
|
[6180]
|
johnjamesjacoby
|
Extend: Consolidate some BuddyPress hooks to the top of each file.
|
[6178]
|
johnjamesjacoby
|
Tools: Update forum/topic/reply admin classes to avoid screens without `post_type` parameters.
Fixes edge-case debug notices when tools pages for third-party plugins are doing advanced things.
See #2959.
|
[6177]
|
johnjamesjacoby
|
Tools: Update tools text to include favorites & subscriptions.
See #2959.
|
[6176]
|
johnjamesjacoby
|
Tools: Massize clean-up
* Add missing function documentation blocks
* Rename `_migrate_` function to `_upgrade_`
* More typo fixes
* Make `overhead` values clickable in list table rows
* Refactor `overhead` to work more like `components`, using keys instead of literal strings
See #2959.
|
[6175]
|
johnjamesjacoby
|
Tools: Use `$total` count in `bbp_admin_migrate_user_favorites()`.
Also update revision number in function docs.
See #2959.
|
[6174]
|
johnjamesjacoby
|
Tools: First pass at upgrade tools for favorites & subscriptions.
* Registers 2 new repair tools
* Includes basic looping patterns for user-meta to post-meta
Needs testing and scrutiny.
See #2959.
|
[6173]
|
johnjamesjacoby
|
Tools: Add classes & data attributes to improve responsiveness.
|
[6172]
|
johnjamesjacoby
|
Extend: Fix a typo in docs.
|
[6169]
|
johnjamesjacoby
|
Tag bbPress 1.2.1 which adds some basic PHP7 compatibility. See #3033
|
[6151]
|
johnjamesjacoby
|
Update trunk readme.txt with updated version & changelog for 2.5.12.
|
[6150]
|
johnjamesjacoby
|
Tag 2.5.12.
|
[6149]
|
johnjamesjacoby
|
bbPress 2.5.12 requires WordPress 4.7, as will bbPress 2.6 and higher.
|
[6148]
|
johnjamesjacoby
|
Bump to 2.5.12.
|
[6147]
|
johnjamesjacoby
|
Roles: Port `bbp_roles_init()` from trunk to 2.5 branch. See: #3028.
|
[6144]
|
johnjamesjacoby
|
Whitespace removal.
|
[6143]
|
johnjamesjacoby
|
Topics: Break apart some lengthy inline conditions. See #3032.
|
[6142]
|
johnjamesjacoby
|
Moderation: First pass at improved topic toggle actions:
* Allow custom toggles, or replacement of existing toggles with new procedures
* Introduce a handful of actions & filters to enable the above
* Separate functionality into smaller, more manageable parts.
See #3032. (Forums @todo)
|
[6141]
|
johnjamesjacoby
|
Even less shouting, plus a grammar sweep.
* Remove contractions
* Update weird sounding English phrases (like "the permissions" to "permission")
* Simplify some phrases to be less wordy
* Update "permission" error codes to all use "permission" instead of also "permissions"
* Add comma to "Oh bother!". See: https://www.youtube.com/watch?v=Fhl4oKvxphs
|
[6140]
|
johnjamesjacoby
|
Stop shouting at everyone!
|
[6139]
|
johnjamesjacoby
|
Moderation: /s/exists/missing
See #3032.
|
[6138]
|
johnjamesjacoby
|
Moderation: Add error message if reply could not be found or no longer exists.
See #3032.
|
[6137]
|
johnjamesjacoby
|
Moderation: Pass `$reply_id` into `bbp_get_reply_toggles()` so the exacty reply ID can be referenced directly at the time of the filter.
See #3032.
|
[6136]
|
johnjamesjacoby
|
Moderation: Move `sub_action` query var into a passable argument, so all actions can have reliable sub-action usage.
See #3032.
|
[6135]
|
johnjamesjacoby
|
Tools: Fix undeclared variables and incorrect variable types, for improved PHP 7.1 compatibility.
This will quiet down most of our continuous integration noise.
Props hellofromTonya. Fixes #3031.
|
[6134]
|
johnjamesjacoby
|
Moderation: Rename function to `bbp_get_reply_toggles()` to better match existing naming scheme.
See #3032.
|
[6133]
|
johnjamesjacoby
|
Moderation: First pass at improved reply toggle actions:
* Allow custom toggles, or replacement of existing toggles with new procedures
* Introduce a handful of actions & filters to enable the above
* Separate functionality into smaller, more manageable parts.
See #3032. (Forums & Topics @todo)
|
[6130]
|
johnjamesjacoby
|
Converter: Set maximum key index length to 191.
Fixes bug where table would not be created because `utf8mb4` character sets do not have room for that many bytes.
(Also, pass query as an array into `dbDelta()` so it doesn't need to do the work for us anymore.)
See #3026. (2.5 branch, for 2.5.12)
|
[6129]
|
johnjamesjacoby
|
Converter: Set maximum key index length to 191.
Fixes bug where table would not be created because `utf8mb4` character sets do not have room for that many bytes.
(Also, pass query as an array into `dbDelta()` so it doesn't need to do the work for us anymore.)
See #3026. (Trunk, for 2.6)
|
[6128]
|
johnjamesjacoby
|
Whitespace for "Screenshots" section of readme.txt.
|
[6127]
|
johnjamesjacoby
|
Update trunk readme.txt for 2.5.11 release.
|
[6126]
|
johnjamesjacoby
|
Tag bbPress 2.5.11.
|
[6125]
|
johnjamesjacoby
|
Shh... I meant `bbp_translate_user_role()`.
See r6121.
|
[6124]
|
johnjamesjacoby
|
Use new `bbp_translate_role_name()` function in `bbp_get_dynamic_role_name()`. For 2.5 branch (2.5.11)
|
[6123]
|
johnjamesjacoby
|
Update `bbpress.pot` for 2.5 branch (for 2.5.11)
|
[6122]
|
johnjamesjacoby
|
Bump 2.5 branch to 2.5.11.
Also add changelog to readme.txt.
|
[6121]
|
johnjamesjacoby
|
Reference correct hook name in docs. Props netweb. See r5945.
|
[6120]
|
johnjamesjacoby
|
Roles: Fix infinite loops from load order changes in WordPress 4.7.
* Do not translate "role names" which are actually role IDs
* Add dummy function so literal role names are part of the pomo dictionary
* Introduce `common/locale.php` for future localization code
* Introduce `bbp_translate_user_role()` to help with outputting literal role names in the proper language
See #3017. 2.5 branch (for 2.5.11)
|
[6119]
|
johnjamesjacoby
|
Theme Compat: Support `WP_Hook` class in 2.5 branch.
See #2871, r5945.
|
[6118]
|
johnjamesjacoby
|
Roles: Fix infinite loops from load order changes in WordPress 4.7.
* Do not translate "role names" which are actually role IDs
* Add dummy function so literal role names are part of the pomo dictionary
* Introduce `common/locale.php` for future localization code
* Introduce `roles` variable to main bbPress class, and store loaded roles there
* Introduce `bbp_translate_user_role()` to help with outputting literal role names in the proper language
See #3017. For trunk (2.6)
|
[6116]
|
johnjamesjacoby
|
Roles: Remove overzealous usages of `bbp_add_forums_roles()`.
Now that the `wp_roles_init` action exists, we can rely on bbPress roles being registered an available, and no longer need to re-reinitalize them before trying to interact with them.
See: #2959.
|
[6109]
|
johnjamesjacoby
|
Favorites/Subscriptions/Moderators: Introduce metadata API for linking multiple users to multiple forums/topics.
Previous to this, connections were stored in `usermeta`. We knew this would not scale, but bbPress 1 had a friendlier database schema & we expected WordPress's taxonomy/relationship roadmap would be farther along by now.
By storing user ID's in `postmeta` instead, we gain an ability to query for connections from both directions without custom MySQL, while also leveraging persistent caching in a more sane way.
This commit includes several new helper functions for low-level relationship management, as well as modifications to existing functions to allow them to continue to work as they always have.
See: #2959.
|
[6108]
|
johnjamesjacoby
|
Roles: Improve performance of `bbp_get_dynamic_roles()` with a local static variable.
Previously, it rebuilt the multidimensional array of role keys & strings each time it was called, which may be several depending on the page being loaded.
See: #2452.
|
[6107]
|
johnjamesjacoby
|
Roles: Modify `bbp_add_forums_roles()` to accept a `WP_Roles` object as a parameter.
This allows dynamic roles to be initialized on each call to `wp_roles_init` (for WordPress 4.7) rather than relying on the guesswork of blog-switching, option-sniffing, or user init'ing (none of which have ever been good indicators of roles being initialized.)
See: #2452.
|
[6106]
|
johnjamesjacoby
|
Roles: Introduce `bbp_roles_init` subaction, and use this for future dynamic roles initialization.
See: #2452;
|
[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.
|
[6097]
|
johnjamesjacoby
|
Common: Improve title output strings for friendlier i18n.
Props @SergeyBiryukov. Fixes #2852.
|
[6096]
|
johnjamesjacoby
|
Replies: use `appendChild` vs. `insertBefore` for inline JS replies.
Fixes #2971. Props r-a-y.
|
[6095]
|
johnjamesjacoby
|
Only show reply-to drop-down when editing an existing reply.
|
[6094]
|
johnjamesjacoby
|
Format `bbp_get_reply_title()` like `bbp_get_topic_title()`.
|
[6087]
|
johnjamesjacoby
|
Moderation: Skip moderator query if per-forum moderation is not enabled.
Props jmdodd. Fixes #2988.
|
[6068]
|
johnjamesjacoby
|
Use `length-zero-no-unit` over `number-zero-length-no-unit` in `.stylelintrc`.
Deprecated in 7.0 of stylelint.
|
[6067]
|
johnjamesjacoby
|
Bump stable tag to 2.5.10.
|
[6066]
|
johnjamesjacoby
|
Tag bbPress 2.5.10.
|
[6065]
|
johnjamesjacoby
|
Bump `bbpress.pot` in 2.5 branch.
|
[6064]
|
johnjamesjacoby
|
Bump bbPress 2.5 branch version to 2.5.10.
|
[6063]
|
johnjamesjacoby
|
Escape `display_name` field usages in `bbp_get_author_link()`. (2.5 branch)
|
[6062]
|
johnjamesjacoby
|
Escape `display_name` field usages in `bbp_get_author_link()`.
|
[6058]
|
johnjamesjacoby
|
Core: Revert accidental removal of r6054 from r6056.
|
[6057]
|
johnjamesjacoby
|
Users: Revert accidental removal of r6051, r6052, from r6056.
|
[6056]
|
johnjamesjacoby
|
Moderators: Refactor per-forum moderators to use meta-data instead of mocked taxonomy terms.
If the future of Forums is a taxonomy (vs. a custom post-type) then a per-forum Moderator taxonomy for a Forum taxonomy won't work very well, for a few reasons:
* Scalability
* Taxonomies for taxonomies is a bit more inception than should be required for this simple feature
* Forum moderators do not require much of what taxonomy objects provide (permalinks, visibility, metadata, etc...)
* User taxonomy terms matching nicenames works okay for something like Automattic's P2 theme, but bbPress requires a user ID based solution to avoid data synchronization issues between nicenames & term slugs
So... the future of per-forum per-user capability mappings is in meta-data using `map_meta_cap`.
This commit:
* Removes the `forum_mod` taxonomy and surrounding code additions introduced in the first pass in r5834
* Renames `forum_mod` functions to `forum_moderator` to be more explicit
* Adds CRUD wrapper functions for per-forum moderator meta data
* Adds administrative interfaces for assigning moderators to forums for `wp-admin` and forum `edit` pages
* Adds helper functions for getting user nicenames & IDs
Note that this feature has now been refactored to no longer be forum specific (I.E. object agnostic) -- it's possible for any user access to be mapped based on the object type using any meta-data key. While this is currently useful for per-forum moderators, it may be user for per-topic blocking, per-topic-tag moderation, etc...
See #459.
|
[6039]
|
johnjamesjacoby
|
Core: pass the original text into `bbp_make_clickable` filter.
|
[6033]
|
johnjamesjacoby
|
`WP_Screen::post_type` is always set since WordPress 3.3.0, so remove superfluous checks in `bail()` methods.
|
[6032]
|
johnjamesjacoby
|
Moderators: pass current forum/topic/reply ID into `moderate` capability checks, providing additional context about what's being moderated so more targeted decisions can be made.
See #459.
|
[6027]
|
johnjamesjacoby
|
Statuses, Types, Visibilities: `bbp_get_topic_types()` usages were missed in r6026.
See #2954.
|
[6026]
|
johnjamesjacoby
|
Statuses, Types, Visibilities: Pass the forum, topic, or reply ID into helper functions.
These ID's pass additional context into respective filters, useful for fine-grained control over UI elements.
This commit normalizes the way these functions work across all of bbPress where applicable, by ensuring all similar functions accept an ID and assume `0` by default. Note that there are currently 2 locations where no ID exists to pass context into, which is by design.
Fixes #2954.
|
[6024]
|
johnjamesjacoby
|
Forums: Updates to `bbp_list_forums()`:
* Always run filter, even over empty output
* Only wrap output if not empty
* Ensure that `$count` related variables are accurately reset during each loop iteration
* Surrounding code clean-up
Fixes #2951.
|
[6023]
|
johnjamesjacoby
|
Tag bbPress 2.5.9.
|
[6019]
|
johnjamesjacoby
|
Update `bbpress.pot` for 2.5 branch.
|
[6018]
|
johnjamesjacoby
|
Bump 2.5 branch to 2.5.9.
|
[6017]
|
johnjamesjacoby
|
Bump stable tag in `trunk` to 2.5.9.
|
[6016]
|
johnjamesjacoby
|
Common: Use `bbp_make_clickable()` in `bbp_make_clickable()`.
In r6014, changes to support faster, better @-mentions mistakenly continued to use `make_clickable()`. This fixes that regression, and allows for smaller chunks of large topics & replies to continue to use bbPress's internally optimized clickable API.
|
[6015]
|
johnjamesjacoby
|
Mentions: Refactor the way user mentions are discovered and linked.
This is a port of r6014 (without unit tests) for the 2.5 branch.
* Adds a filter to bbp_make_clickable
* Adds filters for for previously hard-coded clickables
* Adds new filter for at-mention clickable
* Deprecates previous functions for finding & linking at-mentions
For 2.5.9 (2.5 branch). Hat-tip to Daniel Cid.
|
[6014]
|
johnjamesjacoby
|
Mentions: Refactor the way user mentions are discovered and linked.
* Adds a filter to `bbp_make_clickable`
* Adds filters for for previously hard-coded clickables
* Adds new filter for at-mention clickable
* Deprecates previous functions for finding & linking at-mentions
For 2.6 (trunk). Hat-tip to Daniel Cid.
|
[6013]
|
johnjamesjacoby
|
Common group.
|
[6012]
|
johnjamesjacoby
|
Nonce functions are part of the `common` component.
|
[5935]
|
johnjamesjacoby
|
Add Composer support. Fixes #2712.
|
[5933]
|
johnjamesjacoby
|
Akismet: include title with content. Props cfinke. Fixes #2858.
|
[5932]
|
johnjamesjacoby
|
Admin: Swap `%d` for `%s` in `bbp_filter_dashboard_glance_items()`.
This changeset fixes a bug causing numbers to be truncated at the first non-numeric character.
Fixes #2857.
|
[5930]
|
johnjamesjacoby
|
Topics: sanity check `$_REQUEST` and introduce list-table methods for reply table-navigation.
This changeset fixes a potential debug notice introduced in r5886, and removes unused functionality inherited from `WP_List_Table`.
Fixes #2842. See #2587.
|
[5926]
|
johnjamesjacoby
|
Favorites: Purge cache when adding/removing a favorite.
This changeset fixes a bug where cache was not busted, causing incorrect results to be returned & displayed.
Props thebrandonallen. See #2855.
|
[5909]
|
johnjamesjacoby
|
Add `@package` and `@subpackage` to file headers where missing; rename if inconsistent; move to bottom of PHPDoc blocks where appropriate. See #WP27262.
|
[5908]
|
johnjamesjacoby
|
Sniffer: Whitespace around variables in arrays.
|
[5907]
|
johnjamesjacoby
|
Common: bring `bbp_verify_nonce_request()` up to speed with improvments in BuddyPress.
See #buddypress6528. Props r-a-y.
|
[5906]
|
johnjamesjacoby
|
BuddyPress: Remove `@todo`s that are todone or todon'ts.
|
[5905]
|
johnjamesjacoby
|
BuddyPress: Introduce `BBP_Forums_Group_Extension::update_group_forum_visibility()` to keep group forum visibility in alignment with BuddyPress Group visibility.
This changeset ensures that when a BuddyPress Group's visibility changes, it's bbPress forum visibility changes along with it. This avoids a UX issue where Group visibility and Forum visibility could become misaligned when updating a Group.
Props boonebgorges. Fixes #2599.
|