bp_settings_action_capabilities()
Handles the setting of user capabilities, spamming, hamming, role, etc.
Description
..
Source
File: bp-settings/actions/capabilities.php
function bp_settings_action_capabilities() {
if ( ! bp_is_post_request() ) {
return;
}
// Bail if no submit action.
if ( ! isset( $_POST['capabilities-submit'] ) ) {
return;
}
// Bail if not in settings.
if ( ! bp_is_settings_component() || ! bp_is_current_action( 'capabilities' ) ) {
return false;
}
// 404 if there are any additional action variables attached
if ( bp_action_variables() ) {
bp_do_404();
return;
}
// Only super admins can currently spam users (but they can't spam
// themselves).
if ( ! is_super_admin() || bp_is_my_profile() ) {
return;
}
// Nonce check.
check_admin_referer( 'capabilities' );
/**
* Fires before the capabilities settings have been saved.
*
* @since BuddyPress 1.6.0
*/
do_action( 'bp_settings_capabilities_before_save' );
/* Spam **************************************************************/
$is_spammer = !empty( $_POST['user-spammer'] ) ? true : false;
if ( bp_is_user_spammer( bp_displayed_user_id() ) != $is_spammer ) {
$status = ( true == $is_spammer ) ? 'spam' : 'ham';
bp_core_process_spammer_status( bp_displayed_user_id(), $status );
/**
* Fires after processing a user as a spammer.
*
* @since BuddyPress 1.1.0
*
* @param int $value ID of the currently displayed user.
* @param string $status Determined status of "spam" or "ham" for the displayed user.
*/
do_action( 'bp_core_action_set_spammer_status', bp_displayed_user_id(), $status );
}
/* Other *************************************************************/
/**
* Fires after the capabilities settings have been saved and before redirect.
*
* @since BuddyPress 1.6.0
*/
do_action( 'bp_settings_capabilities_after_save' );
// Redirect to the root domain.
bp_core_redirect( bp_displayed_user_domain() . bp_get_settings_slug() . '/capabilities/' );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.6.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.