+if ( $_POST ) {
+ /** This action is documented in wp-admin/network/edit.php */
+ do_action( 'wpmuadminedit' );
+
+ check_admin_referer( 'siteoptions' );
+
+ $checked_options = array( 'menu_items' => array(), 'registrationnotification' => 'no', 'upload_space_check_disabled' => 1, 'add_new_users' => 0 );
+ foreach ( $checked_options as $option_name => $option_unchecked_value ) {
+ if ( ! isset( $_POST[$option_name] ) )
+ $_POST[$option_name] = $option_unchecked_value;
+ }
+
+ $options = array(
+ 'registrationnotification', 'registration', 'add_new_users', 'menu_items',
+ 'upload_space_check_disabled', 'blog_upload_space', 'upload_filetypes', 'site_name',
+ 'first_post', 'first_page', 'first_comment', 'first_comment_url', 'first_comment_author',
+ 'welcome_email', 'welcome_user_email', 'fileupload_maxk', 'global_terms_enabled',
+ 'illegal_names', 'limited_email_domains', 'banned_email_domains', 'WPLANG', 'admin_email',
+ );
+
+ // Handle translation install.
+ if ( ! empty( $_POST['WPLANG'] ) && wp_can_install_language_pack() ) { // @todo: Skip if already installed
+ $language = wp_download_language_pack( $_POST['WPLANG'] );
+ if ( $language ) {
+ $_POST['WPLANG'] = $language;
+ }
+ }
+
+ foreach ( $options as $option_name ) {
+ if ( ! isset($_POST[$option_name]) )
+ continue;
+ $value = wp_unslash( $_POST[$option_name] );
+ update_site_option( $option_name, $value );
+ }
+
+ /**
+ * Fires after the network options are updated.
+ *
+ * @since MU
+ */
+ do_action( 'update_wpmu_options' );
+
+ wp_redirect( add_query_arg( 'updated', 'true', network_admin_url( 'settings.php' ) ) );
+ exit();
+}
+
+include( ABSPATH . 'wp-admin/admin-header.php' );