' . '

' . __( 'Groups options', GROUPS_PLUGIN_DOMAIN ) . '

' . ''; $caps = array( GROUPS_ACCESS_GROUPS => __( 'Access Groups', GROUPS_PLUGIN_DOMAIN ), GROUPS_ADMINISTER_GROUPS => __( 'Administer Groups', GROUPS_PLUGIN_DOMAIN ), GROUPS_ADMINISTER_OPTIONS => __( 'Administer Groups plugin options', GROUPS_PLUGIN_DOMAIN ), ); // // handle options form submission // if ( isset( $_POST['submit'] ) ) { if ( wp_verify_nonce( $_POST[GROUPS_ADMIN_OPTIONS_NONCE], 'admin' ) ) { // admin override if ( empty( $_POST[GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE] ) ) { $admin_override = false; } else { $admin_override = true; } // Don't move this to the plugin options, access will be faster add_option( GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE, $admin_override ); // WP 3.3.1 : update alone wouldn't create the option when value is false update_option( GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE, $admin_override ); // 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 ); } // 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 ); } } } } $admin_override = get_option( GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE, GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE_DEFAULT ); $show_tree_view = Groups_Options::get_option( GROUPS_SHOW_TREE_VIEW, GROUPS_SHOW_TREE_VIEW_DEFAULT ); $rolenames = $wp_roles->get_names(); $caps_table = ''; $caps_table .= ''; $caps_table .= ''; $caps_table .= ''; foreach ( $caps as $cap ) { $caps_table .= ''; } $caps_table .= ''; $caps_table .= ''; $caps_table .= ''; foreach ( $rolenames as $rolekey => $rolename ) { $role = $wp_roles->get_role( $rolekey ); $caps_table .= ''; $caps_table .= ''; foreach ( $caps as $capkey => $capname ) { if ( $role->has_cap( $capkey ) ) { $checked = ' checked="checked" '; } else { $checked = ''; } $caps_table .= ''; } $caps_table .= ''; } $caps_table .= ''; $caps_table .= '
'; $caps_table .= __( 'Role', GROUPS_PLUGIN_DOMAIN ); $caps_table .= ''; $caps_table .= $cap; $caps_table .= '
'; $caps_table .= translate_user_role( $rolename ); $caps_table .= ''; $role_cap_id = $rolekey.'-'.$capkey; $caps_table .= ''; $caps_table .= '
'; $delete_data = Groups_Options::get_option( 'groups_delete_data', false ); // // print the options form // echo '
' . '
' . '

' . __( 'Administrator Access Override', GROUPS_PLUGIN_DOMAIN ) . '

' . '

' . '' . '' . '

'; echo '

' . __( 'Tree view', GROUPS_PLUGIN_DOMAIN ) . '

' . '

' . '' . '' . '

'; echo '

' . __( 'Permissions', GROUPS_PLUGIN_DOMAIN ) . '

' . '

' . __( 'These permissions apply to Groups management. They do not apply to access permissions derived from Groups capabilities.', GROUPS_PLUGIN_DOMAIN ) . '

' . $caps_table . '

' . __( 'A minimum set of permissions will be preserved.', GROUPS_PLUGIN_DOMAIN ) . '
' . __( 'If you lock yourself out, please ask an administrator to help.', GROUPS_PLUGIN_DOMAIN ) . '

'; if ( !$is_sitewide_plugin ) { echo '

' . __( 'Deactivation and data persistence', GROUPS_PLUGIN_DOMAIN ) . '

' . '

' . '' . '' . '

' . '

' . __( 'CAUTION: If this option is active while the plugin is deactivated, ALL plugin settings and data will be DELETED. If you are going to use this option, now would be a good time to make a backup. By enabling this option you agree to be solely responsible for any loss of data or any other consequences thereof.', GROUPS_PLUGIN_DOMAIN ) . '

'; } echo '

' . wp_nonce_field( 'admin', GROUPS_ADMIN_OPTIONS_NONCE, true, false ) . '' . '

' . '
' . '
'; Groups_Help::footer(); } function groups_network_admin_options() { if ( !current_user_can( GROUPS_ADMINISTER_OPTIONS ) ) { wp_die( __( 'Access denied.', GROUPS_PLUGIN_DOMAIN ) ); } echo '
' . '

' . __( 'Groups network options', GROUPS_PLUGIN_DOMAIN ) . '

' . '
'; // handle options form submission if ( isset( $_POST['submit'] ) ) { if ( wp_verify_nonce( $_POST[GROUPS_ADMIN_OPTIONS_NONCE], 'admin' ) ) { // delete data if ( !empty( $_POST['delete-data'] ) ) { Groups_Options::update_option( 'groups_network_delete_data', true ); } else { Groups_Options::update_option( 'groups_network_delete_data', false ); } } } $delete_data = Groups_Options::get_option( 'groups_network_delete_data', false ); // options form echo '
' . '
' . '

' . __( 'Network deactivation and data persistence', GROUPS_PLUGIN_DOMAIN ) . '

' . '

' . '' . '' . '

' . '

' . __( 'CAUTION: If this option is active while the plugin is deactivated, ALL plugin settings and data will be DELETED for all sites. If you are going to use this option, now would be a good time to make a backup. By enabling this option you agree to be solely responsible for any loss of data or any other consequences thereof.', GROUPS_PLUGIN_DOMAIN ) . '

' . '

' . wp_nonce_field( 'admin', GROUPS_ADMIN_OPTIONS_NONCE, true, false ) . '' . '

' . '
' . '
'; Groups_Help::footer(); }