* @package AnsPress */ // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; } global $wp_roles; $ap_roles = new AP_Roles; $class = 'is-dismissible'; if ( ap_sanitize_unslash( 'role_name', 'p' ) && ap_verify_nonce( 'ap_role_' . ap_sanitize_unslash( 'role_name', 'p' ) . '_update' ) && is_super_admin( ) ) { $caps = ap_sanitize_unslash( 'c', 'p' ) ? ap_sanitize_unslash( 'c', 'p' ) : array(); $caps = array_map( 'sanitize_text_field', $caps ); ap_update_caps_for_role( ap_sanitize_unslash( 'role_name', 'p' ), $caps ); } elseif ( ap_sanitize_unslash( 'new_role', 'p' ) && ap_verify_nonce( 'ap_new_role' ) ) { $role_name = ap_sanitize_unslash( 'role_name', 'p' ); $role_slug = sanitize_title_with_dashes( ap_sanitize_unslash( 'role_slug', 'p' ) ); if ( ! isset( $wp_roles->roles[ $role_slug ] ) ) { $role_caps = ap_sanitize_unslash( 'role_caps', 'p' ); $caps = ( 'moderator_caps' === $role_caps ? ap_role_caps( 'moderator' ) : ap_role_caps( 'participant' )); add_role( $role_slug, $role_name, $caps ); $message = sprintf( __( 'New role %s added successfully .', 'anspress-question-answer' ), $role_name ); $class .= ' notice notice-success'; } else { $message = sprintf( __( 'Its look like %s role already exists .', 'anspress-question-answer' ), $role_name ); $class .= ' notice notice-error'; } } if ( ! empty( $message ) ) { printf( '
%2$s
|
|
|
|
roles as $key => $role ) { ?>
|