X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/00dbffaf1593b0ac719d98f00839221a9ca52133..9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f:/wp-admin/network.php diff --git a/wp-admin/network.php b/wp-admin/network.php index d5549145..e5046f9b 100644 --- a/wp-admin/network.php +++ b/wp-admin/network.php @@ -13,7 +13,7 @@ define( 'WP_INSTALLING_NETWORK', true ); /** WordPress Administration Bootstrap */ -require_once( './admin.php' ); +require_once( dirname( __FILE__ ) . '/admin.php' ); if ( ! is_super_admin() ) wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) ); @@ -39,8 +39,11 @@ foreach ( $wpdb->tables( 'ms_global' ) as $table => $prefixed_table ) */ function network_domain_check() { global $wpdb; - if ( $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->site'" ) ) + + $sql = $wpdb->prepare( "SHOW TABLES LIKE %s", $wpdb->esc_like( $wpdb->site ) ); + if ( $wpdb->get_var( $sql ) ) { return $wpdb->get_var( "SELECT domain FROM $wpdb->site ORDER BY id ASC LIMIT 1" ); + } return false; } @@ -58,13 +61,20 @@ function allow_subdomain_install() { return true; } /** - * Allow subdirectory install + * Allow subdirectory install. * * @since 3.0.0 * @return bool Whether subdirectory install is allowed */ function allow_subdirectory_install() { global $wpdb; + /** + * Filter whether to enable the subdirectory install feature in Multisite. + * + * @since 3.0.0 + * + * @param bool true Whether to enable the subdirectory install feature in Multisite. Default is false. + */ if ( apply_filters( 'allow_subdirectory_install', false ) ) return true; @@ -123,13 +133,12 @@ get_current_screen()->set_help_sidebar( '

' . __('For more information:') . '

' . '

' . __('Documentation on Creating a Network') . '

' . '

' . __('Documentation on the Network Screen') . '

' . - '

' . __('Support Forums') . '

' + '

' . __('Support Forums') . '

' ); include( ABSPATH . 'wp-admin/admin-header.php' ); ?>
-

' . __('ERROR:') . ' ' . __( 'The constant DO_NOT_UPGRADE_GLOBAL_TABLES cannot be defined when creating a network.' ) . '

'; echo ''; - include ( ABSPATH . 'wp-admin/admin-footer.php' ); + include( ABSPATH . 'wp-admin/admin-footer.php' ); die(); } @@ -213,11 +222,11 @@ function network_step1( $errors = false ) { - + - +
site1.%1$s and site2.%1$s', 'subdomain examples' ), $hostname ); ?>
%1$s/site1 and %1$s/site2', 'subdirectory examples' ), $hostname ); ?>
@@ -285,14 +294,18 @@ function network_step1( $errors = false ) { -
+

+ +

- + -
+

+ +

@@ -314,14 +327,16 @@ function network_step2( $errors = false ) { $base = parse_url( $slashed_home, PHP_URL_PATH ); $document_root_fix = str_replace( '\\', '/', realpath( $_SERVER['DOCUMENT_ROOT'] ) ); $abspath_fix = str_replace( '\\', '/', ABSPATH ); - $home_path = 0 === strpos( $abspath_fix, $document_root_fix ) ? $document_root_fix . $base : str_replace( '\\', '/', get_home_path() ); + $home_path = 0 === strpos( $abspath_fix, $document_root_fix ) ? $document_root_fix . $base : get_home_path(); $wp_siteurl_subdir = preg_replace( '#^' . preg_quote( $home_path, '#' ) . '#', '', $abspath_fix ); $rewrite_base = ! empty( $wp_siteurl_subdir ) ? ltrim( trailingslashit( $wp_siteurl_subdir ), '/' ) : ''; - $location_of_wp_config = ABSPATH; - if ( ! file_exists( ABSPATH . 'wp-config.php' ) && file_exists( dirname( ABSPATH ) . '/wp-config.php' ) ) - $location_of_wp_config = trailingslashit( dirname( ABSPATH ) ); + $location_of_wp_config = $abspath_fix; + if ( ! file_exists( ABSPATH . 'wp-config.php' ) && file_exists( dirname( ABSPATH ) . '/wp-config.php' ) ) { + $location_of_wp_config = dirname( $abspath_fix ); + } + $location_of_wp_config = trailingslashit( $location_of_wp_config ); // Wildcard DNS message. if ( is_wp_error( $errors ) ) @@ -374,8 +389,7 @@ define('SUBDOMAIN_INSTALL', define('DOMAIN_CURRENT_SITE', ''); define('PATH_CURRENT_SITE', ''); define('SITE_ID_CURRENT_SITE', 1); -define('BLOG_ID_CURRENT_SITE', 1); - +define('BLOG_ID_CURRENT_SITE', 1); '', 'SECURE_AUTH_KEY' => '', 'LOGGED_IN_KEY' => '', 'NONCE_KEY' => '', 'AUTH_SALT' => '', 'SECURE_AUTH_SALT' => '', 'LOGGED_IN_SALT' => '', 'NONCE_SALT' => '' ); foreach ( $keys_salts as $c => $v ) { @@ -425,7 +439,7 @@ define('BLOG_ID_CURRENT_SITE', 1); $web_config_file .= ' - + '; } $web_config_file .= ' @@ -458,9 +472,11 @@ define('BLOG_ID_CURRENT_SITE', 1); '; - ?> -
  • web.config file in %s, replacing other WordPress rules:' ), $home_path ); ?>

    -

    '; + /* translators: 1: a filename like .htaccess. 2: a file path. */ + printf( __( 'Add the following to your %1$s file in %2$s, replacing other WordPress rules:' ), + 'web.config', '' . $home_path . '' ); + echo '

    '; if ( ! $subdomain_install && WP_CONTENT_DIR != ABSPATH . 'wp-content' ) echo '

    ' . __('Warning:') . ' ' . __( 'Subdirectory networks may not be fully compatible with custom wp-content directories.' ) . '

    '; ?> @@ -473,7 +489,7 @@ define('BLOG_ID_CURRENT_SITE', 1); $ms_files_rewriting = ''; if ( is_multisite() && get_site_option( 'ms_files_rewriting' ) ) { $ms_files_rewriting = "\n# uploaded files\nRewriteRule ^"; - $ms_files_rewriting .= $subdir_match . "files/(.+) {$rewrite_base}wp-includes/ms-files.php?file={$subdir_replacement_12} [L]" . "\n"; + $ms_files_rewriting .= $subdir_match . "files/(.+) {$rewrite_base}" . WPINC . "/ms-files.php?file={$subdir_replacement_12} [L]" . "\n"; } $htaccess_file = << -
  • .htaccess file in %s, replacing other WordPress rules:' ), $home_path ); ?>

    -

    '; + /* translators: 1: a filename like .htaccess. 2: a file path. */ + printf( __( 'Add the following to your %1$s file in %2$s, replacing other WordPress rules:' ), + '.htaccess', '' . $home_path . '' ); + echo '

    '; if ( ! $subdomain_install && WP_CONTENT_DIR != ABSPATH . 'wp-content' ) echo '

    ' . __('Warning:') . ' ' . __( 'Subdirectory networks may not be fully compatible with custom wp-content directories.' ) . '

    '; ?> @@ -515,12 +533,12 @@ if ( $_POST ) { check_admin_referer( 'install-network-1' ); require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); - // create network tables + // Create network tables. install_network(); $base = parse_url( trailingslashit( get_option( 'home' ) ), PHP_URL_PATH ); $subdomain_install = allow_subdomain_install() ? !empty( $_POST['subdomain_install'] ) : false; if ( ! network_domain_check() ) { - $result = populate_network( 1, get_clean_basedomain(), sanitize_email( $_POST['email'] ), stripslashes( $_POST['sitename'] ), $base, $subdomain_install ); + $result = populate_network( 1, get_clean_basedomain(), sanitize_email( $_POST['email'] ), wp_unslash( $_POST['sitename'] ), $base, $subdomain_install ); if ( is_wp_error( $result ) ) { if ( 1 == count( $result->get_error_codes() ) && 'no_wildcard_dns' == $result->get_error_code() ) network_step2( $result );