| [5810]
|
netweb
|
Admin: Updated Topic and Reply contextual help
Props robkk. Fixes #2824
|
| [6604]
|
johnjamesjacoby
|
Admin: Use some JavaScript to spruce up the badge-animation.
@todo Update the "What's New" page contents.
|
| [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.
|
| [7278]
|
johnjamesjacoby
|
Admin: add post-state support to admin-area list-tables
This change checks posts for shortcode usages and adds "state" labels for them, to help make Forum integration easier to identify from within the list table context (usually Pages, but currently not post-type specific).
It does this by introducing `BBP_Admin::display_post_states()` and hooking it in as a filter to `display_post_states`.
Committer note: `get_page_by_path()` would offer more precision but also be significantly more costly to call here, so instead there is a fuzzy match on `post_name` for the Forum & Topic Archive pages only.
Fixes #3605.
|
| [7258]
|
johnjamesjacoby
|
Admin: add some inputs to too-wide kludge CSS.
This change ensures that various admin-area meta-box inputs render next to their labels instead of below them.
In branches/2.6, for 2.6.10.
|
| [6704]
|
johnjamesjacoby
|
Admin: allow feedback dismissal to be optional in `bbp_admin_tools_feedback()`.
|
| [6603]
|
johnjamesjacoby
|
Admin: buzz & swoop.
|
| [6772]
|
johnjamesjacoby
|
Admin: enforce row-action order for forums, topics, and replies.
This change introduces a known (and filterable) sort-order to row-action keys, allowing for a more logical flow to better match Posts, Pages, and other WordPress core objects.
With slight variations, the flow is: Edit, Stick(to front), Un/approve, Open/Close, Delete/Trash, Spam, View.
Previous to this change, these `row_actions()` filters were only appending or overwriting keys, which introduced an unnecessary administration variation with no real benefit.
|
| [6730]
|
johnjamesjacoby
|
Admin: fix filter load order for PHP 7.1 compat.
|
| [6790]
|
johnjamesjacoby
|
Admin: improve topic/reply row-action UX.
This change includes a few improvements to how topics and replies are toggled from an admin area list-table:
* Make approve & not-spam links green to match comments UI
* More specifically target admin area links to avoid conflicts with other post types
* Make "Approve" a blanket "publish" action, meaning it will always publish a topic/reply even from spam or trash
* Make sure "Not Spam" will restore to "pending" if it was previously not published
* Bump CSS version
See #1799.
|
| [6791]
|
johnjamesjacoby
|
Admin: improve topic/reply row-action UX.
This change includes more improvements to how topics and replies are toggled from an admin area list-table:
* Move "Empty Spam" buttons to their own actions div
* Allow spam/trash/approve/unapprove from any other status, so topics/replies can be more freely moved around
* Add public/non-public functions for replies to match topics
See #1799.
|
| [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.
|
| [6697]
|
johnjamesjacoby
|
Admin: prefer `implode()` over `join()`.
|
| [7261]
|
johnjamesjacoby
|
Admin: prevent broken list-table layouts.
This change adds CSS that targets forum/topic/reply list-table heads & foots.
It allows text – that is both unbreakable & wider than its parent th/td – to truncate with an ellipsis.
This is necessary because the default behavior is to continue to squish text down to an unreadable state, which happens frequently here due to the number of columns in the tables and the amount of content available inside of them to Keymasters & Moderators.
In branches/2.6, for 2.6.10.
|
| [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.
|
| [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.
|
| [6750]
|
johnjamesjacoby
|
Admin: split reset handler into 2 functions (handler and logic)
This change improves compatibility with future WP CLI initiatives, specifically allowing removing all bbPress data.
Fixes #3173. Props espellcaste.
|
| [6776]
|
johnjamesjacoby
|
Admin: update `esc_notice()` usage to map `WP_Error` content. See r6775.
|
| [6775]
|
johnjamesjacoby
|
Admin: update forum/topic/reply toggle notices to use `bbp_admin()->add_notice()`.
This changes the source hooks so notices are created earlier (and not just-in-time as toggles occur.) It also introduces an `esc_notice()` method to restrict the allowed HTML tags in notice messages down to a very finite set (completely avoiding all types of hi-jacks at a lower level.)
|
| [6773]
|
johnjamesjacoby
|
Admin: update some inline docs from r6772.
|
| [6233]
|
netweb
|
Administration: Initial pass updating contributors and props list for 2.6 release.
|
| [6052]
|
netweb
|
Administration: Only display bbPress users role in bbPress' "Forum Role" list
Since WordPress 4.4 users with multiple roles are displayed in WordPress' "Site Role" list, this changeset ensures bbPress' roles are only displayed under the "Forum Role" list and not duplicated in the "Site Role" list of the users list table.
Props johnbillion, tharsheblows for initial patches
Fixes #2874
|
| [6235]
|
netweb
|
Administration: Remove duplicate props entry for 2.6 release.
|
| [6234]
|
netweb
|
Administration: Second pass updating contributors and props list for 2.6 release.
|
| [7172]
|
johnjamesjacoby
|
Administration: allow post types to support `custom-fields`.
This commit fixes a regression in 2.6.x by removing the `#the-list` identifier from the Replies list-table inside of Topic Edit meta-box (phew!) which was causing a duplicate ID collision with the Custom Fields list-table, resulting in the JavaScript for managing them to no longer function.
It subsequently removes all references to `#the-list` in CSS to completely avoid using this ID for anything, and uses `tbody` instead for the same effect but with reduced priority (which is a good thing here).
In branches/2.6 for 2.6.7. Fixes #3311.
|
| [7171]
|
johnjamesjacoby
|
Administration: allow post types to support `custom-fields`.
This commit fixes a regression in 2.6.x by removing the `#the-list` identifier from the Replies list-table inside of Topic Edit meta-box (phew!) which was causing a duplicate ID collision with the Custom Fields list-table, resulting in the JavaScript for managing them to no longer function.
It subsequently removes all references to `#the-list` in CSS to completely avoid using this ID for anything, and uses `tbody` instead for the same effect but with reduced priority (which is a good thing here).
In trunk for 2.7.0. See #3311.
|
| [5583]
|
johnjamesjacoby
|
Administrative support for for un/approving topics.
Props netweb, thebrandonallen. Fixes #2645.
|
| [5509]
|
johnjamesjacoby
|
Administrative support for un/approving replies. Props netweb. See #2645.
|
| [4511]
|
johnjamesjacoby
|
Ajax:
* Remove call to wpList.process().
* Fixes duplicate ajax requests on topic subscriptions and favorites.
* Props MZAWeb.
* Fixes #1905 for !WordPress 3.4.
|
| [6581]
|
johnjamesjacoby
|
Ajax: in `bbp_do_ajax()` use `wp_die()` instead of `die()` so any custom handlers are used.
|
| [6758]
|
johnjamesjacoby
|
Ajax: introduce `bbp_ajax_headers()` abstracted from `bbp_do_ajax()`.
This change makes it possible to send the proper & expected headers in custom theme-side AJAX implementations.
|
| [6755]
|
johnjamesjacoby
|
Ajax: send a proper `400` response when nothing happens.
This change adds nocache and noindex headers to theme-side AJAX handling, adds support for pre-sanitized `$action` parameters, and checks that the action-hook actually has actions hooked to it before attempting to execute it.
Similar to `admin-ajax.php` a `400` response is now returned when an AJAX request is attempted that does not have a handler.
|
| [3939]
|
johnjamesjacoby
|
Akismet
* Allow $post_data to be manipulated in BBP_Akismet::check_post().
* This opens the door to overriding the Akismet result based on any other criteria later (for third party plugins.)
|
| [4091]
|
johnjamesjacoby
|
Akismet:
* Check response before assigning value.
* Fix bug with Akismet request faliing.
|
| [4813]
|
johnjamesjacoby
|
Akismet:
* Introduce and use improved BBP_Akismet::get_user_roles() method.
* Includes proper type-casting, cleaner logic, and allows for easier dynamic role debugging.
|
| [4042]
|
johnjamesjacoby
|
Akismet:
* Pass additional post information on topic/reply edit, to prevent Akismet from nooping it.
* Revert part of r4041; put actions back before bbp_is_error() calls.
* Replace some missing revision numbers.
* Fixes #1869.
|
| [4017]
|
johnjamesjacoby
|
Akismet:
* Run topic and reply edits through Akismet, to thwart editing spam during the edit window.
* Fixes #1860.
|
| [4243]
|
johnjamesjacoby
|
Akismet:
* Set a default message if there is no response from Akismet servers.
* Prevents debug notices and polluted Akismet results in post meta.
|
| [5828]
|
johnjamesjacoby
|
Akismet: Clean up potential accidental inline assignment in `BBP_Akismet::check_post()`.
This commit moves a variable assignment out of a comparison to improve code clarity.
|
| [6227]
|
johnjamesjacoby
|
Akismet: Improve pluralization of statistics strings.
Fixes #2960. Props thebrandonallen, netweb.
|
| [6226]
|
johnjamesjacoby
|
Akismet: Improve translatability of "(+ %d hidden)" strings.
Fixes #3009. Props SergeyBiryukov.
|
| [6225]
|
johnjamesjacoby
|
Akismet: Improve translatability of update-history strings.
Fixes #3011. Props SergeyBiryukov.
|
| [5654]
|
netweb
|
Akismet: Pass additional user and post information to Aksimet helping identify suspicious new posts
* `comment_total`: Total user posts via `bbp_get_user_post_count()`
* `comment_last_active_gmt`: Topic last active time via `bbp_get_topic_last_reply_id()`
* `comment_account_registered_gmt`: User registered via `$userdata->user_registered`
Props eoigal. Fixes #2591
|
| [7194]
|
johnjamesjacoby
|
Akismet: Remove "publish" status restriction in check_post().
This commit ensures that posts of any status are sent to Akismet, even if they had previously been published and are now being edited. The intent of this change is to remove a restriction without changing the behavior from a user's perspective.
Also fixes a typo and an incorrectly typed return value.
Props procifer, douglsmith.
In branches/2.6 for 2.6.7. Fixes #3410.
|
| [7193]
|
johnjamesjacoby
|
Akismet: Remove "publish" status restriction in check_post().
This commit ensures that posts of any status are sent to Akismet, even if they had previously been published and are now being edited. The intent of this change is to remove a restriction without changing the behavior from a user's perspective.
Also fixes a typo and an incorrectly typed return value.
Props procifer, douglsmith.
In trunk for 2.7.0. See #3410.
|
| [7252]
|
johnjamesjacoby
|
Akismet: add class definition for $last_post.
This change improves compatibility with newer PHP versions (8.0 and above) that prefer for all class variables to be predefined.
In branches/2.6, for 2.6.10.
|
| [7127]
|
johnjamesjacoby
|
Akismet: add support for request headers.
This commit stops discarding the header information coming back from Akismet, and instead allows it to be filtered as needed.
In branches/2.6, for 2.6.6.
Props Otto42.
See #2853.
|
| [7126]
|
johnjamesjacoby
|
Akismet: add support for request headers.
This commit stops discarding the header information coming back from Akismet, and instead allows it to be filtered as needed.
In trunk, for 2.7.
Props Otto42.
See #2853.
|
| [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!
|
| [7128]
|
johnjamesjacoby
|
Akismet: fix spam check not sending author info for logged in users
This commit uses `bbp_has_errors()` to catch whether anonymous information exists or not, and falls back to the currently logged in user otherwise (anonymous has priority due to moderator ability to edit topics & replies).
This commit also improves the readability of a few lengthy function calls, and adds empty() checks to all of the related array key touches.
In branches/2.6, for 2.6.6.
Props procifer.
See #3368.
|
| [7129]
|
johnjamesjacoby
|
Akismet: fix spam check not sending author info for logged in users
This commit uses `bbp_has_errors()` to catch whether anonymous information exists or not, and falls back to the currently logged in user otherwise (anonymous has priority due to moderator ability to edit topics & replies).
This commit also improves the readability of a few lengthy function calls, and adds empty() checks to all of the related array key touches.
In trunk, for 2.7.
Props procifer.
See #3368.
|
| [7205]
|
johnjamesjacoby
|
Akismet: hook clean-up methods from r7203 into WP Cron.
This change takes stephdau's advice and schedules a daily cron on the `akismet_scheduled_delete` event (but only when actually adding to the Akismet post histories, to try to narrow the scope slightly).
In branches/2.6, for 2.6.7.
See #3395.
|
| [7206]
|
johnjamesjacoby
|
Akismet: hook clean-up methods from r7204 into WP Cron.
This change takes stephdau's advice and schedules a daily cron on the `akismet_scheduled_delete` event (but only when actually adding to the Akismet post histories, to try to narrow the scope slightly).
In trunk, for 2.7.0.
See #3395.
|
| [7356]
|
johnjamesjacoby
|
Akismet: improve verbiage in history log items.
When Akismet catches spam for moderators, and moderators are able to bypass spam, a second log entry is inserted into the history to explain why, and the previous verbiage was not very clear.
This commit attempts to provide some clarity, while also respecting that this specific code is filterable, and that the spam recommendation could be overruled by third-party plugins for any reason.
This commit also adds some hooks by request, and improves some related code docs.
Props johnjamesjacoby, r-a-y, sirlouen.
In trunk, for 2.7.
See r7353. Fixes #3434.
|
| [7227]
|
johnjamesjacoby
|
Akismet: improvements to clean-up routines, based on user feedback.
* Use correct `ID` column for the `posts` database table
* Use correct `post_id` column for the `postmeta` database table
* Reduce row limit to `1000` from `100000` to avoid lengthy table locks in active forums
* Remove usage of constant, that may be phased out eventually
* Update related code docs
* Introduce helper methods for applying dynamically named filters
In branches/2.6 for 2.6.9. Fixes #3395.
|
| [7226]
|
johnjamesjacoby
|
Akismet: improvements to clean-up routines, based on user feedback.
* Use correct `ID` column for the `posts` database table
* Use correct `post_id` column for the `postmeta` database table
* Reduce row limit to `1000` from `100000` to avoid lengthy table locks in active forums
* Remove usage of constant, that may be phased out eventually
* Update related code docs
* Introduce helper methods for applying dynamically named filters
In trunk for 2.7. See #3395.
|
| [5933]
|
johnjamesjacoby
|
Akismet: include title with content. Props cfinke. Fixes #2858.
|
| [7203]
|
johnjamesjacoby
|
Akismet: introduce a few clean-up action hook methods.
* `delete_old_spam()` - deletes old spam topics & replies from the queue after 15 days.
* `delete_old_spam_meta()` - deletes `_bbp_akismet_as_submitted` entries after 15 days.
* `delete_orphaned_spam_meta()` - deletes post meta that no longer have corresponding posts in the database.
Props stephdau, johnjamesjacoby.
In branches/2.6, for 2.6.7.
See #3395.
|
| [7204]
|
johnjamesjacoby
|
Akismet: introduce a few clean-up action hook methods.
* `delete_old_spam()` - deletes old spam topics & replies from the queue after 15 days.
* `delete_old_spam_meta()` - deletes `_bbp_akismet_as_submitted` entries after 15 days.
* `delete_orphaned_spam_meta()` - deletes post meta that no longer have corresponding posts in the database.
Props stephdau, johnjamesjacoby.
In trunk, for 2.7.0.
Fixes #3395.
|
| [7195]
|
johnjamesjacoby
|
Akismet: port SSL support from Akismet plugin.
This commit ensures that installations using SSL will send remote requests to `https://` instead of `http://` including retries and graceful degradation to `http://` if necessary.
It also cleans up some related header & response logic to make it easier to understand.
In branches/2.6 for 2.6.7. See #3410.
|
| [7196]
|
johnjamesjacoby
|
Akismet: port SSL support from Akismet plugin.
This commit ensures that installations using SSL will send remote requests to `https://` instead of `http://` including retries and graceful degradation to `http://` if necessary.
It also cleans up some related header & response logic to make it easier to understand.
In trunk for 2.7.0. See #3410.
|
| [7155]
|
johnjamesjacoby
|
Akismet: prefer the GMT datetime.
This commit swaps out `comment_date` for `comment_date_gmt` for improved accuracy.
In branches/2.6, for 2.6.6. See #3400.
Props cfinke.
|
| [7156]
|
johnjamesjacoby
|
Akismet: prefer the GMT datetime.
This commit swaps out `comment_date` for `comment_date_gmt` for improved accuracy.
In trunk, for 2.7. Fixes #3400.
Props cfinke.
|
| [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.
|
| [7198]
|
johnjamesjacoby
|
Akismet: trust `x-akismet-pro-tip` response header.
This commit discards forums, topics, and replies that Akismet is 100% sure are spammy.
The redirection experience is intentionally nondescript at this time.
In branches/2.6 for 2.6.7. Fixes #2853.
|
| [7197]
|
johnjamesjacoby
|
Akismet: trust `x-akismet-pro-tip` response header.
This commit discards forums, topics, and replies that Akismet is 100% sure are spammy.
The redirection experience is intentionally nondescript at this time.
In trunk for 2.7.0. See #2853.
|
| [3340]
|
johnjamesjacoby
|
Alas, poor mdawaffe! I knew him, 1.0...
|
| [3463]
|
johnjamesjacoby
|
Align the topic edit input fields with their labels. Rename duplicate tag-name form field to tag-existing-name. Fixes #1612.
|
| [5676]
|
johnjamesjacoby
|
All: Update default values for `$args` parameters from empty strings to empty arrays.
This is a micro-optimization to avoid unnecessary calls to `wp_parse_str()` inside `bbp_parse_args()`.
|
| [5692]
|
johnjamesjacoby
|
All: ensure all URLs are escaped (2.5 branch)
|
| [5691]
|
johnjamesjacoby
|
All: ensure all URLs are escaped (trunk) and cleanup some phpdoc
Also introduce `bbp_dropdown` class for dropdowns.
|
| [5693]
|
johnjamesjacoby
|
All: ensure all URLs are escaped part 2 (2.5 branch)
|
| [3068]
|
johnjamesjacoby
|
Allow $none_found custom message in bbp_get_dropdown()
|
| [5162]
|
johnjamesjacoby
|
Allow 'bbp_has_search_results' filter to still run even if no search terms were passed. This brings it inline with other component queries. Fixes #2356.
|
| [3369]
|
johnjamesjacoby
|
Allow Akismet global key to be set. (trunk)
|
| [3402]
|
johnjamesjacoby
|
Allow BuddyPress profile URLs to override bbPress profile URLs in an inexpensive way.
|
| [3221]
|
johnjamesjacoby
|
Allow Topic Form shortcode to work on pages or any other single template. Fixes #1535.
|
| [3251]
|
johnjamesjacoby
|
Allow WordPress pages to overload forum and topic archive pages.
Introduce bbp_reset_all_filters() and bbp_restore_all_filters() functions to handle specific bypassing of the_content filter for theme compat. Introduce bbp_is_topic_archive() and bbp_is_forum_archive() functions to help with bypassing archive pages.
|
| [5493]
|
johnjamesjacoby
|
Allow `class` attribute for `pre` tags in `bbp_kses_allowed_tags()`. Props netweb. Fixes #2657.
|
| [6728]
|
johnjamesjacoby
|
Allow a custom redirect destination in the reply form.
(Specifically for shortcode or third-party plugin usage.)
See r3450.
|
| [3674]
|
johnjamesjacoby
|
Allow additional anonymous data to be automatically saved on reply and topic update any prevent any possible debug notices with missing core values in the process.
|
| [4790]
|
johnjamesjacoby
|
Allow additional post-type CSS classes to be passed as a second parameter. Fixes #2242.
|
| [3798]
|
johnjamesjacoby
|
Allow bbp_create_initial_content() to be filtered or provided an array of defaults.
|
| [4951]
|
johnjamesjacoby
|
Allow both get and post requests in bbp_is_ajax().
|
| [3270]
|
johnjamesjacoby
|
Allow breadcrumb separator to be translated. Remove spaces from separator and use str_pad instead.
|
| [2691]
|
johnjamesjacoby
|
Allow capable admins to view other users' topic subscriptions.
|
| [2784]
|
johnjamesjacoby
|
Allow capable users to mark topics as sticky/super sticky on creation/edit. Props !GautamGupta via Google Code-in
|
| [5313]
|
johnjamesjacoby
|
Allow closed topics to be split and merged into. Props netweb. Fixes #1714.
|
| [3450]
|
johnjamesjacoby
|
Allow custom redirects in login, register, and lost pass forms.
|
| [3451]
|
johnjamesjacoby
|
Allow default options to be overloaded from within the $bbp->options array ala bbPress 1.x.
|
| [3188]
|
johnjamesjacoby
|
Allow existing pages to override forum and topic archive slugs.
|
| [3621]
|
johnjamesjacoby
|
Allow forum/topic/reply row classes to be filtered. Fixes #1664.
|
| [3066]
|
johnjamesjacoby
|
Allow just-in-time filtering of forums/topics/replies queries
|
| [3222]
|
johnjamesjacoby
|
Allow just-in-time manipulation of topic and reply data before creating or editing them. See #1477.
|
| [3371]
|
johnjamesjacoby
|
Allow manually setting the offset and number of topics to retrieve. Props boonebgorges.
|
| [4701]
|
johnjamesjacoby
|
Allow moderation and blacklist to be bypassed based on function parameters. Props tlovett1. Fixes #2154.
|
| [4934]
|
johnjamesjacoby
|
Allow partial global/local .mo file loading in bbPress::load_textdomain(). Props strangerstudios.
|
| [3387]
|
johnjamesjacoby
|
Allow previously set $redirect_to override in bbp_logout_url(). Fixes #1580.
|
| [4961]
|
johnjamesjacoby
|
Allow registering of settings that don't need callbacks or titles. See #2340.
|
| [3215]
|
johnjamesjacoby
|
Allow site options to pass a default value if none exists.
|