From cda3031b06fae640a9f0fc38c6da2431fc3f3b36 Mon Sep 17 00:00:00 2001 From: wpmuguru Date: Wed, 27 Jan 2010 19:13:00 +0000 Subject: [PATCH] Improvements to queries in populate_network(), also gettext, props nacin, see #11816 git-svn-id: http://svn.automattic.com/wordpress/trunk@12880 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/schema.php | 93 +++++++++++++++++++++++------------- wp-includes/load.php | 5 +- wp-includes/ms-functions.php | 7 ++- 3 files changed, 67 insertions(+), 38 deletions(-) diff --git a/wp-admin/includes/schema.php b/wp-admin/includes/schema.php index 8ae0ef181..b9ccbe04f 100644 --- a/wp-admin/includes/schema.php +++ b/wp-admin/includes/schema.php @@ -630,7 +630,7 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam die( 'You must provide a site name!' ); // check for network collision - $existing_network = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$wpdb->site} WHERE id = %d", $network_id ) ); + $existing_network = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM $wpdb->site WHERE id = %d", $network_id ) ); if ( $existing_network == $network_id ) die( 'That network already exists!' ); @@ -645,25 +645,25 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam else $allowed_themes = array( $stylesheet => true ); - if ( $network_id == 1 ) - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->site." ( id, domain, path ) VALUES ( NULL, %s, %s )", $domain, $path ) ); - else - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->site." ( id, domain, path ) VALUES ( %d, %s, %s )", $network_id, $domain, $path ) ); - - $network_id = $wpdb->insert_id; - - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'site_name', %s)", $network_id, $site_name ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'admin_email', %s)", $network_id, $site_user->user_email ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'admin_user_id', %d)", $network_id, $site_user->ID ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'registration', 'none')", $network_id ) ); - if ( !is_multisite() ) { - $wpdb->query( "INSERT INTO " . $wpdb->sitecategories . " ( cat_ID, cat_name, category_nicename, last_updated ) VALUES (1, 'Uncategorized', 'uncategorized', NOW())" ); - $wpdb->query( "INSERT INTO " . $wpdb->sitecategories . " ( cat_ID, cat_name, category_nicename, last_updated ) VALUES (2, 'Blogroll', 'blogroll', NOW())" ); + if ( 1 == $network_id ) { + $wpdb->insert( $wpdb->site, array( 'domain' => $domain, 'path' => $path ) ); + $network_id = $wpdb->insert_id; + } else { + $wpdb->insert( $wpdb->site, array( 'domain' => $domain, 'path' => $path, 'network_id' => $network_id ) ); } - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'upload_filetypes', 'jpg jpeg png gif mp3 mov avi wmv midi mid pdf' )", $network_id ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'blog_upload_space', '10' )", $network_id ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'fileupload_maxk', '1500' )", $network_id ) ); + if ( !is_multisite() ) { + + /* translators: Default category slug */ + $cat_slug = sanitize_title( _x( 'Uncategorized', 'Default category slug' ) ); + + $wpdb->insert( $wpdb->sitecategories, array( 'site_id' => $network_id, 'cat_ID' => 1, 'cat_name' => __('Uncategorized'), 'category_nicename' => $cat_slug, 'last_updated' => current_time( 'mysql', true ) ) ); + + /* translators: Default link category slug */ + $cat_slug = sanitize_title( _x( 'Blogroll', 'Default link category slug' ) ); + + $wpdb->insert( $wpdb->sitecategories, array( 'site_id' => $network_id, 'cat_ID' => 2, 'cat_name' => __('Blogroll'), 'category_nicename' => $cat_slug, 'last_updated' => current_time( 'mysql', true ) ) ); + $site_admins = array( $site_user->user_login ); $users = get_users_of_blog(); if ( $users ) { @@ -675,11 +675,8 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam } else { $site_admins = get_site_option( 'site_admins' ); } - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'site_admins', '" . serialize( $site_admins ) . "' )", $network_id ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'allowedthemes', '" . serialize( $allowed_themes ) . "' )", $network_id ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'illegal_names', '" . serialize( array( "www", "web", "root", "admin", "main", "invite", "administrator" ) ) . "' )", $network_id ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'wpmu_upgrade_site', '{$wp_db_version}')", $network_id ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'welcome_email', 'Dear User, + + $welcome_email = __( 'Dear User, Your new SITE_NAME blog has been successfully set up at: BLOG_URL @@ -692,17 +689,45 @@ Login Here: BLOG_URLwp-login.php We hope you enjoy your new blog. Thanks! ---The Team @ SITE_NAME')", $network_id ) ); - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'first_post', 'Welcome to SITE_NAME. This is your first post. Edit or delete it, then start blogging!' )", $network_id ) ); - //@todo - network admins should have a method of editing the network siteurl (used for cookie hash) - $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->sitemeta." (meta_id, site_id, meta_key, meta_value) VALUES (NULL, %d, 'siteurl', %s)", $network_id, get_option( 'siteurl' ) ) ); +--The Team @ SITE_NAME' ); + + $sitemeta = array( + 'site_name' => $site_name, + 'admin_email' => $site_user->user_email, + 'admin_user_id' => $site_user->ID, + 'registration' => 'none', + 'upload_filetypes' => 'jpg jpeg png gif mp3 mov avi wmv midi mid pdf', + 'blog_upload_space' => 10, + 'fileupload_maxk' => 1500, + 'site_admins' => $site_admins, + 'allowedthemes' => $allowed_themes, + 'illegal_names' => array( 'www', 'web', 'root', 'admin', 'main', 'invite', 'administrator' ), + 'wpmu_upgrade_site' => $wp_db_version, + 'welcome_email' => $welcome_email, + 'first_post' => __( 'Welcome to SITE_NAME. This is your first post. Edit or delete it, then start blogging!' ), + // @todo - network admins should have a method of editing the network siteurl (used for cookie hash) + 'siteurl' => get_option( 'siteurl' ) + ); + + $insert = ''; + foreach ( $sitemeta as $meta_key => $meta_value ) { + $meta_key = $wpdb->escape( $meta_key ); + if ( is_array( $meta_value ) ) + $meta_value = serialize( $meta_value ); + $meta_value = $wpdb->escape( $meta_value ); + if ( !empty( $insert ) ) + $insert .= ', '; + $insert .= "( $network_id, '$meta_key', '$meta_value')"; + } + $wpdb->query( "INSERT INTO $wpdb->sitemeta ( site_id, meta_key, meta_value ) VALUES " . $insert ); $current_site->domain = $domain; $current_site->path = $base; $current_site->site_name = ucfirst( $domain ); if ( !is_multisite() ) { - $wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->blogs} (site_id, domain, path) VALUES (%s, %s, %s)", $network_id, $domain, $path ) ); + $wpdb->insert( $wpdb->blogs, array( 'site_id' => $network_id, 'domain' => $domain, 'path' => $path ) ); + update_usermeta( $site_user->ID, 'source_domain', $domain ); update_usermeta( $site_user->ID, 'primary_blog', 1 ); } @@ -726,11 +751,13 @@ Thanks! $vhost_ok = true; } if ( !$vhost_ok ) { - $msg = "

