[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.
|
[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.
|
[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)
|
[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.
|
[6640]
|
johnjamesjacoby
|
Converter: Make it all work again!
* Send a response when a step is complete (to trigger the subsequent step)
* Remove `min` class variable, and use `start` everywhere instead
* Move giant step switch into a `steps` array instead (a lot more can be done here later)
* Break apart a few private methods to make the call stack easier to follow
* Store the `platform` for use in inherited objects later
This commit makes the converter work again, tested against a few large database dumps from several platforms to confirm.
|
[6639]
|
johnjamesjacoby
|
Converter: Use `false` as the default value for some options.
This ensures that `default_option_` values are still overloadable when converting.
|
[6638]
|
johnjamesjacoby
|
Converter: Introduce `update_query()` method, to help with updating the last query option.
This abstracts the `update_option()` approach for future scrutiny.
|
[6636]
|
johnjamesjacoby
|
Converter: Update `bbp_converter_status()` to use current step.
When actually converting data, this step is only bumped when moving between major events, not minors.
|
[6635]
|
johnjamesjacoby
|
Converter: Don't use `delete_option()` on converter options.
Default option filters are breaking `update_option()` return values when options do not exist, so remove this optimization and save it for when a conversion is completed.
This needs more looking into.
|
[6634]
|
johnjamesjacoby
|
Converter: Tweak description of `restart` setting to better hint at what it does.
|
[6633]
|
johnjamesjacoby
|
Converter: Use error control operator on `Internal_UpdateParamsForMissingEndTag()`
Avoids polluting the php error logs if position is not byref.
|
[6632]
|
johnjamesjacoby
|
Converter: Clean user cache when converting a user's password field.
This makes sure the user object is pristine on the subsequent request to it, fixing possible race conditions with authentication errors.
|
[6631]
|
johnjamesjacoby
|
Converter: Add missing `_bbp_converter_convert_users` option key.
Prevents debug notices when also converting user accounts from other platforms.
|
[6630]
|
johnjamesjacoby
|
Search: move `bbp_allow_search()` checks into form template parts.
This allows the inclusion of those forms without needing to wrap each inclusion statement in its own feature check, making search a more atomic and isolated feature within bbPress.
It also should conclude the development of the user content search functionality.
Because this involves some template-part changes to the "Default" template pack, users who have opted to override these parts in their own themes will not receive these updates (nor should they.) This is a known consequence of including template parts in themes, so while still not an ideal system, will not result in any breakage for existing sites.
|
[6629]
|
johnjamesjacoby
|
Search: Use correct `rs` request key.
Fixes a debug notice when searching replies inside of topics.
|
[6628]
|
johnjamesjacoby
|
Separators: Normalize the `sep` arguments between functions.
This change also switches `bbp_list_forums()` to `implode()` links rather than concatenate the same `$output` string with an increasing number of items. This has the positive side-effect of moving the forum separator (a comma by default) out of individual links.
Props milindmore22. Fixes #2900.
|
[6627]
|
johnjamesjacoby
|
General: Make sure object `_get_` functions reach intended filters.
This retains existing behavior of bailing early and returning `null` if there is a `post_type` mismatch. Other similar functions would pass the `null` value through to the filter. These may do that eventually, but let's get these filters working first.
Fixes #3130.
|
[6623]
|
johnjamesjacoby
|
Users: First-pass search forms in profile content pages.
This commit makes it possible to search user profiles for specific topics & replies (styling still needed.)
|
[6622]
|
johnjamesjacoby
|
Templates: Add form template parts for searching specifically for topics & replies.
These have been in-use on BuddyPress.org/bbPress.org for years, and will be useful in user-profiles soon.
Also use `bbp_search_terms()` in `form-search.php` now that it's properly escaping output.
|
[6621]
|
johnjamesjacoby
|
Replies: Normalize `bbp_has_replies()` default search with `bbp_has_topics()`.
This brings parity to how these two functions handle default search parameters.
|
[6620]
|
johnjamesjacoby
|
Search: Escape output of `bbp_search_terms()` and wire-up to `ts` and `rs`.
|
[6619]
|
johnjamesjacoby
|
Users: Use `bbp_parse_args()` in user content loops.
This commit changes the function signatures of several wrappers for `bbp_has_` functions away from simply accepting a `$user_id` to accepting an array of arguments, in a fully backwards compatible way. It also updates the surrounding documentation to more accurately describe what is returned and why.
This allows the arguments used within these functions to be explicitly filtered, passively or aggressively overridden, or bypassed entirely.
|
[6618]
|
johnjamesjacoby
|
Topics: prefer "started" over "created" for default theme verbiage.
|
[6616]
|
johnjamesjacoby
|
Subscriptions: Include `closed` status in subscription triggers.
This change allows activity in closed topics to trigger subscription emails. It also fully implements `bbp_get_subscribers()` completing the deprecation of topic/forum specific handlers.
Fixes #2729.
|
[6615]
|
johnjamesjacoby
|
Template Packs: In default theme, only enqueue `editor.js` when `in_bbpress()`.
This results in 1 fewer external asset being enqueued on non-bbPress pages.
Fixes #2930.
|
[6614]
|
johnjamesjacoby
|
Subscriptions: Use `bbp_remove_all_filters()` with restore option.
This change uses the bbPress version of `remove_all_filters()` which allows those filters to be restored. We need to restore filters after emails are sent so that template titles & content render correctly within their respective templates.
See #6613.
|
[6613]
|
johnjamesjacoby
|
Subscriptions: Strip & decode email titles.
Props thebrandonallen. Fixes #2865.
|
[6612]
|
johnjamesjacoby
|
Queries: Use new `object_type` over old `post_type`.
When `bbp_get_user_object_ids()` was introduced, some helpers did not get updated to use the new argument key. This change fixes that, and fixes failing tests in the process.
Note that these tests are testing new & unused helper functions for 2.6, so it's unlikely any noticable problems occurred from these being broken.
|
[6611]
|
johnjamesjacoby
|
Topics: Remove `bbp_get_user_closed_topic_count()`.
This was introduced in the 2.6 cycle to circumvent a problem from using `count_user_posts()`. Now that we're doing a direct query again, this function is no longer used.
See #6610.
|
[6609]
|
johnjamesjacoby
|
Counts: Remove `count_user_posts()` usages, and always return an `int`.
User topic & reply counts haven't included `closed` status for topics, and these wrappers should include support for things like `view=all` later.
Fixes #3124.
|
[6608]
|
johnjamesjacoby
|
Assets: Update admin CSS/JS to match lint rules, and update packages.
|
[6607]
|
johnjamesjacoby
|
Queries: `nopaging` audit.
* In r6506 the `nopaging` query argument was added to various queries to avoid paginating results when it wasn't necessary. This resulted in a few queries (widgets mainly) not obeying their specific settings.
* In #3123, other inconsistencies in our query arguments were uncovered, triggering the need to audit our query usages and equalize them once again.
This change brings all queries back to par with one another, specifically in regards to `posts_per_page => -1` style queries, and queries where filters can be suppressed and meta/term caches should not be primed.
It also groups together the `get_user_object_ids` functions. These are now unused in bbPress proper, though were previously useful before the engagements API was in place. These queries are considered too inefficient to rely upon in large-scale applications, but are included to provide filterable wrappers should someone need them, or should we need to bring them back later.
Props thebrandonallen. Fixes #3123.
|
[6606]
|
johnjamesjacoby
|
Widgets: Remove `nopaging` keys from widget queries.
This reverts part of r6506 that broke the `max_rows` setting of widgets.
Props thebrandonallen. See #3123.
|
[6605]
|
johnjamesjacoby
|
Styling: More aggressively remove borders on anchor elements.
Some themes very stubbornly insist on having shadows & lines around them.
|
[6604]
|
johnjamesjacoby
|
Admin: Use some JavaScript to spruce up the badge-animation.
@todo Update the "What's New" page contents.
|
[6603]
|
johnjamesjacoby
|
Admin: buzz & swoop.
|
[6602]
|
johnjamesjacoby
|
Admin: Remove obscure 'About bbPress' admin-bar link.
Nobody ever really used it, and less is more in this case.
|
[6601]
|
johnjamesjacoby
|
Admin/Converter: Lazy load admin & converter as needed.
* Move admin class into its own file
* Remove `admin.php`
* Introduce `_setup_` functions to make loading them on the fly easier
* Simplify converter logic for smoother starting/stopping
* Improved UI for timer/status updates
* Remove double-duty variables from `BBP_Converter` and response data
* Switch from text-only response value to JSON object for improved flexibility
This allows the converter to return more data, and makes it easier to work with that data.
Todo:
* Error responses
* Check that starts are bumping correctly inside of steps
* Better utilize JSON responses
|
[6600]
|
johnjamesjacoby
|
Converter: Add `halt` setting for stopping the importer when an error occurs.
Next: implement in Converter.
|
[6599]
|
johnjamesjacoby
|
Converter: Default values to `0` so converter starts correctly.
|
[6598]
|
johnjamesjacoby
|
Styling: No border on forums links.
An increasing number of themes are putting borders on links by default to simulate an underline, which causes every link in the forums to be styled in unanticipated ways.
This changeset ensures that links in the entry-content section in forums do not have faux-underlines or excessive attention drawn to them.
|
[6597]
|
johnjamesjacoby
|
Tag 2.6 RC 4.
|
[6596]
|
johnjamesjacoby
|
Bump to 2.6 RC 4.
|
[6595]
|
johnjamesjacoby
|
Bump the asset version to latest revision.
|
[6594]
|
johnjamesjacoby
|
Users: Offer the login form in place of topic/reply forms if user is logged out.
|
[6593]
|
johnjamesjacoby
|
Tools: Use `delete_metadata()` to remove favs & subs without a `foreach` loop.
|
[6592]
|
johnjamesjacoby
|
Users: Add `user_url`, `user_registered`, and last-active to profiles.
Also divide profile page up into 2 sections: Profile & Forums.
|
[6591]
|
johnjamesjacoby
|
Authors: Rejig author link functions.
* Allow for easier filtering of link sections
* Update default arguments to remove no-break space and `<br>`, and rely on styling instead
* Surrounding code clean-up
* Add escaping to display names in links
|
[6590]
|
johnjamesjacoby
|
Styling: No text shadow on editor buttons.
|
[6589]
|
johnjamesjacoby
|
Styling: Bump assets version & remove prefixes from default.css.
Prefixes are put back during build.
|
[6588]
|
johnjamesjacoby
|
Styling: Clean-up default styling to pass style linting rules.
|
[6587]
|
johnjamesjacoby
|
Styling: Flatten the editor buttons, and force fieldset legend width & border.
This improves default theme compatibility.
|
[6586]
|
johnjamesjacoby
|
404: Use `! empty()` over `isset()` to only account for `true` values in `bbp_is_404`.
This fixes broken `/edit/` theme-side URLs, that will redirect otherwise.
|
[6585]
|
johnjamesjacoby
|
Cache: make `bbp_clean_post_cache()` an action-only function.
Instead of calling `bbp_clean_post_cache()` directly, we'll call `clean_post_cache()` as per normal and hook `bbp_clean_post_cache()` to the end of it. This reduces a bunch of superfluous cache invalidation from occurring back-to-back.
We'll also only ever update the `last_changed` cache key when we've reached the forum-root. This makes sure that subsequent recursive calls up the `post_parent` tree are dealing with the same `last_changed` value until the end.
This change will reduce the number of cache invalidation calls by a large amount, improving functional performance for database writes to the post & postmeta tables.
|
[6584]
|
johnjamesjacoby
|
Tests: Remove debug cruft from r6583.
|
[6583]
|
johnjamesjacoby
|
Better 404 handling:
* Introduce `bbp_is_404` query var, and set this in places where the default 404 condition needs to be overridden
* Introduce `bbp_set_200()` for cases where a default of 404 needs to be set to a 200
* Introduce `bbp_get_wp_query()` helper for getting the `$wp_query` global
* Update `bbp_set_404()` to accept a `$query` parameter to make passing the query around easier
* Update child-ids queries to use the `last_changed` cache to reduce the amount of cache churn when cleaning
Fixes #3047. See #1973.
|
[6582]
|
johnjamesjacoby
|
Globals: Use `bbp_get_global_object()` instead of touching `$wp_query` directly in template functions.
|
[6581]
|
johnjamesjacoby
|
Ajax: in `bbp_do_ajax()` use `wp_die()` instead of `die()` so any custom handlers are used.
|
[6580]
|
johnjamesjacoby
|
Documentation: Typo fixes in users functions.
|
[6578]
|
johnjamesjacoby
|
Theme: Put back vendor prefixes in default template pack styling.
|
[6576]
|
johnjamesjacoby
|
Forums: Use `bbp_get_forum_subforum_count()` in `bbp_forum_get_subforums()`.
This performance optimization will result in 1 less query per forum in the forums list that does not have subforums, by checking the subforum meta-data before trying to query for subforums that do not exist anyways.
This is less of an issue with a persistent object cache, but those without that luxury can now save those database queries for when they really matter.
|
[6575]
|
johnjamesjacoby
|
Super Moderators: prefer `edit_user` with an ID over `edit_users` without one.
This change makes sure we know exactly which user ID the user is trying to edit. In cases where there is no ID available, we'll try to guess at the displayed user ID, and if that's empty too, we'll do nothing.
This allows the "User Role" template part to load properly for Super Moderators.
|
[6574]
|
johnjamesjacoby
|
Super Moderators: Compare the user ID to `$args[0]` instead.
This change makes sure the proper user IDs are compared, and also prevents super moderators from editing Keymasters (demotions can't come from users with a less capable role than their own.)
|