[6740]
|
johnjamesjacoby
|
Anonymous: remove `sanitize_comment_cookies()` call.
This was causing repeated comment cookie sanitization on each subsequent page load.
|
[6739]
|
johnjamesjacoby
|
Engagements: include `BBP_User_Engagements_Term` class, as term storage example.
This change includes an alternative storage mechanism for engagements. Meta is used by default, but using Taxonomies and Terms for storage instead may be more appealing to certain installation types.
A few related functions were updated to use newer abstractions. See #459.
|
[6738]
|
johnjamesjacoby
|
Args: pass default parameters into filters in `bbp_parse_args()`.
This change allows conditional filtering of parsed arguments based on the arguments originally passed in.
|
[6737]
|
johnjamesjacoby
|
Anonymous Users: improve styling for anonymous topic/reply author boxes.
This change wraps anonymous author data in `span` elements where `a` elements would normally be used for registered users, and tweaks the default template-pack CSS to accomodate these new elements.
|
[6736]
|
johnjamesjacoby
|
Use correct filter key in `bbp_get_author_link()`. See r6735.
|
[6735]
|
johnjamesjacoby
|
Strings: remove escaped single quotes from profile/website link attributes.
Also normalize the approach used in these 3 similar functions.
|
[6734]
|
johnjamesjacoby
|
Abstraction: abstract site switching functions to include an `is_mulitsite()` check.
This allows functions that are traditionally hook-only to be called directly, regardless of the installation type, and without littering the codebase with several `is_multisite()` switches.
Fixes #3179.
|
[6733]
|
netweb
|
Forums: Update `bbp_untrash_forum_topics()` PHPDoc description.
Props espellcaste.
Fixes #3175.
|
[6732]
|
netweb
|
Accessibility: Update the `screen-reader-text` CSS class via wp:changeset:41622
This changeset merges the latest #a11y updates from WordPress Core for screen readers.
Props ashokrd2013.
Fixes #3172.
|
[6731]
|
netweb
|
Build Tools: Update the Grunt `commit` task to run Autoprefixer
This changeset ensures that browser vendor prefixes are updated and included when committing SCSS and CSS changes in the `src/` folder.
|
[6730]
|
johnjamesjacoby
|
Admin: fix filter load order for PHP 7.1 compat.
|
[6729]
|
johnjamesjacoby
|
Labels: Update post type & taxonomy labels to latest keys.
This change updates forum, topic, topic-tag, and reply labels to include all of the most recent additions to their `labels` registration arguments. It also switches to the escaped gettext variant functions to match existing standards.
|
[6728]
|
johnjamesjacoby
|
Allow a custom redirect destination in the reply form.
(Specifically for shortcode or third-party plugin usage.)
See r3450.
|
[6727]
|
johnjamesjacoby
|
Subscriptions: Avoid empty `include` statement in `bbp_get_email_addresses_from_user_ids()` call.
This change ensures that if no user IDs are gathered as part of the limited chunk, the loop will continue and avoid a costly `get_users()` call.
See r6725.
|
[6726]
|
johnjamesjacoby
|
Uncomment my debug cruft. Antiprops jjj. See r6725.
|
[6725]
|
johnjamesjacoby
|
Subscriptions: Introduce `bbp_get_email_addresses_from_user_ids()` to chunk `get_users()` calls.
This changes the strategy used when querying for subscribed users so that not of them are queried at the same time, which could cause timeouts or out-of-memory issues when there are many users subscribed to a forum or topic.
By default, users are now queried in `100` user increments, and each 100 user chunk of email addresses gets merged into 1 large array and returned. The `100` default also has a filter, so it's somewhat configurable. Duplicate email addresses are strictly avoided, and user ID filters were moved to after the current user ID is removed from the array, which allows for third party plugins to add them back in if they'd like to include them.
See #3068.
|
[6724]
|
johnjamesjacoby
|
Widgets: normalize login widget output.
This change makes sure these two forms are using the same field attributes.
|
[6723]
|
johnjamesjacoby
|
Engagements: abstract meta strategy into an overload'able class.
This change introduces a class and wrapper function to allow the `meta` strategy of the new user engagements API to be hot-swapped. This might be helpful on large installations where a dedicated database table makes more sense, or for integrations where features like "Favorites" or "Subscriptions" might already be delegated to other third-party membership plugins. Now, the caller class can be filtered to one that includes custom methods.
See #3068.
|
[6722]
|
johnjamesjacoby
|
Formatting: Use `mb_substr()` where appropriate.
This change ensures that strings which are known to contain or allow for multibyte characters are allowed to do so (in excerpts and a few server globals.)
Fixes #3170. Props it4life.
|
[6721]
|
johnjamesjacoby
|
Replies: Update tests for `test_bbp_get_reply_position()`.
This change makes sure that updating a reply position to zero is still possible, also ensuring that tests continue to pass as expected.
|
[6720]
|
johnjamesjacoby
|
Topic Tags: Check for post ID when checking `assign_topic_tags`.
This change adds a fallback value for the standard `assign_terms` capability check, and fixes a few test errors introduced in r6714.
|
[6719]
|
johnjamesjacoby
|
Common: remove redundant calls to `bbp_number_not_negative()`.
This change decreases the filter priority of out-of-range prevention from `10` to `8`, and also adds filters to pre-formatted values in lieu of hard-coding this function into each individual count getter. This allows plugins to unplug this check more easily, and makes sure each value is only checked once for each call instead of occasionally twice in a row.
|
[6718]
|
johnjamesjacoby
|
Forums: make sure topic & reply counts are proper integers for `_n()` usage.
This change fixes a bug where formatted strings would cause an incorrect singular and plural string assignment, in forums that had over 1k posts.
|
[6717]
|
johnjamesjacoby
|
Replies: performance optimization to `bbp_update_reply_position()`.
This change uses `wpdb::update()` instead of `wp_update_post()` and juggles the `bbp_clean_post_cache()` filter, retaining object caches of related posts and queries, and also removes other unintended `edit_post` action interference.
Fixes #3169.
|
[6716]
|
johnjamesjacoby
|
Converter: Remove duplicate `class` attribute on DB password field.
|
[6715]
|
johnjamesjacoby
|
Tools: Remove quotes from prepared query statements.
Also use the same `esc_like()` result in 2 matched queries.
Props jrf. Fixes #3168.
|
[6714]
|
johnjamesjacoby
|
Capabilities: first pass at single topic-tag cap mappings.
This change adds IDs where appropriate, and introduces single term cap checks with intelligent comparisons that match the approach used by forums, topics, and replies.
* Inactive users cannot assign, manage, edit, or delete
* Moderators can assign, manage, edit, and delete
* Participants can assign
* Spectators & Blocked users still cannot manipulate topic tags in any way
This prepares bbPress for third-party plugins to leverage topic-tags in ways it otherwise wasn't prepared to do.
See #3167.
|
[6713]
|
johnjamesjacoby
|
Capabilities: prevent edits when past the edit-lock time.
This change increases the priority of the `moderator` check, so that moderators are not subjected to edit-lock restrictions, and maps to `do_not_allow` for topic/reply authors who normally can edit but are now beyond the allotted time period.
Fixes #3164. Props SergeyBiryukov.
|
[6712]
|
johnjamesjacoby
|
Fix documentation typos.
|
[6711]
|
johnjamesjacoby
|
Common: add some sanity checks to cache priming helpers.
This change adds more checks to avoid caching post & post author data that may have been deleted since the IDs were last sourced from the database.
We also remove a call to `get_post_field()` to reference the local object directly. This adds an `empty()` but removes a more complex function call when we already have the post in local scope anyways.
Fixes #3166. Props thebrandonallen.
|
[6710]
|
johnjamesjacoby
|
BuddyPress: improve targeting of single forum/topic filters.
This change simplifies the logic used when attaching-to and checking-for the current BuddyPress Group Forum & Topic pages, by conditionally filtering behind a singular `bp_is_group()` check.
Fixes #3165. Props thebrandonallen.
|
[6709]
|
johnjamesjacoby
|
Admin: run `admin.css` through `grunt commit` routine.
This adds a missing Webkit CSS shim for how the bbPress logo is vertically aligned in the new database upgrade notice.
|
[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.
|
[6707]
|
johnjamesjacoby
|
Update docblock of `bbp_set_user_role()`.
|
[6706]
|
johnjamesjacoby
|
Replies: introduce `bbp_get_public_reply_statuses()` to speed-up reply queries.
This change removes the `closed` post status from several reply-only queries, ensuring that query indexes are used effectively. It also brings parity to the Replies component that exists in both Forums & Topics.
|
[6705]
|
johnjamesjacoby
|
Admin: add an admin notice if database upgrade was skipped.
This change adds a persistent admin notice (who doesn't love those?) in the event that the forums are part of a large WordPress installation that prevented the automatic database upgrade routine from running.
Two links are provided: one to "Go Upgrade" and another to "Hide Forever". The first will take the user (with adequate capability) to the `Tools > Forums > Upgrade` screen; the second will delete the notice nag key from `wp_options`.
This includes some admin area CSS tweaks, so the asset version gets a bump as well.
|
[6704]
|
johnjamesjacoby
|
Admin: allow feedback dismissal to be optional in `bbp_admin_tools_feedback()`.
|
[6703]
|
johnjamesjacoby
|
Admin: Remove duplicate dismiss button from `bbp_admin_tools_feedback()`.
|
[6702]
|
johnjamesjacoby
|
Fix weird indentation in `bbp_get_admin_repair_tool_run_url()`.
|
[6701]
|
johnjamesjacoby
|
Update docblock for `bbp_update_post_family_caches()`. See #3163.
|
[6700]
|
johnjamesjacoby
|
Common: also prime post author caches.
This change introduces another performance tweak to `bbp_has_topics()`, `bbp_has_forums()`, `bbp_has_search()`, and `bbp_has_replies()`, by pre-cache'ing the post author objects for what is known to be their imminent usage in the current template loops.
This change also renames the function & parameter introduced in r6698 to better fit existing naming conventions in WordPress.
See #3163.
|
[6699]
|
johnjamesjacoby
|
Bump trunk to 2.6.0 RC 5.
|
[6698]
|
johnjamesjacoby
|
Common: prime last-active post caches.
This change introduces a performance tweak to `bbp_has_topics()`, `bbp_has_forums()`, and `bbp_has_search()`, pre-cache'ing the last-active post objects for what is known to be their imminent usage in the current template loops.
See #3163.
|
[6697]
|
johnjamesjacoby
|
Admin: prefer `implode()` over `join()`.
|
[6696]
|
johnjamesjacoby
|
BuddyPress: Do not record edit activity if revisions are off.
This change will prevent edits to topics & replies from creating new Activity Stream items, by obeying both the global setting and the post-type-supports properties of topics & replies. It also prevents activity stream items from being created when reply positions are recalculated on the fly.
|
[6695]
|
johnjamesjacoby
|
Options: break `Features` out from `Settings` section.
This change makes it easier to discern which options are features, and which are settings for those features.
Also updates the inline descriptions for several array items.
|
[6694]
|
johnjamesjacoby
|
Options: set default database version to `0`.
This change avoids race conditions with the updater when no version exists in the database. This would cause the database version to not be bumped, resulting in rewrite rules being needlessly flushed on each visit to `wp-admin`.
(Also tweak some nearby array values to make them easier to read.)
|
[6693]
|
johnjamesjacoby
|
Update `package-lock.json` with latest dependency order.
|
[6692]
|
johnjamesjacoby
|
Classes: add more author & moderator related CSS classes to helper functions.
This change adds classes to forums, topics, and replies where the respective author is also a moderator of the nearest parent forum.
See #459.
|
[6691]
|
netweb
|
General: Update changelog date format in `readme.txt`
This changeset is a follow up to [6689].
See https://wordpress.slack.com/archives/C02RQBYSJ/p1505079124000051
|
[6690]
|
johnjamesjacoby
|
Assets: Lint recent CSS & JS changes for password toggle.
This change makes the build process work again. :)
|
[6689]
|
johnjamesjacoby
|
Read-me & Humans updates:
* Add Sergey & Pippin
* Add dates to changelog
* Consolidate 2.0.0 betas into one release
* Update plugin descriptions
|
[6688]
|
johnjamesjacoby
|
Bump readme.txt versions and changelog.
|
[6687]
|
johnjamesjacoby
|
Tag 2.5.14.
|
[6686]
|
johnjamesjacoby
|
Bump 2.5 branch to 2.5.14.
|
[6685]
|
johnjamesjacoby
|
Query: use `NOT IN` strategy in `bbp_get_all_child_ids()`
This ensures that only specific post-statuses are explicitly excluded from "all child IDs" type queries, where previously post-statuses needed to be specifically defined.
See #3128. Fixes #3140. 2.5 branch, for 2.5.14.
|
[6684]
|
johnjamesjacoby
|
General: more PHP7.1 array fixes.
See #3031. 2.5 branch, for 2.5.14.
|
[6683]
|
johnjamesjacoby
|
Template: rework post class assignments.
This change avoids multiple reassignments to the same `$classes` variable name, and instead tries to name variables logically and merge them together when necessary. The performance difference is nil, as 'array_merge()` will perform similarly to how each array was reshaped when new classes would be added, but the human difference is only positive, from having clearer and easier to understand logic.
|
[6682]
|
johnjamesjacoby
|
Template: adjust escaping of pagination count strings.
This change fixes a regression (in trunk only) that caused the filtered results of pagination counts to always be late escaped, but the intention was really only to escape the output of `_n()` which does not have an escaped equivalent function in the Gettext API.
I also tweaked the logic in `bbp_get_topic_pagination_count()` to not bail early. This brings it inline with `bbp_get_forum_pagination_count()` and allows the filter to run even when the text string is empty. Flexibility is the goal, so skipping the filter was also unintentional, and is now fixed.
Fixes #3162.
|
[6681]
|
johnjamesjacoby
|
Converter: progress bars and percentages.
This change incorporates 2 horizontal bars in the importer header area. One indicates how far the current step has progressed, and the other indicates total progress. Pretty sweet.
Trunk, for 2.6.
|
[6680]
|
johnjamesjacoby
|
Pagination: abstract and normalize common functionality.
This change introduces a few new helper functions, and audits the links generated where loops of forums, topics, and replies are made visible. It addresses a number of edge-cases in the pagination code, including:
* `view=all` state not carrying over
* Total-page boundary maybe using the wrong value to calculate the total number of available pages
* Inconsistent output of values across post types and shortcodes
* Inability to filter pagination arguments in certain use cases
* Reduces code repetition and increases general happiness
Trunk, for 2.6.
|
[6679]
|
johnjamesjacoby
|
Converter: Improve `clean` logic when checking for deleted activity.
This change fixes a condition where meta-data is out-of-sync with posts or users, resulting in a false assignment of `true` when there actually is no data to delete, and no data has been deleted. Now when this happens, the converter will proceed as intended.
Trunk, for 2.6.
|
[6678]
|
johnjamesjacoby
|
Converter: Update the options labels and descriptions.
This change should bring increased clarity to what the converter options are for.
Trunk, for 2.6.
|
[6677]
|
johnjamesjacoby
|
Converter: Add toggle to show/hide the database password contents.
This change provides a relatively sane middle-ground for insecure content warnings in the converter, by providing a button to toggle the `password` field back and forth to a `text` field. Ideally, in the future, there will be a legitimate way to do this.
Trunk, for 2.6. See #3153.
|
[6676]
|
johnjamesjacoby
|
Content: Use correct `tabindex` array key vs. `tab`.
This change corrects a debug notice when the TinyMCE toolbar setting is toggled off.
Trunk, for 2.6. See r6424. Props vinod-dalvi.
|
[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.
|
[6674]
|
johnjamesjacoby
|
BuddyPress: Prefer `bbp_redirect()` in `bbp_maybe_create_group_forum_root()`
This change uses the new internal function as it's intended, and removes an additional `die;` usage.
Trunk, for 2.6.
|
[6673]
|
johnjamesjacoby
|
Common: cast return value to `array` in `bbp_pre_get_posts_normalize_forum_visibility()`.
Trunk, for 2.6. See #3031.
|
[6672]
|
johnjamesjacoby
|
Core: Add `source` parameter to API registrations.
This change makes it easier to target bbPress-specific post types & statuses, and taxonomies. `source` may not be the final key, but thankfully all of these APIs accept additional keys, and if support is added to core eventually, we can easily migrate over to it without problems.
Trunk, for 2.6. See: https://core.trac.wordpress.org/ticket/41739
|
[6671]
|
johnjamesjacoby
|
Converter: softer verbiage on the importer buttons.
This changes "Stop" to "Pause" and "Continue" to "Resume". This more accurately represents the actions these buttons perform, while also inspiring a bit more confidence that the converter can be halted and resumed at anytime.
Trunk, for 2.6.
|
[6670]
|
johnjamesjacoby
|
Converter: more OOP, specifically for the BBCode parser.
This change introduces a `bbcode_parser_properties` array to the base converter, allowing custom BBCode parser properties to be passed into the parent method via the child, minimizing the amount of code in each individual forum converter.
Trunk, for 2.6.
|
[6669]
|
johnjamesjacoby
|
Converter: use WordPress smiley URL & path in default `callback_html()` method.
This change makes sure that smiley paths and URLs are correctly converted inside of post content areas. Previous to this, the default `smiley/img.gif` path would be used, resulting in broken smiley images, even after conversion.
Trunk, for 2.6.
|
[6668]
|
johnjamesjacoby
|
Tools: include users with "unexpected" roles in `bbp_admin_repair_user_roles()`
This change makes sure that if a user has an unexpectedly missing or predictably broken role entry, they are still mapped to the `$default_role` for the current site, and fixes a problem with the role repair tool where users with the most broken roles were still never actually repaired.
Trunk, for 2.6.
|
[6667]
|
johnjamesjacoby
|
Roles: account for empty role in `bbp_set_current_user_default_role()`
This change makes sure that if a user's role does not match any known role, they still receive the default role for the site.
Trunk, for 2.6.
|
[6666]
|
johnjamesjacoby
|
Converter: reduce `meta_key` and `meta_value` length to `75`.
This change lowers the maximum allowed string length from `191` (which was used based on what's in WordPress core.) After further review, `75` is a reasonable maximum to try for now, though it could likely be tuned further if needed.
Trunk, for 2.6. Fixes #3145.
|
[6665]
|
johnjamesjacoby
|
Converter: use `esc_like()` to avoid debug notice when cleaning users.
This change runs the `_bbp_` `meta_key` prefix through `esc_like()`, ensuring that the subsequent `prepare()` call has a value passed into it.
Trunk, for 2.6.
|
[6664]
|
johnjamesjacoby
|
Tools: add optional `description` text to upgrade & repair tools.
This change hopefully adds some real-world context to otherwise mysterious functionality, in an attempt to better explain why any specific routine should be run vs. any others.
Trunk, for 2.6. See #3149.
|
[6663]
|
johnjamesjacoby
|
Converter: ensure UI state variables are correctly localized.
This change combines the new UI state variables into an array, so they retain their type-casting through the localization API. It also inverts the logic in 1 comparison to make sure the correct user feedback is displayed in its intended location.
Trunk, for 2.6. Props jrf. Fixes #3146.
|
[6662]
|
johnjamesjacoby
|
Converter: bind number-of-rows attribute to between 1 and 5000.
This change adds validation to ensure no unexpected number of database rows are queried, and also back-ports sanitization to database connection values from trunk.
2.5 branch, for 2.5.14. Props jrf. Fixes #3148.
|
[6661]
|
johnjamesjacoby
|
Converter: bind number-of-rows attribute to between 1 and 5000.
This change adds validation to ensure no unexpected number of database rows are queried.
Trunk, for 2.6. Props jrf. See #3148.
|
[6660]
|
johnjamesjacoby
|
Widgets: add `isset()` checks to checkbox attributes.
This change fixes debug notices when saving Topics & Replies widgets and `show_date` or `show_user` are not checked.
Trunk, for 2.6. Props jrf. Fixes #3142.
|
[6659]
|
johnjamesjacoby
|
Widgets: add `isset()` checks to checkbox attributes.
This change fixes debug notices when saving Topics & Replies widgets and `show_date` or `show_user` are not checked.
2.5 branch, for 2.5.14. Props jrf. See #3142.
|
[6658]
|
SergeyBiryukov
|
Converter: Clarify `status_counting` label in Import Monitor.
Props jrf.
Fixes #3147.
|
[6657]
|
netweb
|
Build Tools: Use PHPUnit 6.x branch for Travis CI PHP 7.x jobs
|
[6656]
|
netweb
|
Build Tools: Exclude Travis CI PHP 7.2 builds for WP 4.7 & 4.8, PHP 7.2 compat will WP 4.9.
|
[6655]
|
netweb
|
Build Tools: Add Composer packages to Travis CI cache
|
[6654]
|
netweb
|
Build Tools: Fix copy pasta added in [6652]
|
[6653]
|
netweb
|
Build Tools: Run Travis-CI unit tests against WordPress 4.8.
|
[6652]
|
netweb
|
Build Tools: Check for existence `xdebug.ini` using `phpenv` for Travis CI
|
[6651]
|
netweb
|
Build Tools: Add debug echo for `TRAVIS_PHP_VERSION`
|
[6650]
|
SergeyBiryukov
|
Converter: Fix typo and improve wording of Database Settings section labels.
Props jrf.
Fixes #3143.
|
[6649]
|
SergeyBiryukov
|
i18n: Simplify [6645] with `translate_nooped_plural()`.
See #3139.
|
[6648]
|
johnjamesjacoby
|
Fix undeclared array in forum template functions for PHP 7.1 compatibility.
Props hellofromTonya. See #3031. (2.5 branch)
|
[6647]
|
johnjamesjacoby
|
Fix undeclared arrays for PHP 7.1 compatibility.
Props hellofromTonya. See #3031. (2.5 branch)
|
[6646]
|
SergeyBiryukov
|
i18n: Fix typo in text domain used for `_n()` in `bbp_get_time_since()`.
See #3139.
|
[6645]
|
johnjamesjacoby
|
i18n: Improvements to `bbp_get_time_since()`.
Use `_n_noop()` to register year/month/week/day/hour/minute/second strings in advance and `_n()` to actually translate them.
Fixes #3139. Props SergeyBiryukov.
|
[6644]
|
johnjamesjacoby
|
Topics: Introduce `bbp_get_non_public_topic_statuses()`
This new function returns the inverse post-statuses of `bbp_get_public_topic_statuses()` with a filter to help target them more specifically in places where it was not previously possible to do so.
See #3128.
|
[6643]
|
johnjamesjacoby
|
Query: use `NOT IN` strategy in `bbp_get_all_child_ids()`
This ensures that only specific post-statuses are explicitly excluded from "all child IDs" type queries, where previously post-statuses needed to be specifically defined.
See #3128.
|
[6642]
|
johnjamesjacoby
|
Docs: update the description of `bbp_get_default_role()`.
Fixes #3131.
|
[6641]
|
johnjamesjacoby
|
Scripts: Do not enqueue if not `is_bbpress()`.
This reduces the number of external scripts that are enqueued on non-bbPress pages. Put another way, it makes sure that bbPress styles & scripts are only loaded on pages where bbPress content is known to exist.
Fibes #3138. Props DJPaul.
|