[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.
|
[6331]
|
johnjamesjacoby
|
Bootstrap: Split `setup_globals()` up into 2 methods:
* `setup_environment()` to handle directories, paths, urls, etc...
* `setup_variables()` to handle queries, rewrite rules, bbPress specific "globals", etc...
This will allow us to use included functions as default variables later.
|
[6330]
|
johnjamesjacoby
|
Engagements: Updates existing functions & unit tests:
* Correct tests so that `post_author` of 0 does not get included in the overall count
* Add user IDs to all topics & replies where voice counts are being tested
* Update voice-count update function to use the new user-relationships API
* Clean-up topic merge code to more efficiently migrate favorites, subscriptions, and engagements
See #3068.
|
[6329]
|
johnjamesjacoby
|
Core: Allow custom post authors for initial content (forum/topic/reply).
|
[6328]
|
johnjamesjacoby
|
Common: Remove `nofollow` from tests. See #3067.
|
[6327]
|
johnjamesjacoby
|
Engagements/BuddyPress: Add `@since` for changes in 2.6.0, and a bit more clean-up.
See #3068.
|
[6326]
|
johnjamesjacoby
|
Engagements/BuddyPress: Finish integration, and clean-up favorites & subscriptions support.
See #3068.
|
[6325]
|
johnjamesjacoby
|
Upgrade: Update PHPDoc of `bbp_setup_updater()`, to reference correct `@uses`.
|
[6324]
|
johnjamesjacoby
|
Engagements: Prefer `bbp_admin_upgrade_user_engagements()` over the old repair tool.
See #3068.
|
[6323]
|
johnjamesjacoby
|
Engagements: Fix copy/paste error in r6322.
See #3068.
|
[6322]
|
johnjamesjacoby
|
Engagements: Add `bbp_is_engagements_active` to default options array.
See #3068.
|
[6321]
|
johnjamesjacoby
|
Engagements: Allow engagements to be toggled on/off, for forums that have not run the upgrade routine yet.
Also missed a spot in the BuddyPress integration.
See #3068.
|
[6320]
|
johnjamesjacoby
|
Engagements: First pass at:
* User profile section
* Template parts changes
* Rewrite rules support
* Repair & upgrade tools
* BuddyPress support
* `engagement` slug setting
See #3068.
|
[6319]
|
johnjamesjacoby
|
Correct typos in User Template phpdoc blocks.
|
[6318]
|
johnjamesjacoby
|
Feeds: Run for it, Marty!
Props thebrandonallen. Fixes #3066.
|
[6317]
|
johnjamesjacoby
|
Replies: Ensure hierarchical replies are correctly wrapped & concatenated into their output buffers in the correct order.
This updates the walker class to not immediately echo it's contents, and wraps it in an `ul` element.
Fixes #2757. See #2830.
|
[6316]
|
johnjamesjacoby
|
Replies: Check for reply hierarchy before assuming topic-title in reply-to.
Fixes a bug causing malformed output when creating a reply via `wp-admin`.
Props tharsheblows . Fixes #2617. See #2844.
|
[6315]
|
johnjamesjacoby
|
Forums: Introduce `bbp_list_forums_subforum_classes` filter, to allow filtering of sub-forum links.
Props gordielachance. Fixes #2760.
|
[6314]
|
johnjamesjacoby
|
Theme Compat: Revert part of r5470, causing user profiles to output comment sections.
Fixes #3050. See #2545.
|
[6313]
|
johnjamesjacoby
|
Common: Update `bbp_rel_nofollow_callback()` to match latest approach in WordPress.
bbPress continues to have its own version to support this on output vs. pre-save.
Fixes #3067.
|
[6312]
|
johnjamesjacoby
|
Moderation: Maybe add `view=all` query-arguments to view links in row actions.
Fixes #2938.
|
[6311]
|
johnjamesjacoby
|
Engagements: First pass at engagement user functions.
Also update favorite/subscription documentation where inaccurate.
See #3068.
|
[6310]
|
johnjamesjacoby
|
Voices: Only update voice counts when saving or deleting.
Prevents overzealous recalculations of voice counts when it's not necessary or applicable.
Props thebrandonallen. See #1799.
|
[6309]
|
johnjamesjacoby
|
Favorites/Subscriptions: Pagination & `redirect_to` clean-up.
* PHPDoc & inline doc
* Prefer `urlencode()` over `esc_url()` for `redirect_to` query argument
* Corrections to forum & topic subscription loop logic, since they're both listed on the same page
See #3065.
|
[6308]
|
johnjamesjacoby
|
Favorites/Subscriptions: Add paged data to permalinks when in the loop.
Also add`redirect_to` parameters to links if passed in.
Fixes #3065.
|
[6307]
|
johnjamesjacoby
|
Favorites/Subscriptions: Add `redirect_to` parameters to links if viewing relevant user profile pages.
See #3065.
|
[6306]
|
johnjamesjacoby
|
Feeds: Call `get_wp_title_rss()` in replies feeds.
See #3064. Missed in r6304.
|
[6305]
|
johnjamesjacoby
|
Favorites/Subscriptions: Look for a `redirect_to` destination in handlers.
See #3065.
|
[6304]
|
johnjamesjacoby
|
Feeds: Allow feed titles to be filtered (using the WordPress filter name.)
Also removes redundant conditional in replies feed.
Props SergeyBiryukov. Fixes #3064.
|
[6303]
|
johnjamesjacoby
|
Hidden: Remove "+ " string portion from output from hidden content.
This is a carry-over from bbPress 0.x, is superfluous in the given context, and previously could have presented misleading results if a negative value was presented.
Fixes #3059.
|
[6302]
|
johnjamesjacoby
|
Common: Introduce `bbp_number_not_negative()` and use it in the following ways:
* Register the relevant meta-data keys for posts & users, so updated values can never be invalid
* Filter return values for existing database values that might be invalid on existing installs
* Use in place of `intval()` or `(int)` casts where negative values should not exist
This has the added benefit of introducing the `bbp_register_meta` hook, for future meta-data registrations (of which bbPress has much of.) We'll concentrate on counts for 2.6, and integrate IDs and timestamps in future releases.
See #3059.
|
[6301]
|
johnjamesjacoby
|
Common: Switch from `absint()` to `intval()` to avoid integer inaccuracies.
See #3059.
|
[6300]
|
johnjamesjacoby
|
Pagination: prefer `intval()` for numeric values, and always format numbers used for display.
|
[6299]
|
johnjamesjacoby
|
Common: prefer `intval()` over `absint()` for reply IDs in form fields.
|