[6926]
|
johnjamesjacoby
|
Upgrades: Link to pending upgrades, if there are any.
This commit modifies the "Upgrade Forums" page by adding Statuses to filter by, specifically for pending upgrades. This allows bbPress to link directly to the upgrades that need doing, rather than the generic page itself.
Along with this commit are accompanying styling tweaks and helper functions to make this functionality possible.
Fixes #3244.
|
[6925]
|
johnjamesjacoby
|
Tools: Make a few columns sortable.
This commit adds a small UX improvement to the Repair and Upgrade tools pages, allowing for these lengthy lists to be sorted.
See #3244.
|
[6924]
|
johnjamesjacoby
|
Docs: add missing project names after recently added @since's.
|
[6923]
|
johnjamesjacoby
|
Counts (meta-data): full audit of forum/topic/reply, public/non-public counts.
This commit is the result of a full count audit, exposing multiple inconsistencies and voids in relation to how public and non-public counts are (re)calculated.
For instance, hidden forum replies are not counted at all, until now. By introducing a new Repair tool, hidden forum reply counts are now counted.
In addition, there were multiple bugs with topic & reply moderation, where the act of approving or unapproving topics or replies would cause the numbers to be inaccurate, or where topics & replies being caught in moderation were still increasing public counts.
It was also possible to, as a Key Master, publicly reply to unapproved topics, which was a completely unanticipated side-effect of allowing Key Masters to do pretty much anything. Going forward, the default reply status is the topic status, but is still beholden to all existing moderation settings and user role capabilities. This results in a more sane user experience, and prevents the unusual circumstance of there being "0 topics and 30 replies" in public-facing forums.
Certain count increase/decrease actions have been reprioritized to avoid collisions and race conditions, proving once again that ya gotta get up to get down.
See #2838. Fixes #1799.
|
[6922]
|
johnjamesjacoby
|
Statuses: normalize status related functions across post types.
This commit adds 2 missing functions for forum statuses, and relocates all of them to the correct functions.php files for their post types.
|
[6921]
|
johnjamesjacoby
|
Moderation: make sure pending topics (for moderation reasons) are accessible to authors.
This commit updates the logic inside of the topic & reply map-meta-cap implementations, restricting edit-lock checks to actual "Edit" screens, and using the "edit_others_posts" capability in non-"Edit" screens, ensuring that both scenarios are covered.
It also adds an explicit condition for Pending Topics to both the Topic Description and Topic Notices, alerting users as to why they are seeing what they are seeing.
Fixes #3253 (again!) See also #3164 for other related discussion & details.
|
[6920]
|
johnjamesjacoby
|
Edit Locking: Remove redundant $minutes check in `bbp_past_edit_lock()`.
This commit is just a small bit of cleanup from researching #3164.
See #3222.
|
[6919]
|
johnjamesjacoby
|
Emails: chunk notification emails into 40 Bcc'd recipients.
This commit introduces the `bbp_mail` subfilter, used to target bbPress specific emails in conjunction with `bbp_get_email_header()` to help identify emails that came specifically from bbPress actions.
The purpose of this change is to help forum owners avoid their outbound emails being marked as spam, due to the high number of users that can be subscribed to any given forum or topic.
This change (combined with r6725) goes a long way towards improving the success of subscription emails reaching their intended recipients.
Fixes #3260. Props danielbachhuber.
|
[6918]
|
johnjamesjacoby
|
Subscriptions: clean up code comparisons and documentation.
This commit adds some inline documentation to provide a bit more clarity around what subnscriptions checks and actions are being taken, and adds parenthesis to nested comparisons to improve code readability.
See #3235.
|
[6917]
|
johnjamesjacoby
|
Anonymous: delete meta key if value is empty.
This commit ensures that editing a non-anonymous topic via WordPress Admin does not erroneously add empty anonymous author keys to post meta.
|
[6916]
|
johnjamesjacoby
|
Subscriptions: pass additional IDs into user ID filters.
This commit adds forum, topic, and reply IDs to the filters commonly used to filter the user IDs that emails are being sent to, providing a quick opportunity to peek at them easily and make decisions based on what they are at the time.
Fixes #3249. Props satollo.
|
[6915]
|
johnjamesjacoby
|
Stickies: make sure unapproved topics are unstuck also.
This commit removes a hard coded call to `bbp_unstick_topic()` and hooks into the neighboring `bbp_stick_topic` action, while also hooking into the `bbp_unapprove_topic` action.
A small bit of code clean-up and inline documentation additions accompany this commit, to improve a bit of the surrounding relevant code.
Fixes #3246.
|
[6914]
|
johnjamesjacoby
|
Engagements: always show user avatars in subscription/favorite metaboxes.
This commit introduces a helper function (to reduce code duplication) responsible for looping through queried users and outputting avatars and profile links.
A developers note is included in the function docs discouraging third-party plugin developers from using it, as future iterations of bbPress may modify its output without notice.
Fixes #3272.
|
[6913]
|
johnjamesjacoby
|
Admin: Correctly register scripts & styles before enqueing them.
This commit moves style/script registration to dedicated admin-area actions, separating them from their relative enqueing actions.
It also deprecates the singular (incorrectly named) "bbp_register_admin_style" action and replaces it with the correctly named plural "bbp_register_admin_styles".
|
[6911]
|
johnjamesjacoby
|
Bump dev dependencies.
|
[6910]
|
johnjamesjacoby
|
Appearance: Use right-to-left suffix in default template pack.
Fixes #3263. Props GDragoN.
|
[6909]
|
johnjamesjacoby
|
Tools/Repair: add missing `MAX()` in `bbp_admin_repair_freshness()`.
This commit allows the freshness repair tool to correctly query for the maximum topic ID.
Fixes #3261.
Props GDragoN.
For 2.5.x.
|
[6908]
|
johnjamesjacoby
|
Tools/Repair: add missing `MAX()` in `bbp_admin_repair_freshness()`.
This commit allows the freshness repair tool to correctly query for the maximum topic ID.
Fixes #3261.
Props GDragoN.
For 2.6 (trunk.)
|
[6906]
|
johnjamesjacoby
|
Tools/Repair: add missing apostrophe in `bbp_admin_repair_user_favorites()`.
This commit allows the favorites repair tool to correctly query for chunked results.
Fixes #3259.
Props GDragoN.
For 2.5.x.
|
[6905]
|
johnjamesjacoby
|
Tools/Repair: add missing apostrophe in `bbp_admin_repair_user_favorites()`.
This commit allows the favorites repair tool to correctly query for chunked results.
See #3259.
Props GDragoN.
For 2.6/trunk.
|
[6904]
|
johnjamesjacoby
|
Subscriptions: ensure special characters in author names are encoded properly.
This commit copies the approach used on the content, and applies `wp_specialchars_decode()` and `strip_tags()` to author names in subscription emails.
(HTML tags are not usually allowed in usernames, but we strip them anyways in the event a filter allowed them. Better to keep emails legible than include unintended tags?)
Fixes #3256.
|
[6903]
|
johnjamesjacoby
|
Search: add support for `fs` query-arg to search forums list:
* Introduces `bbp_sanitize_search_request()` to encapsulate duplicate code across forums/topics/replies
* Introduces `bbp_get_search_type_ids()` to stub out future enhancements (tags, users, etc...)
* Use these new functions where intended
* Update `bbp_get_search_terms()` to loop through known search-type IDs
This commit also fixes debug notices that would happen when these query arguments were not explicitly strings.
Fixes #3245.
|
[6902]
|
johnjamesjacoby
|
Locale: update post type labels to include recent additions to WordPress.
This commit adds several new label keys to the arrays for the Forum/Topic/Reply post types. It also removes some duplicated keys that have slipped in over time.
Props GDragoN. Fixes #3250.
|
[6901]
|
johnjamesjacoby
|
Upgrades: add `empty()` checks to untrusted variable values to avoid debug notices.
This change ensures that menu manipulations are not attempted via admin-area requests where they are not necessary (AJAX, shortinit, etc...) and fixes debug notices under those circumstances.
|
[6898]
|
johnjamesjacoby
|
Subscriptions: do not send subscription emails during WordPress imports.
This change adds checks to the `WP_IMPORTING` global constant inside of forum & topic subscription notification functions, to prevent sending emails during the import process.
Because hooks still fire during imports, this sanity check avoids a potentially hugely annoying situation for users during forum migrations by any import tool that obeys the use of this core constant.
Fixes #3248. Props danielbachhuber.
|
[6897]
|
johnjamesjacoby
|
Upgrades: append upgrade count to "Tools" if there are pending upgrades
* Add function and method to tweak the `$menu` global
* Add styling for count in `nav-tab-wrapper` UI
This change adds a `span.awaiting-mod` wrapper around the pending upgrade count in a few strategic locations around the WordPress Admin UI.
See #3244.
|
[6896]
|
johnjamesjacoby
|
Upgrades: change skipped upgrades to pending upgrade
* Add functions for managing pending upgrades
* Use IDs instead of strings for active tools tab
* Add classes and `hr` for related H1's
* Update registered option key name
* Add skipped upgrades to pending upgrades array
* Add `span` to allowed tags in notices
These changes are necessary to bring adimn pages up to speed with WordPress Admin UI mark-up, in relation to the database upgrade notice.
See #3244.
|
[6895]
|
johnjamesjacoby
|
Upgrades: add "Version" column to upgrades list table.
See #3244.
|
[6894]
|
johnjamesjacoby
|
Upgrades: add support for "Version" filter & links in list table.
* Adds functions for outputting in a table row and select dropdown
* Adds a function to allow special translating of version numbers
* Adds numerous improvements for PHP 7.3 compat
* Adds escaping and formatting in several places where it was previously omitted
* Adds `—` to empty columns
* Adds functions for getting the current page ID
See #3244.
|
[6893]
|
johnjamesjacoby
|
Upgrades: add column width styling to tools list tables.
This ensures that columns are usually wide enough to fit their anticipated contents.
See #3244.
|
[6892]
|
johnjamesjacoby
|
Upgrades: add `version` and update strings to repair tools.
This change adds a version property to the relevant upgrades, and removes some redundant information from each description.
See #3244.
|
[6891]
|
johnjamesjacoby
|
Upgrades: remove duplicate `wp_cache_flush()` call.
From `bbp_admin_repair_reply_menu_order()`, since repair tools flush the caches anyways, this is not necessary here.
Found during work on #3244.
|
[6890]
|
johnjamesjacoby
|
Upgrades: add support for `version` key in repair tool registration.
This will get used by individual tools, to provide a UI for routines that need to be run between version upgrades.
See #3244.
|
[6889]
|
johnjamesjacoby
|
Rewrites: use `property_exists()` on `$wp_rewrite` global touches.
This makes sure that bbPress defaults are preferred, and avoids fatal errors if class properties are unset.
Also relocate `bbp_use_pretty_urls()` to better group it together with other `bbp_rewrite()` wrappers.
|
[6888]
|
johnjamesjacoby
|
Parser: revert error control operator change from r6887.
See also r6633 for original change.
|
[6887]
|
johnjamesjacoby
|
Parser: Fix PHP 7.3 warning ("continue" in "switch" is equal to "break")
Fixes #3242.
|
[6886]
|
johnjamesjacoby
|
Subscriptions: Do not add or remove subscriptions when editing via WordPress admin.
This change passes the current post ID through to `bbp_is_user_subscribed()`, ensuring that admin area subscriptions are saved to the correct topic ID (not revisions, etc...) while also not changing the subscriptions status.
Fixes #3235.
|
[6885]
|
johnjamesjacoby
|
Formatting: update `bbp_make_clickable()` to better handle spaces in `href` attributes.
This change updates the included regular expression to avoid returning broken (or at least unexpected) HTML and allows spaces in `href` attributes to be encoded as expected.
Props dd32. Fixes #3237.
|
[6884]
|
johnjamesjacoby
|
Topic Tags: remove extraneous `span` tag from topic-tag titles when theme-compat is employed.
This change removes a `span` tag that was originally required before support for topic-tag-edit templates was added.
Props mechter. Fixes #3236.
|
[6883]
|
johnjamesjacoby
|
Styling: Remove unused `row-actions` CSS.
This used to be necessary for BuddyPress theme compatibility, but is no longer.
See #3238, for trunk (2.6)
|
[6882]
|
johnjamesjacoby
|
Tools: update npm package dependencies.
|
[6881]
|
johnjamesjacoby
|
Titles: add comment about `8bit` mode usage of `mb_strlen()` to provide extra context.
(After looking at this again, I wasn't confident it was correct. It seems to be, given how it's being used.)
See #3189.
|
[6880]
|
johnjamesjacoby
|
Subscriptions: replace hard-coded, single-use strings with `no-forums` template part.
|
[6879]
|
johnjamesjacoby
|
Tag 2.6 RC 7.
|
[6878]
|
johnjamesjacoby
|
Bump trunk to 2.6-rc7.
|
[6877]
|
johnjamesjacoby
|
Engagements: demystify strategy sanitization.
This change ensures that invalid/unavailable strategies are never used, and also allows for custom strategies to exist (custom table, etc...) without requiring strategy registration.
See #3211.
|
[6876]
|
johnjamesjacoby
|
Engagements: next pass at back-compat for pre-2.6 `user` strategy.
* Renames `BBP_User_Engagements_Back_Compat` to `BBP_User_Engagements_User` so the approach is more clear.
* Fill in `get_query()` method, left todo from r6844.
* Move active strategy into a preloaded option, default to `meta`
* Set active strategy to `user` on failed auto-upgrade to 2.6 to maintain backwards compatibility
* Introduces sub-actions to assist with abstracting the engagement strategy setup
Fixes #3211.
|
[6875]
|
johnjamesjacoby
|
Forums: protect against a missing/malformed `forum_id` value when listing subforums.
Fixes #3232.
|
[6874]
|
johnjamesjacoby
|
Akismet: allow "trusted" users to bypass spam `post_status` enforcement.
* Adds `bbp_bypass_check_for_spam` filter ahead of the HTTP request
* Adds `bbp_bypass_spam_enforcement` filter ahead of `post_status` switch
* Adds `current_user_can( 'moderate' )` check to bypass spam enforcement
* Adds `parse_response()` method to `BBP_Akismet` class for future abstraction
This allows for 2 different ways to short-circuit Akismet:
* Before the HTTP request happens
* After the HTTP request, but before the status change
bbPress will now trust users that pass the `moderator` capability check (including per-forum moderators) even if Akismet thinks the content is spammy. The Akismet history will still reflect the catch; the status will just not be enforced.
This addresses issues we've seen on WordPress.org, BuddyPress.org, and bbPress.org, where trusted moderator posts would be caught in the spam queue, even when they have privileges to enter the queue and unspam their own posts.
Fixes #2917. Props tharsheblows for the original patch!
|
[6872]
|
johnjamesjacoby
|
Forums: revert part of r6860.
Go back to `ul` and `li` to avoid breaking CSS for existing installs, and use a CSS separator instead to address the original invalid markup issues.
This might show an extra separator in circumstances where filters or template-overrides are targeting very specific things, but that's better than breaking mark-up changes.
See #3217.
|
[6871]
|
johnjamesjacoby
|
AJAX: always use `defined()` before setting an environmental constant.
This avoids a notice/warning if something has already set the the `DOING_AJAX` constant.
|
[6870]
|
johnjamesjacoby
|
Update function docs for functions introduced in r6869.
|
[6869]
|
johnjamesjacoby
|
Edit Locking Improvements:
* Refactor to avoid doing unnecessary computations
* Invert default return value from false to true, requiring time to pass validation as opposed to assuming
* Improve obviousness of math computations for easier debuggability
* Update variables passed into the end return filter
* Add 6 unit tests for before/on/after, plus support for "0" as infinite
* Fix bug causing "0" values to return the opposite value
* Ensure only gmt/utc values are compared
* Add optional flag to use WordPress time instead
* Improve inline and function documentation
Fixes #3222. Props wpdennis.
|
[6868]
|
johnjamesjacoby
|
Accessibility: Avoid back-to-back author links.
This change ensures that avatar and display-name links are wrapped in a shared anchor, instead of each with their own.
Includes a few test changes to better suit our intentions of verifying valid & accessible HTML output.
Fixes #3220. Props dcavins.
|
[6867]
|
johnjamesjacoby
|
Akismet: send sanitized string values for referer and user-agent.
Avoids issues with huge/invalid strings. and ensures that `_wp_http_referer` is used.
|
[6866]
|
johnjamesjacoby
|
General: unslash IP and user agent strings.
These are only used in ways where slashed values are undesirable.
|
[6865]
|
johnjamesjacoby
|
Templates: call `bbp_get_post_types()` when parsing query args and setting template args.
Fixes #3221. Props scmsteve.
|
[6864]
|
johnjamesjacoby
|
General: update `bbp_get_post_types()` to accept arguments to parse before calling `get_post_types()`.
This avoids other manual calls to `get_post_types()` in other places. See #3221.
|
[6863]
|
johnjamesjacoby
|
Login: Updates to `bbp_logout_url()`:
* Removes Apache-only `REDIRECT_URL` usage
* Defaults to the Referer (for smart redirects)
* Adds a filter to the redirect_to string
* Validates the redirect_to after being filtered
* Falls back to `bbp_get_root_url()` if invalid
* Ensures that custom `$redirect_to` values are preserved
Fixes #2188.
|
[6862]
|
johnjamesjacoby
|
Theme Compat: introduce `bbp_locate_enqueueable()` and `bbp_urlize_enqueueable()`.
These functions are used to help make locating enqueueable assets easier, and use `bbp_locate_template()` interntally, now accepting an array of files.
In addition, `bbp_locate_enqueueable()` also internally juggles minimized file variations, and stacks them according to the `SCRIPT_DEBUG` constant. This ensures that both minimized and unminimized file variants are in the array in the preferred order.
This fixes a regression between bbPress 2.5 and 2.6 caused by the bundling of minimized assets in theme compatibility, and ensures that sites with their own `bbpress.css` files in their own locations will continue to get loaded, regardless of the `SCRIPT_DEBUG` setting.
Fixes #3218.
|
[6861]
|
johnjamesjacoby
|
Formatting: update `bbp_get_time_since()` to accept MySQL formatted string in older & newer dates.
Also cast values to int using `intval()` to ensure math always works, without notices or errors.
This change adds a bit more validation on potentially untrusted values.
See #3216.
|
[6860]
|
johnjamesjacoby
|
Forums: revert default mark-up back to div's and span's in `bbp_list_forums()`.
This fixes potentially invalid mark-up from attempting to use list elements instead of spans.
Also includes changes to CSS selectors to make them more flexible with different child elements.
See #3217.
|
[6859]
|
johnjamesjacoby
|
Tests: Remove unused variables from a few tests.
|
[6858]
|
johnjamesjacoby
|
Moderation: add author-specific keymaster & moderation checks.
This fixes a regression where Moderators were allowed to skip strict moderation rules. Moderators are held to the same standard that regular users in the forums are.
See #3215.
|
[6857]
|
johnjamesjacoby
|
Moderation: allow custom keys to be passed in via the `$strict` parameter.
See #3215.
|
[6856]
|
johnjamesjacoby
|
Docs: fix typo, and update function reference for `_blacklist()` deprecation.
See r6855, #3215.
|
[6855]
|
johnjamesjacoby
|
Moderation: remove references to blacklist/whitelist verbiage.
This change combines 2 functions into 1, merging `_blacklist()` checks into `_moderation()` checks. A new `$strict` parameter is added, when set to `true` will continue to check against the WordPress `blacklist_keys` option name.
* Tests updated
* `bbp_check_for_blacklist()` deprecated
* Error response keys renamed (non breaking - nothing relies on them)
* Some docs updates
Fixes #3215. For 2.6.
|
[6854]
|
johnjamesjacoby
|
Revert r6853. This breaks pages with matching slug paths.
Will revisit this more thoroughly in a future version.
|
[6853]
|
johnjamesjacoby
|
Permalinks: merge root-slug usage into whichever is shown on root.
This change removes the double-archive juggle of having both forums and topics available as archives at the same time, which is traditionally not desirable.
|
[6852]
|
johnjamesjacoby
|
Admin: rearrange admin sub-action registrations.
Also fix a bug causing `custom_menu_order` to not be filtered, resulting in hidden admin menus for some users.
|
[6851]
|
johnjamesjacoby
|
Tools: bump package-lock.json.
|
[6850]
|
johnjamesjacoby
|
Post Types: replace literal post type strings with functional wrappers.
This fills in a few gaps where filtered post type names would not be used.
|
[6849]
|
johnjamesjacoby
|
Tests: revert accidental test group change from r6848.
(I need unit tests probably more than most, but this is neither the time nor the place for that.)
|
[6848]
|
johnjamesjacoby
|
Tests: get all post type/status counts using `bbp_get_child_counts()`.
* Fix a broken test, and improve a few others
* Update several `count()` instances that were doing expensive `_ids()` counts
* Strategically bust the `bbpress_posts` query cache group on updates
This change improves general performance and count reliability by ensuring the accuracy of forum/topic/reply relationship totals.
|
[6847]
|
johnjamesjacoby
|
Tests: unset meta data from `$args` in factories.
This just keeps the arrays a bit more clean, and makes it clear these keys are not used.
|
[6846]
|
johnjamesjacoby
|
Tests: use correct post type and factory in `test_bbp_clean_post_cache()`.
|
[6845]
|
johnjamesjacoby
|
BuddyPress: use `$reply_id` instead of `$topic_id` so `bbp_get_reply_url()` works correctly.
This change ensures that notification links go directly to the reply, not the topic, and not a 404.
Fixes #3213. See #3214.
|
[6844]
|
johnjamesjacoby
|
Engagements: first pass at back-compat for pre-2.6 subscriptions and favorites
Introduces a `BBP_User_Engagements_Back_Compat` class with the necessary inverted methods to add/remove engagement relationships.
Needs testing, and `get_query()` left todo.
See #3211.
|
[6843]
|
johnjamesjacoby
|
Engagements: documentation improvements to various strategy classes.
See #3211.
|
[6842]
|
johnjamesjacoby
|
Engagements: move common classes out of abstraction.php.
See #3211.
|
[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.
|
[6839]
|
johnjamesjacoby
|
General: Bump to RC6, and related unimpactful changes
* Docs & whitespace
* Update packages
* Update stable tag
* Add changelog section for 2.6 (TBD)
|
[6838]
|
johnjamesjacoby
|
Anonymous: Don't use `esc_html__()` in combination with HTML tags.
Props wpdennis. Fixes #3210.
|
[6837]
|
johnjamesjacoby
|
Forms: include forum/topic ID in nonce checks.
This change adds in missing object IDs, fixing a bug causing form content to be lost when an error had occurred.
Props wpdennis. Fixes #3209.
|
[6835]
|
johnjamesjacoby
|
Login: Do not prematurely escape `$redirect_to` in `bbp_logout_url()`.
This change fixes a bug causing the redirect URL to be escaped before it's encoded.
Props nevis2us. Fixes #3199.
|
[6834]
|
johnjamesjacoby
|
Converter: UX improvements to import experience:
* Move Monitor to upper-right
* Move actions into Monitor
* Make database fields read-only when importer is running
* Add a spinner
See #3207 for inspiration.
|
[6833]
|
johnjamesjacoby
|
Converter: Remove unused argument in `clean()` method usage.
See #3207.
|
[6832]
|
johnjamesjacoby
|
Converter: make a few `private` properties `protected` so subclasses can reach them.
This change fixes a bug causing the e107v1 converter to fail.
Props wpdennis. Fixes #3207.
|
[6831]
|
johnjamesjacoby
|
Build: update various out-of-date packages.
|
[6830]
|
johnjamesjacoby
|
Subscriptions: simplify edit logic for getting `checked()` value.
Props wpdennis. See #3206.
|
[6829]
|
johnjamesjacoby
|
Subscriptions: cast function results to `(int)` so strict comparisons pass.
This change fixes a bug where subscription checkboxes and UI elements could show/use incorrect values.
Props wpdennis. Fixes #3206.
|
[6828]
|
johnjamesjacoby
|
Engagements: enforce `absint()` on function parameters in engagements API.
Also fixes a bug causing an `array_search()` to erroneously fail.
See #3206.
|
[6827]
|
johnjamesjacoby
|
Counts: Introduce a cacheable parent/type/status wrapper, filter helpers.
This change introduces a common query function for totalling up all counts by type & status, and caching the results for later usages. By doing this, we can avoid running multiple queries for the same public or non-public counts.
Also uses `bbp_number_not_negative()` in a few places where negative counts are never allowed.
|
[6826]
|
johnjamesjacoby
|
Replies: use existing `reply_to` value if none is passed.
This change fixes a bug that would cause the reply hierarchy to be broken when non-moderator users would edit their existing replies within the allotted editing period.
Props wpdennis. Fixes #3205.
|
[6824]
|
johnjamesjacoby
|
Search: update `bbp_get_search_terms()` to only accept a string.
This change prevents non-string payloads from being encoded & trimmed.
|
[6823]
|
johnjamesjacoby
|
Activation: avoid creating initial content more than once.
This change adds an `_bbp_flag_initial_content` option key to check against, to avoid creating the starter content more than one time. It also stores `bbp_get_default_options()` in a local static variable to avoid recreating the same array multiple times.
Because of the way plugin activation and site creation work, `is_multisite()` checks are used to avoid fatal errors.
|
[6822]
|
johnjamesjacoby
|
Template: add `is_multisite()` check to `bbp_is_site_public()`.
This change avoids a potential fatal error if this core function is used directly.
|
[6821]
|
johnjamesjacoby
|
Help: Update Forums & Topics help text.
* Tweak action order
* Grammar improvements
* Add "Close" action to forums
|
[6820]
|
johnjamesjacoby
|
Converter: remove `safe_mode` check from `BBP_Converter::maybe_set_memory()`.
This was deprecated in PHP 5.3.0 and removed in 5.4.0. Instead, this change employs the following:
* Moves keys and values into a filterable array
* Looks for disabled functions and avoids them
* Adds error control operators as needed
|
[6819]
|
johnjamesjacoby
|
Prefer `sanitize_html_class()` over `esc_attr()`.
This change uses the correct formatting function in places where potentially untrusted class strings are ran through `array_map()`.
|