diff --git a/src/wp-admin/network/settings.php b/src/wp-admin/network/settings.php index 1e13084a858c1..a0d933a90ed77 100644 --- a/src/wp-admin/network/settings.php +++ b/src/wp-admin/network/settings.php @@ -116,6 +116,17 @@ } } + // Ensure the network title (site_name) is not left empty. + $network_title_error = ''; + if ( isset( $_POST['site_name'] ) ) { + $site_name = wp_unslash( $_POST['site_name'] ); + + if ( ! is_scalar( $site_name ) || '' === trim( (string) $site_name ) ) { + unset( $_POST['site_name'] ); + $network_title_error = __( 'The network title cannot be empty. Please enter a title for your network.' ); + } + } + foreach ( $options as $option_name ) { if ( ! isset( $_POST[ $option_name ] ) ) { continue; @@ -131,21 +142,42 @@ */ do_action( 'update_wpmu_options' ); - wp_redirect( add_query_arg( 'updated', 'true', network_admin_url( 'settings.php' ) ) ); + if ( $network_title_error ) { + set_transient( 'network_settings_errors', array( $network_title_error ), 30 ); + wp_redirect( add_query_arg( 'updated', 'error', network_admin_url( 'settings.php' ) ) ); + } else { + wp_redirect( add_query_arg( 'updated', 'true', network_admin_url( 'settings.php' ) ) ); + } exit; } require_once ABSPATH . 'wp-admin/admin-header.php'; if ( isset( $_GET['updated'] ) ) { - wp_admin_notice( - __( 'Settings saved.' ), - array( - 'type' => 'success', - 'dismissible' => true, - 'id' => 'message', - ) - ); + if ( 'true' === $_GET['updated'] ) { + wp_admin_notice( + __( 'Settings saved.' ), + array( + 'type' => 'success', + 'dismissible' => true, + 'id' => 'message', + ) + ); + } elseif ( 'error' === $_GET['updated'] ) { + $network_settings_errors = get_transient( 'network_settings_errors' ); + delete_transient( 'network_settings_errors' ); + + $error_messages = is_array( $network_settings_errors ) ? $network_settings_errors : array( __( 'Some settings could not be saved.' ) ); + foreach ( $error_messages as $error_message ) { + wp_admin_notice( + $error_message, + array( + 'type' => 'error', + 'dismissible' => true, + ) + ); + } + } } ?> @@ -155,10 +187,10 @@
| - + |