__( 'Access Groups', 'groups' ), GROUPS_ADMINISTER_GROUPS => __( 'Administer Groups', 'groups' ), GROUPS_ADMINISTER_OPTIONS => __( 'Administer Groups plugin options', 'groups' ), GROUPS_RESTRICT_ACCESS => __( 'Restrict Access', 'groups' ) ); $previous_legacy_enable = Groups_Options::get_option( GROUPS_LEGACY_ENABLE, GROUPS_LEGACY_ENABLE_DEFAULT ); // // handle options form submission // if ( isset( $_POST['submit'] ) ) { if ( wp_verify_nonce( $_POST[GROUPS_ADMIN_OPTIONS_NONCE], 'admin' ) ) { $post_types = get_post_types(); $selected_post_types = !empty( $_POST['add_meta_boxes'] ) && is_array( $_POST['add_meta_boxes'] ) ? $_POST['add_meta_boxes'] : array(); foreach( $post_types as $post_type ) { $handle_post_types[$post_type] = in_array( $post_type, $selected_post_types ); } Groups_Post_Access::set_handles_post_types( $handle_post_types ); // tree view if ( !empty( $_POST[GROUPS_SHOW_TREE_VIEW] ) ) { Groups_Options::update_option( GROUPS_SHOW_TREE_VIEW, true ); } else { Groups_Options::update_option( GROUPS_SHOW_TREE_VIEW, false ); } // show in user profiles Groups_Options::update_option( GROUPS_SHOW_IN_USER_PROFILE, !empty( $_POST[GROUPS_SHOW_IN_USER_PROFILE] ) ); // roles & capabilities $rolenames = $wp_roles->get_names(); foreach ( $rolenames as $rolekey => $rolename ) { $role = $wp_roles->get_role( $rolekey ); foreach ( $caps as $capkey => $capname ) { $role_cap_id = $rolekey.'-'.$capkey; if ( !empty($_POST[$role_cap_id] ) ) { $role->add_cap( $capkey ); } else { $role->remove_cap( $capkey ); } } } Groups_Controller::assure_capabilities(); if ( !$is_sitewide_plugin ) { // delete data if ( !empty( $_POST['delete-data'] ) ) { Groups_Options::update_option( 'groups_delete_data', true ); } else { Groups_Options::update_option( 'groups_delete_data', false ); } } // legacy enable ? if ( !empty( $_POST[GROUPS_LEGACY_ENABLE] ) ) { Groups_Options::update_option( GROUPS_LEGACY_ENABLE, true ); } else { Groups_Options::update_option( GROUPS_LEGACY_ENABLE, false ); } Groups_Admin::add_message( __( 'Options saved.', 'groups' ) ); } } echo '
'; // .groups-options } /** * Network administration options. */ function groups_network_admin_options() { if ( !current_user_can( GROUPS_ADMINISTER_OPTIONS ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } echo '