Warning! Wildcard DNS may not be configured correctly!

"; - $msg .= "

To use the subdomain feature of WordPress MU you must have a wildcard entry in your dns. The installer attempted to contact a random hostname ($hostname) on your domain but failed. It returned this error message:
$errstr

From the README.txt:

"; - $msg .= "

If you want to host blogs of the form http://blog.domain.tld/ where domain.tld is the domain name of your machine then you must add a wildcard record to your DNS records.
-This usually means adding a '*' hostname record pointing at your webserver in your DNS configuration tool. Matt has a more detailed explanation on his blog. If you still have problems, these forum messages may help.

"; - $msg .= "

You can still use your site but any subdomain you create may not be accessible. This check is not foolproof so ignore if you know your dns is correct.

"; + // @todo Update this to reflect the merge. Also: Multisite readme file, or remove the
tags. + $msg = '

' . esc_html__( 'Warning! Wildcard DNS may not be configured correctly!' ) . '

'; + $msg .= '

' . __( 'To use the subdomain feature of WordPress MU you must have a wildcard entry in your dns. The installer attempted to contact a random hostname ($hostname) on your domain but failed. It returned this error message:' ) . '
'; + $msg .= '
' . $errstr . '

'; + $msg .= '

' . __( 'From the README.txt:' ) . '

