[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.
|
[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.
|
[4632]
|
johnjamesjacoby
|
Allow tabbing into and out of TinyMCE. Fixes #1917.
|
[4971]
|
johnjamesjacoby
|
Allow the search feature to be toggled on and off. Introduces new setting and supporting function to get and override the option easily in third party plugins. Fixes #2342.
|
[3507]
|
johnjamesjacoby
|
Allow theme compatibility to be extended more completely. Move contents of bbp-twenty-ten's functions.php into a class, which extends the new BBP_Theme_Compat class.
|
[5012]
|
johnjamesjacoby
|
Allow topic form shortcode to accept a forum_id attribute. Props netweb, GautamGupta. Fixes #1649.
|
[5310]
|
johnjamesjacoby
|
Allow topic-tag descriptions to be edited theme-side. Props netweb. Fixes #1613.
|
[4935]
|
johnjamesjacoby
|
Allow topics to replace the forum archive:
* Add condition to bbp_parse_args() and add a specific query variable early, and use this variable in bbp_is_forum_archive().
* Add condition to display_forum_archive() shortcode, to output topics if set.
* Add forum archive check to bbp_has_topics(), to ensure pagination links are correct.
* See #1500.
|
[3856]
|
johnjamesjacoby
|
Allow user favorites and subscriptions to work per site on multisite installations. Props isaacchapman. Fixes #1818.
|
[5358]
|
johnjamesjacoby
|
Alphabetize grunt packages and update keywords in `package.json`.
|
[5802]
|
johnjamesjacoby
|
Always predefine `$args` as an array, for code consistency across all components.
|