* @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 ( isset($_POST['role_name'] ) && wp_verify_nonce( $_POST['__nonce'], 'ap_role_'.$_POST['role_name'].'_update' ) && is_super_admin( ) ) { $caps = isset($_POST['c'] ) ? $_POST['c'] : array(); $caps = array_map( 'sanitize_text_field', $caps ); ap_update_caps_for_role( $_POST['role_name'], $caps ); } elseif ( isset( $_POST['new_role'] ) && wp_verify_nonce( $_POST['__nonce'], 'ap_new_role' ) ) { $role_name = sanitize_text_field( $_POST['role_name'] ); $role_slug = sanitize_title_with_dashes( $_POST['role_slug'] ); if ( ! isset( $wp_roles->roles[ $role_slug ] ) ) { $role_caps = wp_unslash( $_POST['role_caps'] ); $caps = ($role_caps == 'moderator_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

', $class, $message ); } ?>






roles as $key => $role ) { ?>