'; + $msg .= '

' . __( "If you want to host blogs of the form http://blog.domain.tld/ where domain.tld is the domain name of your machine then you must add a wildcard record to your DNS records. This usually means adding a '*' hostname record pointing at your webserver in your DNS configuration tool. Matt has a more detailed explanation on his blog. If you still have problems, these forum messages may help." ) . '

'; + $msg .= '

' . __( 'You can still use your site but any subdomain you create may not be accessible. This check is not foolproof so ignore if you know your dns is correct.' ) . '

'; } } return $msg; diff --git a/wp-includes/load.php b/wp-includes/load.php index 05a6a5521..67c7041f5 100644 --- a/wp-includes/load.php +++ b/wp-includes/load.php @@ -298,7 +298,10 @@ function wp_set_wpdb_vars() { $wpdb->field_types = array( 'post_author' => '%d', 'post_parent' => '%d', 'menu_order' => '%d', 'term_id' => '%d', 'term_group' => '%d', 'term_taxonomy_id' => '%d', 'parent' => '%d', 'count' => '%d','object_id' => '%d', 'term_order' => '%d', 'ID' => '%d', 'commment_ID' => '%d', 'comment_post_ID' => '%d', 'comment_parent' => '%d', 'user_id' => '%d', 'link_id' => '%d', 'link_owner' => '%d', 'link_rating' => '%d', 'option_id' => '%d', 'blog_id' => '%d', 'meta_id' => '%d', 'post_id' => '%d', - 'user_status' => '%d', 'umeta_id' => '%d', 'comment_karma' => '%d', 'comment_count' => '%d' ); + 'user_status' => '%d', 'umeta_id' => '%d', 'comment_karma' => '%d', 'comment_count' => '%d', + // multisite: + 'active' => '%d', 'cat_id' => '%d', 'deleted' => '%d', 'lang_id' => '%d', 'mature' => '%d', 'public' => '%d', 'site_id' => '%d', 'spam' => '%d', + ); $prefix = $wpdb->set_prefix( $table_prefix ); diff --git a/wp-includes/ms-functions.php b/wp-includes/ms-functions.php index 5c17cd0dc..a5dcce8b1 100644 --- a/wp-includes/ms-functions.php +++ b/wp-includes/ms-functions.php @@ -1466,7 +1466,7 @@ function wpmu_welcome_notification($blog_id, $user_id, $password, $title, $meta $welcome_email = stripslashes( get_site_option( 'welcome_email' ) ); if ( $welcome_email == false ) - $welcome_email = stripslashes( __( "Dear User, + $welcome_email = stripslashes( __( 'Dear User, Your new SITE_NAME blog has been successfully set up at: BLOG_URL @@ -1476,11 +1476,10 @@ Username: USERNAME Password: PASSWORD Login Here: BLOG_URLwp-login.php -We hope you enjoy your new weblog. +We hope you enjoy your new blog. Thanks! ---The WordPress Team -SITE_NAME" ) ); +--The Team @ SITE_NAME' ) ); $url = get_blogaddress_by_id($blog_id); $user = new WP_User($user_id);