[6458]
|
johnjamesjacoby
|
Converter: Improve error responses and UX when converter halts.
|
[6457]
|
johnjamesjacoby
|
Converter: Make sure the sync-table has a chance to be made on first run when not cleaning.
Also default `$start` values to `1` in the event some empty value is erroneously passed through.
|
[6456]
|
johnjamesjacoby
|
Converter: Multiple converter improvements
* Move classes into their own files
* Move `converter.php` into `/admin/tools/`
* Escape output of translated strings where possible
* Introduce `bbp_converter_db_connection_failed` error handler, in the event the origin database connection cannot be established
* Sets `WP_SETUP_CONFIG` constant to `true` to control `$wpdb->db_connect()` bail from using `db-error.php`
* Use `sanitize_text_field()` on database connection values
* Invisibly default to `DB_` constants if database connection values are empty
* introduce `convert_users` class parameter to limit direct touches to `$_POST` value
* Smarter defaults for converter options
|
[6455]
|
johnjamesjacoby
|
Moderators: Prefer `sanitize_title` over `trim`. See #3097.
|
[6454]
|
johnjamesjacoby
|
Moderators: Trim usernames after they're exploded.
Resolves an issue where spaces in the comma separated usernames field would result in skipping that user.
Fixes #3097.
|
[6453]
|
johnjamesjacoby
|
Topic Tags: set `is_archive` to `true` when viewing a topic tag archive.
Fixes #3071.
|
[6452]
|
johnjamesjacoby
|
Templates: Replace `the_permalink()` calls with more specific template tags.
Resolves issue where BuddyPress group forums would collide with literal page IDs when not using theme-compat.
Fixes #3030.
|
[6451]
|
johnjamesjacoby
|
Où mettre!
|
[6450]
|
johnjamesjacoby
|
Topic Tags: When deleting a topic tag, redirect to the forum root.
`home_url()` was a bit too jarring; no one expects to get kicked out of the forums entirely.
|
[6449]
|
johnjamesjacoby
|
Converters: Fix formatting on several converter methods.
|
[6448]
|
johnjamesjacoby
|
Converter: Introduce `bbp_get_converters()` to DRY the directory crawling code.
Also allows converters to be filtered, should someone want to include their own in a plugin.
See #3095.
|
[6447]
|
johnjamesjacoby
|
Converter: Refresh to registered settings
* `ksort()` the Platform list, and exclude "Example" since it's not usable
* Turn some `text` fields into `number` fields, with reasonable boundaries
* Add `code` classes to database fields
* Update some labels & descriptions
Fixes #3095.
|
[6446]
|
johnjamesjacoby
|
Engagements: Performance optimizations to `bbp_update_topic_voice_count()`.
* Use a `UNION` query strategy (only on the `wp_posts` table)
* Compare old count to new count before deleting & updating engagements
Fixes #3083. Props januzi_pl.
|
[6445]
|
johnjamesjacoby
|
Subscriptions: Remove `array_filter( array_map() )` bit from `$user_ids`.
This now is handled upstream inside of `bbp_get_forum_subscribers()` and friends.
|
[6444]
|
johnjamesjacoby
|
Settings: Update `int` handling of `bbp_past_edit_lock()`.
|
[6443]
|
johnjamesjacoby
|
Settings: Update Engagements setting description to better match others.
|
[6442]
|
johnjamesjacoby
|
Settings: Add `_allow_` settings for editing & flooding, and revise the verbiage.
This allows for flood checking & editing to be:
* Completely disabled
* Overridden via filters
* Editing allowed forever
* A bit more descriptive with additional context provided
|
[6441]
|
johnjamesjacoby
|
Help: Update help text, and include a bit about the "Theme Packages" section.
|
[6440]
|
johnjamesjacoby
|
Common: introduce `bbp_has_shortcode()` to check if some text contains a bbPress shortcode.
If a shortcode was found in the global post content, a few extra things will happen:
* The `bbp-shortcode` class is added to the `body` tag
* `is_bbpress()` will now return `true`, to help enqueue additional styles & scripts on those pages in themes that want to support bbPress natively
Fixes #2996.
|
[6439]
|
johnjamesjacoby
|
Engagements: Remove `bbp_get_topic()` checks from engagements.
See #3083.
|
[6438]
|
johnjamesjacoby
|
Tools: Add `//Filter & return` note for future discovery of missing filter documentation.
Also adjust some type-casting on filtered results.
|
[6437]
|
johnjamesjacoby
|
General: Tidying from looking into #2876.
|
[6436]
|
johnjamesjacoby
|
Tests: update `test_bbp_get_topic_last_reply_permalink()` to use `bbp_get_forum_last_topic_permalink()`.
|
[6435]
|
johnjamesjacoby
|
Settings: Add a note to the `_bbp_show_on_root` setting if a forum archive template is found in the template stack.
Fixes confusion that would arise when using the `archive-forum.php` found in the `/extras/` directory.
Fixes #3081.
|
[6434]
|
johnjamesjacoby
|
Queries: Update `orderby` clauses of last-id queries to ensure more accurate results, specifically for imported forums and posts where IDs and `post_date` columns might be inverted.
Also update a few tests to be less cranky with exact array results.
Props thebrandonallen. Fixes #3108.
|
[6433]
|
johnjamesjacoby
|
Forms: Introduce `bbp_tab_index_attribute()` helpers to handle `tabindex` attribute output.
Note that these functions are used but normally their output is suppressed, because overriding the browser's natural `tabindex` order is impolite, and may introduce more issues than it actually fixes.
(Also includes some surrounding code clean-up.)
|
[6432]
|
johnjamesjacoby
|
Trash: Introduce `bbp_get_trash_days()` helper function.
This will allow the trashability of an object type to be short-circuited, around the `EMPTY_TRASH_DAYS` constant.
|
[6431]
|
johnjamesjacoby
|
Users: Connect `bbp_allow_forums_of_user` filter to `bbp_get_excluded_forum_ids` filter.
This prevents excluding private or hidden forums that the currently logged in user can explicitly moderate.
Fixes #2593.
|
[6430]
|
johnjamesjacoby
|
Remove more debug cruft.
|
[6429]
|
johnjamesjacoby
|
Remove debug cruft.
|
[6428]
|
johnjamesjacoby
|
Repair: In `bbp_repair_forum_visibility()`, don't bail if an error occurs.
Instead, skip the erroneous results and update the valid ones.
|
[6427]
|
johnjamesjacoby
|
Replies: fix incorrect inline doc in `bbp_current_user_can_access_create_reply_form()`.
|
[6426]
|
johnjamesjacoby
|
Users: Introduce `bbp_get_excluded_forum_ids()`.
This function will be used in places where private & hidden forum IDs are combined to determine which forums should be excluded from specific queries.
See #2593.
|
[6425]
|
johnjamesjacoby
|
Users: Introduce `bbp_allow_forums_of_user()`.
This filter-only function will be used to remove private & hidden forums from being excluded in queries, for users who are explicitly allowed forums that they would not otherwise be able to access.
See #2593.
|
[6424]
|
johnjamesjacoby
|
Admin: in list-tables, if no parent forum/topic, show `—` instead.
Also make sure a few strings are escaped, and dropdowns are using correct parent text.
|
[6422]
|
johnjamesjacoby
|
Users: move user relationships functions into `engagements.php`.
|
[6421]
|
johnjamesjacoby
|
Users: move Engagements API into its own `engagements.php` file.
`/users/functions.php` is getting a bit gnarly.
|
[6420]
|
johnjamesjacoby
|
Settings: remove directory path from option text.
|
[6419]
|
johnjamesjacoby
|
Settings: General improvements:
* Use escaped equivalent for gettext output
* Update settings-integration away from `bool` to allow future flexibility
* Stash settings fields in a static variable to speed up registration
|
[6415]
|
johnjamesjacoby
|
`in_array()`: be strict whenever possible.
Use `wp_parse_id_list()` on certain array values to ensure proper results.
|
[6414]
|
johnjamesjacoby
|
Forums: Audit private/hidden forum ID exclusion:
* improve performance of `bbp_exclude_forum_ids()`
* Use `bbp_exclude_forum_ids()` where duplicate code existed
* Make sure `$forum_ids` are passed into `bbp_exclude_forum_ids` filter
* Prefer arrays over imploded strings (also with post statuses)
|
[6413]
|
johnjamesjacoby
|
Users: Admin sub-headings are now `h2` tags.
|
[6412]
|
johnjamesjacoby
|
Tag 2.5.13.
|
[6411]
|
johnjamesjacoby
|
Bump 2.5 branch to 2.5.13.
|
[6410]
|
johnjamesjacoby
|
Queries: Deprecate `bbp_query_post_parent__in()` in the 2.5 branch.
4.7 is the minimum WordPress version, so we can support `post_parent__not_in` directly.
See #2832.
|
[6409]
|
johnjamesjacoby
|
Templates: remove box-shadow styling on avatars and links.
Improves styling with Twenty Seventeen theme.
|
[6407]
|
johnjamesjacoby
|
Moderators: Another performance optimization in `bbp_is_user_forum_moderator()`.
Use `bbp_is_object_of_user()` directly, and clean-up local variable reassignments.
|
[6406]
|
johnjamesjacoby
|
Moderators: Performance optimization in `bbp_is_user_forum_moderator()`.
Rather than query for all forums a user can moderate, query for the users that can moderate the forum. This data is likely already hot in the meta-data cache from forums being loaded previously, and eliminates the need to query for forum IDs that are unrelated to the one being checked.
|
[6402]
|
johnjamesjacoby
|
Stickies: Improved algorithm for merging stickies to queried posts
* Separate into overloadable function
* Tighter, less wasteful loops through existing query
* Improved sort-ordering of topics by their most recent post activity
* Also separate pagination base URL into new function, out of `bbp_has_topics()`
|
[6401]
|
johnjamesjacoby
|
Stickies: Update forum/topic meta early in `bbp_update_topic()`
* Makes meta-data available earlier for downstream functions
* Removes ineffective assumption of forum-topic-id when empty
This fixes a situation where trying to stick a new topic to a forum would look for the `_bbp_forum_id` meta-data before it was updated.
Fixes #3103.
|
[6400]
|
johnjamesjacoby
|
Anonymous: Improve `$anonymous_data` implementation:
* Always treat it as an array, handling for `false` values was never used
* Introduce `_sanitize_` and `_update_` partner functions for the existing `_filter_` function
* Ensure that cookies and meta-data values are stripped of invalid characters in the same way that anonymous comments are, to prevent inconsistencies between anonymous forum and commenter cookie data
* Update surrounding documentation blocks
* Prefer strict type-casting and `is_array()` comparisons
|
[6399]
|
johnjamesjacoby
|
Anonymous: Clean-up `bbp_set_current_anonymous_user_data()`:
* Make sure cookies are secure when SSL
* Only call `time()` once to avoid potential delays
* Cast cookie lifetime to `int` after filtering
* Inline docs
|
[6398]
|
johnjamesjacoby
|
Parenthesis clean-up.
|
[6397]
|
johnjamesjacoby
|
Admin: Update row action toggle methods to be a bit more flexible.
This should improve support for custom toggle actions in `wp-admin`.
|
[6396]
|
johnjamesjacoby
|
Replies: Invert the `$show_none` comparison, to fix the default drop-down text.
Props SergeyBiryukov. Fixes #2617.
|
[6395]
|
johnjamesjacoby
|
Credits: Add "Project Emeriti" section, and add Sergey & Brandon as Contributing Developers.
Also update the tagline.
|
[6394]
|
johnjamesjacoby
|
Credits: Remove superfluous `alt` text for project leaders and contributors.
Props mercime. Fixes #3099.
|
[6393]
|
johnjamesjacoby
|
Tools: User `and` over `&` for easier translation.
Props casiepa. Fixes #3096.
|
[6392]
|
johnjamesjacoby
|
BuddyPress: Missed the skipping of groups tests. Proprs thebrandonallen. Fixes #3089.
|
[6391]
|
johnjamesjacoby
|
BuddyPress: Switch activity action back to `$this->component` and skip groups tests.
Proprs thebrandonallen. Fixes #3089.
|
[6390]
|
johnjamesjacoby
|
Clean-up `bbp_current_author_ua()`.
|
[6389]
|
johnjamesjacoby
|
Engagements: Simplify `bbp_is_user_engaged()`.
* Remove `$engagements` gathering & return in filter
* Remove topic verification dance (no reason to re-get or guess at the topic)
* Add `$user_id` validation
Props thebrandonallen. FIxes #3090.
|
[6388]
|
johnjamesjacoby
|
Replies: Add `role="button"` to reply-to links.
Also normalize surrounding "Reply" text escaping.
Fixes #3092. Props alexstine.
|
[6387]
|
johnjamesjacoby
|
More graceful handling of the `$post` global in `bbp_get_global_post_field()`.
|
[6386]
|
johnjamesjacoby
|
Add original function parameters to `bbp_get_global_post_field` filter.
|
[6385]
|
johnjamesjacoby
|
Topics: Fix recursive call from find/replace. See r6384.
|
[6384]
|
johnjamesjacoby
|
Moderation: Allow per-forum moderators to edit topics & replies inside of forums they have moderation control over.
This feature require the following changes:
* Prefer `read_forum` capability check over `read_private_forums` or `read_hidden_forums`, and include a `$forum_id` parameter to assist `map_meta_cap` filters
* Prefer `edit_others_topics|replies` over `moderate` where appropriate, to ensure capability mappings work as intended
* Introduce `bbp_get_public_topic_statuses()` to replace several duplicate occurrences of the same array usage (also allow these to be filtered)
* Introduce `bbp_is_topic_public()` (not to be confused with `bbp_is_topic_published()`) to provide parity with `bbp_is_forum_public()` and also utilize `bbp_get_public_topic_statuses()` from above
* Add local caching to `bbp_exclude_forum_ids()` as a performance optimization to reduce the depth of `current_user_can()` calls when private & hidden forums are in use
* Add `user_can( 'moderate' )` capability checks to various mappings, to ensure forum moderators can read/edit/delete content inside of the individual forums they are moderators of
* Use `bbp_get_user_id()` where appropriate, rather than casting as `int`
* Various surrounding code clean-ups
See #2593.
|
[6383]
|
johnjamesjacoby
|
BuddyPress: Bail if in a feed.
Props r-a-y, netweb. Fixes #2745.
|
[6382]
|
johnjamesjacoby
|
Mentions: Add tests for square and round brackets.
See #2963.
|
[6381]
|
johnjamesjacoby
|
Mentions: Move topic/reply content filters into the same section of `filters.php`.
Also add `wp_make_content_images_responsive` filter, to match core content areas.
See #2963.
|
[6380]
|
johnjamesjacoby
|
Mentions: Balance tags before making things clickable.
Then, make mentions clickable without "requiring" prepending whitespace. This allows other types of characters to be immediately before the `@` control character.
See #2963.
|
[6379]
|
johnjamesjacoby
|
Tests: Add XSS tests for topic titles.
These are in addition to post-title tests already present in WordPress core, for cases where theme-side, user-generated content is more likely to be targeted by less-trustworthy users than Editors or Administrators.
|
[6378]
|
johnjamesjacoby
|
Formatting: Add rel-nofollow to tests. See #2963.
|
[6377]
|
johnjamesjacoby
|
Formatting: More tests for at-mentions.
Props netweb. See #2963.
|
[6372]
|
johnjamesjacoby
|
BuddyPress: Dynamic activity for topics & replies, part 2.
* Filters for activity action functions
* Tests for the new activity filters
Props thebrandonallen. See #2794.
|
[6370]
|
johnjamesjacoby
|
BuddyPress: Dynamic activity for topics & replies, part 1.
* Functions for activity action filters
Props thebrandonallen. See #2794.
|
[6369]
|
johnjamesjacoby
|
Engagements: Move engagement count updates to action hooks.
Props thebrandonallen. Fixes #3068.
|
[6368]
|
johnjamesjacoby
|
BuddyPress: Update inline doc for group-forum filter. See #2974.
|
[6367]
|
johnjamesjacoby
|
BuddyPress: Filter `bbp_is_single_forum` for group forums.
Props r-a-y. Fixes #2727. See #2974.
|
[6366]
|
johnjamesjacoby
|
General: Remove end-of-file `?>` tags from extra templates.
These templates are theme drop-ins, and apparently were missed in previous clean-up efforts.
Props milindmore22. Fixes #3078.
|
[6360]
|
johnjamesjacoby
|
Trash: Cast `_pre_` post-meta values to an array.
Prevents notices & warnings in the event 0 or 1 replies exist.
Props SergeyBiryukov. Fixes #3053.
|
[6359]
|
johnjamesjacoby
|
User Options: Clean-up favorites & subscriptions from options,
|
[6358]
|
johnjamesjacoby
|
Fix teh typohs.
|
[6354]
|
johnjamesjacoby
|
Hidden: Revert part of r6303, and improve some surrounding code:
* Tiny function-call optimizations
* Use integers for `_n()` and formatted strings for output
* Type casting, phpdoc, and code formatting improvements
Fixes #3077.
|
[6353]
|
johnjamesjacoby
|
Core: General core function clean-up.
Mostly odds & ends, formatting, type-casting, etc...
|
[6350]
|
johnjamesjacoby
|
Admin: Avatar margins on user relationship meta-boxes.
|
[6347]
|
johnjamesjacoby
|
Formatting: Filter out mention classes in unit tests, and remove `rel="nofollow"` on mention URLs.
Also improve array handling of `bbp_make_mentions_clickable_classes` filter, in the event something weird gets filtered through it.
See #3074.
|
[6346]
|
johnjamesjacoby
|
Mentions: Add classes and basic styling to mention clickable callback.
Fixes #3074. See #meta-2542.
|
[6344]
|
johnjamesjacoby
|
Moderation: Implement theme-side edit-lock interface.
* Edits to defaut theme javascript to interact with alert UI
* Add `alert-topic-lock.php` template part
* Add topic functions relating to edit-lock functionality
* Modify single-topic and topic-edit template parts to include the alert part
* Add CSS to Default template pack to stylize edit-lock alert like a modal (could be pretty much anything)
Props pippin for inspiration. See #3074.
|
[6343]
|
johnjamesjacoby
|
Templates: Localize topic ID and forum ID.
|
[6342]
|
johnjamesjacoby
|
Moderation: Clean-up from r6341. Props netweb.
|
[6341]
|
johnjamesjacoby
|
Moderation: Use the appropriate `_edit_` post meta when editing a forum/topic/reply.
This first pass does not introduce any theme-side edit-locking interface, but it will warn any user within `wp-admin` if another user is editing something theme-side.
See #3073.
|
[6340]
|
johnjamesjacoby
|
Engagements: Improve efficiency of upgrade & repair tools.
Props thebrandonallen. See #3068.
|
[6339]
|
johnjamesjacoby
|
Bump trunk to 2.6.0 beta 3
|
[6338]
|
johnjamesjacoby
|
Add `bbp_rel_nofollow()` to `bbp_get_cancel_reply_to_link` filter.
Also clean-up `bbp_get_cancel_reply_to_link()` a bit.
See #3067.
|
[6337]
|
johnjamesjacoby
|
Use `bbp_rel_nofollow()` in deprecated `bbp_mention_filter()` for the sake of parity & coverage. See #3067.
|
[6336]
|
johnjamesjacoby
|
Use `bbp_rel_nofollow()` in `bbp_make_mentions_clickable_callback()`. See #3067.
|
[6335]
|
johnjamesjacoby
|
Add missing `sep` argument to `bbp_get_author_link()` function, to match topic & reply equivalents.
|
[6334]
|
johnjamesjacoby
|
Engagements: Integrate the `user_query` into favorites, subscriptions, and engagements.
* Add to admin metabox avatar loops
* Fix a few bugs in `BBP_User_Query`, and include a custom constructor to set the loop counter
See #3068.
|
[6332]
|
johnjamesjacoby
|
Engagements: First pass at a `user_query`, which will be used for looping through users.
* Introduces `BBP_User_Query` which extends `WP_User_Query`
* Includes functions for use within template parts
See #3068.
|