[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.
|
[5834]
|
johnjamesjacoby
|
Moderators: First pass at per-forum moderators.
This commit introduces a powerful feature commonly found in other popular forum software that has been on our wishlist for nearly 9 years. It includes the following changes:
* Custom `forum-mod` taxonomy for assigning user nicenames to forum IDs
* Associated functions for defining capabilities, labels, etc...
* New capability filters for ensuring forum moderators have the ability to moderate forums even without the `moderator` role assignment
* New option for toggling the entire feature on/off (on by default)
Props jmdodd, netweb. See #459.
|
[6563]
|
johnjamesjacoby
|
Moderators: Introduce "Super Moderators" setting.
This change introduces the option (and default off value), admin setting and UI for toggling it on and off.
A "Super Moderator" is a moderator with the ability to also edit users, a commonly requested and popular feature in other forum software. The use-case is that user accounts may be spammers and need to be moderated beyond just their topics & replies, but the `edit_users` capability is reserved for Administrators (or Super Admins in multisite.) This setting will act as the global on/off to the deeper implementation of this feature.
|
[5835]
|
johnjamesjacoby
|
Moderators: Introduce `none` argument for topic-tags & forum-mods list functions.
This change allows for passing text or HTML to output if no taxonomy terms are found, and uses this new functionality in `wp-admin` to show per-forum moderators in the list-table column, also reducing code duplication.
See #459.
|
[5838]
|
johnjamesjacoby
|
Moderators: Introduce functions for theme-side setting & getting of forum mods for `form-forum.php`. See #459.
|
[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.
|
[6455]
|
johnjamesjacoby
|
Moderators: Prefer `sanitize_title` over `trim`. See #3097.
|
[6056]
|
johnjamesjacoby
|
Moderators: Refactor per-forum moderators to use meta-data instead of mocked taxonomy terms.
If the future of Forums is a taxonomy (vs. a custom post-type) then a per-forum Moderator taxonomy for a Forum taxonomy won't work very well, for a few reasons:
* Scalability
* Taxonomies for taxonomies is a bit more inception than should be required for this simple feature
* Forum moderators do not require much of what taxonomy objects provide (permalinks, visibility, metadata, etc...)
* User taxonomy terms matching nicenames works okay for something like Automattic's P2 theme, but bbPress requires a user ID based solution to avoid data synchronization issues between nicenames & term slugs
So... the future of per-forum per-user capability mappings is in meta-data using `map_meta_cap`.
This commit:
* Removes the `forum_mod` taxonomy and surrounding code additions introduced in the first pass in r5834
* Renames `forum_mod` functions to `forum_moderator` to be more explicit
* Adds CRUD wrapper functions for per-forum moderator meta data
* Adds administrative interfaces for assigning moderators to forums for `wp-admin` and forum `edit` pages
* Adds helper functions for getting user nicenames & IDs
Note that this feature has now been refactored to no longer be forum specific (I.E. object agnostic) -- it's possible for any user access to be mapped based on the object type using any meta-data key. While this is currently useful for per-forum moderators, it may be user for per-topic blocking, per-topic-tag moderation, etc...
See #459.
|
[5839]
|
johnjamesjacoby
|
Moderators: Rename `bbp_get_forum_mod_ids()` to `bbp_get_forum_moderator_ids()` to better match unabbreviated forum equivalent. Also update phpdoc & refactor some logic to use cached functions. See #459.
|
[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.
|
[6221]
|
johnjamesjacoby
|
Moderators: Update `bbp_get_moderator_forum_ids()` to use same approach as favs/subs.
See #459, #2959, #2972.
|
[6032]
|
johnjamesjacoby
|
Moderators: pass current forum/topic/reply ID into `moderate` capability checks, providing additional context about what's being moderated so more targeted decisions can be made.
See #459.
|
[5285]
|
johnjamesjacoby
|
More Grunt improvements:
* Fixes CSS & JS admin folder path for `BBP_RTL_CSS`, `BBP_LTR_CSS` & `BBP_JS` in Gruntfile.js
* Removes Mint & Evergreen CSS (including RTL) to use Mint & Evergreen SCSS
* Adds `_admin.scss`, `_mixins.scss`, `_variables.scss` via ([https://core.trac.wordpress.org/browser/trunk/src/wp-admin/css/colors /trunk/src/wp-admin/css/colors]) to build our Mint & Evergreen admin themes
* Adds `/includes/admin/styles/evergreen/colors.scss` & `/includes/admin/styles/mint/colors.scss` via [https://github.com/ryelle/admin-color-schemes/tree/2288dcd5b57c9a9045de62d1cfa72722d5163cfc 2288dcd5b5 MP6 GitHub Repo Changset]
* Adds support in Gruntfile.js to build minified and RTL Mint & Evergreen CSS
* Adds `grunt-sass` `~0.10.0` to `package.json` to build Mint & Evergreen CSS from SCSS source
* Reinstates minified and `SCRIPT_DEBUG` support for minified Mint & Evergreen CSS
* Adds minified and `SCRIPT_DEBUG` support for admin javascript & frontend javascript
Props netweb. See #2542.
|
[5344]
|
netweb
|
More Grunt updates
* Adds `uglify:dynamic` to `grunt uglify` so that `grunt watch` -> `watch:js` tasks can dynamicly minify Javascript files with the `grunt watch` task.
* Improved inline documentation for grunt jshint task.
* Props netweb. See #2542
|
[5294]
|
netweb
|
More Grunt updates, fixes `grunt watch` task not RTL'ing or minifying CSS files.
* Use explicit CSS file names, avoids ambiguous LTR CSS (avoids LTR = `*.css` including `bbpress-rtl.css`)
* Remove `cssmin:colors` and include Mint and Evergreen CSS minification in `cssmin:core`
* Remove `cssjanus:colors` and include Mint and Evergreen RTL CSS in `cssjanus:core`
* Use `BUILD_DIR` (not `SOURCE_DIR`) to compile RTL CSS `cssjanus`
* Use `BUILD_DIR` (not `SOURCE_DIR`) to compile and LTR & RTL minified CSS with `cssmin`
* Add Grunt tasks `cssjanus:core`, `cssmin:ltr` and `cssmin:rtl` to `grunt watch` -> `watch:colors` task
* Add Grunt tasks `cssmin:ltr` and `cssmin:rtl` to `grunt watch` -> `watch:rtl` task
* Reorders `grunt build` and `grunt build-release` tasks to firstly copy `bbpress.css`, and `admin.css`, then create Mint and Evergreen CSS using `colors` , then RTL all the CSS with `cssjanus:core`, then minify all the CSS with `cssmin:ltr` and `cssmin:rtl`
* Props netweb. See #2542
|
[5293]
|
johnjamesjacoby
|
More Grunt updates:
* Add `_n_noop` to `grunt-pot` keyword check
* Remove grunt task `test` as PHPUnit tests are covered by grunt task `phpunit`
* Add grunt task `jstest` to run javascript tasks
* Add `grunt-checktextdomain` to `package.json` to check for missing or incorrect text-domain in gettext functions. See https://www.npmjs.org/package/grunt-checktextdomain
* Adds grunt task `checktextdomain` to `grunt build-release`
* Checks for the following keywords: `__:1,2d`, `_e:1,2d`, `_x:1,2c,3d`, `_n:1,2,4d`, `_ex:1,2c,3d`, `_nx:1,2,4c,5d`, `esc_attr__:1,2d`, `esc_attr_e:1,2d`, `esc_attr_x:1,2c,3d`, `esc_html__:1,2d`, `esc_html_e:1,2d`, `esc_html_x:1,2c,3d`, `_n_noop:1,2,3d`, `_nx_noop:1,2,3c,4d`
* Props netweb. See #2542.
|
[5295]
|
netweb
|
More Grunt: Switch from `grunt-pot` to `grunt-wp-i18n`
* Remove `grunt-pot` from `package.json`
* Add `grunt-wp-i18n` to `package.json`
* Adds grunt task `grunt makebot` to `grunt build` and `grunt build-release`
* Creates `bbpress.pot` in `/build`
* Requires fresh `npm install` to update dependencies
* Props netweb. See #2542
|
[3057]
|
johnjamesjacoby
|
More adjustments for theme compatability layer. Rejigs the bbp_load_template function to also have theme compatability. Introduces bbp_user_can_view_forum() function as a method to check the scope of a users ability to view private/hidden forums, topics, and replies.
|
[3100]
|
johnjamesjacoby
|
More aggressive CSS on topic/reply revision log for theme compat
|
[3851]
|
johnjamesjacoby
|
More aggressively check private and hidden forums when changing forum status. (2.0 branch)
|
[3852]
|
johnjamesjacoby
|
More aggressively check private and hidden forums when changing forum status. (plugin branch)
|
[2509]
|
johnjamesjacoby
|
More bbp_loader.php cleanup. Move activation/deactivation/uninstall sequence functions into loader class.
|
[2971]
|
johnjamesjacoby
|
More clean-up to bbp_pre_get_posts. Fixes #1450.
|
[5040]
|
johnjamesjacoby
|
More esc_url() improvements, and practice late-escaping where we were otherwise passing around escaped URL variables. See #2367.
|
[6387]
|
johnjamesjacoby
|
More graceful handling of the `$post` global in `bbp_get_global_post_field()`.
|
[5289]
|
johnjamesjacoby
|
More grunt updates:
* Add RTL, minified and `SCRIPT_DEBUG` support for bbPress admin CSS.
* Add RTL, minified and `SCRIPT_DEBUG` support for bbPress default theme-compat CSS.
* RTL bbPress CSS is now compiled with cssjanus. (`bbpress-rtl.css` file removed)
* Props netweb. See #2542.
|
[5326]
|
netweb
|
More grunt updates:
* Add `grunt-patch-wordpress` to `package.json`
* Adds grunt task `grunt patch` to `grunt build` and `grunt build-release`
* Requires fresh `npm install` to update dependencies
* Full instructions https://github.com/aaronjorbin/grunt-patch-wordpress#patching-from-the-command-line
* Props jorbin. See #2542
|
[5333]
|
netweb
|
More grunt updates:
* Include bbPress version via `package.json` in the 'banner' of minified CSS & JS files
* Include current date and time (UTC) in the 'banner' of minified CSS & JS files
* Props netweb. See #2542
|
[5031]
|
johnjamesjacoby
|
More improvements to responsive CSS. Props mercime. Fixes #1933.
|
[4590]
|
johnjamesjacoby
|
More precise list-item CSS. See #2113.
|
[2885]
|
johnjamesjacoby
|
More renaming of last_active to last_active_time, this time in bbp-admin.php
|
[2879]
|
johnjamesjacoby
|
More renaming of last_active to last_active_time, this time in bbp-wdigets. Also use enhanced bbp_reply_author_link function to include user gravatar.
|
[3180]
|
johnjamesjacoby
|
More security sweep and code clean-up through bbp-topic-functions.php. Also fix incorrect variable usage in bbp_update_topic_reply_count() and bbp_update_topic_last_active_time(). See #1514.
|
[3136]
|
johnjamesjacoby
|
More security sweep and final code clean-up on bbp-topic-functions.php. See #1514.
|
[5335]
|
johnjamesjacoby
|
More specific CSS selector on closed topics to only target lists of topics, not single topic views. See r2962.
|
[4641]
|
johnjamesjacoby
|
More thorough regex for pre and code tags and HTML entities. Props Corey Worrell. See #1967.
|
[3091]
|
johnjamesjacoby
|
More tweaks to avatar styling. Revert r3089/r3090 in favor of something specific to bbPress templates and widgets that guess at container ID's, since some themes are very specific about their avatar positioning.
|
[3147]
|
johnjamesjacoby
|
More tweaks to the readme.txt
|
[5091]
|
johnjamesjacoby
|
More updated "About" text for 2.4.
|
[3424]
|
johnjamesjacoby
|
More useful phpDoc for bbp_sanitize_val() and bbp_get_sanitize_val()
|
[3672]
|
johnjamesjacoby
|
More verbose descriptions and whitespace clean-up in bbp-core-hooks.php.
|
[4988]
|
johnjamesjacoby
|
Move $postarr arrays into their respective calls to wp_update_post().
|
[3012]
|
johnjamesjacoby
|
Move 'bbp_register_textdomain' to priority 2 on 'bbp_init' action. Fixes #1497. Props !GautamGupta for original patch.
|
[3689]
|
johnjamesjacoby
|
Move 'bbp_setup_current_user' action off of 'bbp_init' and onto 'set_current_user.' See #1722.
|
[3427]
|
johnjamesjacoby
|
Move 'bbp_setup_updater' action off of 'bbp_init' and late onto 'bbp_ready' to ensure alterations to the permastruct have settled. Fixes issue where a bbPress update would flush the rewrite rules too early on bbPress update. See #1569.
|
[3439]
|
johnjamesjacoby
|
Move 'bbp_setup_updater' action to 'bbp_admin_init' so update only runs when accessing wp-admin. See #1569. Props nacin.
|
[4826]
|
johnjamesjacoby
|
Move 'bbp_template_redirect' action to priority 8, giving bbPress precedence over network activated plugins hooked to 'template_redirect' at priority 10 (like BuddyPress). Fixes #2225.
|
[3282]
|
johnjamesjacoby
|
Move 'bbp_user' and 'bbp_view' into bbPress global vars, so they can be referenced by external plugins more easily and require less maintenance to change if needed later.
|
[3559]
|
johnjamesjacoby
|
Move BuddyPress extension loader to bbp-core-hooks.php.
|
[3217]
|
johnjamesjacoby
|
Move _bbp_include_root option into single slug area, to more accurately mirror the order of the settings page. Include more detailed description of what it does.
|
[4570]
|
jmdodd
|
Move `bbp_notify_subscribers` to priority 11.
* Fixes #2038.
|
[5274]
|
johnjamesjacoby
|
Move `includes` and `templates` back into `/src` directory. See #2452.
|
[3192]
|
johnjamesjacoby
|
Move a few theme compatibility helper functions out of bbp-general-functions.php and into bbp-core-compatibility.php
|
[5225]
|
johnjamesjacoby
|
Move admin CSS and JS out of `admin_head` and into proper enqueues. New `admin.css` replaces top level icons with Dashicons, introduced in WordPress 3.8. Fixes #2396. See #2463.
|
[3812]
|
johnjamesjacoby
|
Move admin action setup lower in file. See r3811.
|
[2659]
|
johnjamesjacoby
|
Move ajax handling of favorites into theme. Clean up other favorites related code. More to do.
|
[2658]
|
johnjamesjacoby
|
Move ajax handling of favorites into theme. Clean up other favorites related code. More to do.
|
[3104]
|
johnjamesjacoby
|
Move all theme compat functions to the bottom of bbp-general-template.php
|
[2613]
|
johnjamesjacoby
|
Move bbp-admin.php into /bbp-admin/ directory. Also introduce bbp-tools page for performing recounts, and bbp-functions.php to stash admin specific functions in.
|
[3078]
|
johnjamesjacoby
|
Move bbp-css and bbp-images into bbp-admin folder, since they only contain an admin style and the admin icons.
|
[3077]
|
johnjamesjacoby
|
Move bbp-css and bbp-images into bbp-admin folder, since they only contain an admin style and the admin icons.
|
[3389]
|
johnjamesjacoby
|
Move bbp-twentyten JS and ajax into proper hook. Make topic.js aware that favorites can be disabled.
|
[4773]
|
johnjamesjacoby
|
Move bbp_add_forums_roles() to 'bbp_after_setup_theme' action. Fixes issues with role names not being translated in some areas. Fixes #2219.
|
[4404]
|
johnjamesjacoby
|
Move bbp_load_textdomain() onto 'bbp_init' - was loading too early on 'bbp_loaded' -> 'plugins_loaded'.
|
[2594]
|
johnjamesjacoby
|
Move bbp_loader.php into includes. Rename run-file to bbpress.php. Remove references to 1.2 version and replace with 'plugin'
|
[3433]
|
johnjamesjacoby
|
Move bbp_pre_get_posts_exclude_forums() to bbp-forum-functions.php.
|
[5544]
|
netweb
|
Move callback `callback_check_anonymous` from individual importers to `BBP_Converter_Base` in `converter.php`.
* Allows us to lean on `callback_userid` to determine multiple anonymous or guest topic and reply authors during import and reduces code duplication
Props netweb. See #2347
|
[2608]
|
johnjamesjacoby
|
Move capability add/remove into bbp-caps.php
|
[2752]
|
johnjamesjacoby
|
Move excerpt functions under reply_content functions.
|
[3561]
|
johnjamesjacoby
|
Move favorites and subscriptions handlers off of template_loader action and on to bp_actions in BuddyPress extension.
|
[5178]
|
johnjamesjacoby
|
Move filter adding higher up in `filters.php.` See #2291.
|
[2690]
|
johnjamesjacoby
|
Move hidden form fields on edit user page into bbp_edit_user_form_fields()
|
[2644]
|
johnjamesjacoby
|
Move hooks and actions into _setup_actions
|
[2593]
|
johnjamesjacoby
|
Move included files into bbp-includes. First pass at meta caps (hat tip greenshady)
|
[3728]
|
johnjamesjacoby
|
Move is_super_admin() checks to allow return values to be filtered in bbp-user-template.php.
|
[3284]
|
johnjamesjacoby
|
Move loader functions into bbp-core-hooks. Add bbp_new_site action, which is used to create roles, caps, and options when a new site is created on a multisite installation. Remove is_site_admin() check from bbp_allowed_themes() to ensure bbp-twentyten is available for all sites.
|
[2599]
|
johnjamesjacoby
|
Move loader functions out of needless class, and whitespace fixes.
|
[4782]
|
johnjamesjacoby
|
Move new topic sticky-check after 'bbp_new_topic' action, to ensure forum ID meta is saved via bbp_update_topic(). Also move sticky-check in edit-topic handler, so correct forum ID is used when moving a sticky topic. Props imath. Fixes #2230.
|
[3713]
|
johnjamesjacoby
|
Move return values into variables for easier debugging in bbp-user-template.php.
|
[2952]
|
johnjamesjacoby
|
Move revision log updaters from -template files to -function files with other updaters. Update phpDoc in functions that previously ran sanity updates if fields did not exist. Mark @todo's in places where sanity meta updates still exist, and mark for investigation for eventual removal.
|
[4593]
|
johnjamesjacoby
|
Move root template check to below reset_post blocks. Fixes incorrect 404 and corrects header statuses when using root templates. See #1478.
|
[3143]
|
johnjamesjacoby
|
Move shortcodes into object variable, and add php5 constructor. This allows bbPress plugins to filter existing shortcodes, and/or add new ones.
|
[2692]
|
johnjamesjacoby
|
Move special query_vars into dedicated functions
|
[3345]
|
johnjamesjacoby
|
Move the topic tag form template part out of bbp_has_topics() check, and rely normal 404 handling if tag does not exist.
|
[3065]
|
johnjamesjacoby
|
Move theme compat message into dashboard widget
|
[3734]
|
johnjamesjacoby
|
Move theme compat template files out of bbp-themes and into bbp-theme-compat folder. This avoids confusion with complete bundled theme also acting as the fallback.
|
[3190]
|
johnjamesjacoby
|
Move theme compatibility code out of bbp-general-template.php and into bbp-core-compatibility.php.
Swap out require_once() usages for require() through out project where appropriate.
|
[3653]
|
johnjamesjacoby
|
Move trash status background color to wrapper div.
|
[4933]
|
johnjamesjacoby
|
Move user base setting into new Users section. Tweak some verbiage to be more succinct. See #1500.
|
[4784]
|
johnjamesjacoby
|
Multibyte support for excerpts and breadcrumbs. Hat-tip alex-ye. Fixes #2232.
|
[2471]
|
chrishajer
|
Multiple fixes for email subscriptions. Note the template changes in kakumei. Probably fixes #1268. Big props to dimadin and !GautamGupta
|
[5385]
|
netweb
|
Multiple strings in .editorconfig sections should be wrapped in curly brackets
Props treyhunner. Fixes #2614
|
[2523]
|
johnjamesjacoby
|
Mute the wphead border just a bit
|
[3936]
|
johnjamesjacoby
|
Narrow the scope of .bbp-topic-permalink styling in bbp-theme-compat.
|
[5043]
|
johnjamesjacoby
|
New approach to content replacement for theme compatability. Rather than juggle the post global and post content around in two procedures, set post_content via bbp_theme_compat_reset_post().
This reduces some complexity, avoids nested shortcodes, and fixes shortcode and the_content filter conflicts. See #2343.
|
[3746]
|
johnjamesjacoby
|
Next pass at BuddyPress Group Fourms integration:
* Filter forms to prevent fields from appearing
* Output new field data where needed on above forms
* Better integration with group create and edit screens
* Tweak forum/group ID functions to return arrays when needed
* Flesh out display_forums() method
* See #1669
|
[4672]
|
johnjamesjacoby
|
Nicename Usage:
* Introduce template tags for getting and displaying a user nicenames. Helpful for themes that want easier access to @mentions data.
* Improve mention filters to use 'slug' instead of 'login.' Fixes possible mismatches when login and nicename are different.
|
[2845]
|
johnjamesjacoby
|
No follow on all user links, and follow up with stripslashes for good measure.
|
[4050]
|
johnjamesjacoby
|
Non Scriptio Continua.
|
[6012]
|
johnjamesjacoby
|
Nonce functions are part of the `common` component.
|