Ticket #40503: 40503.3.diff
File 40503.3.diff, 3.4 KB (added by , 8 years ago) |
---|
-
src/wp-includes/ms-functions.php
1153 1153 * updated. Otherwise, keys and values will be used to set options for 1154 1154 * the new site. Default empty array. 1155 1155 * @param int $site_id Optional. Only relevant on multi-network installs. 1156 * @return int|WP_Error Returns WP_Error object on failure, int $blog_id on success1156 * @return int|WP_Error Returns WP_Error object on failure, the new site ID on success. 1157 1157 */ 1158 1158 function wpmu_create_blog( $domain, $path, $title, $user_id, $meta = array(), $site_id = 1 ) { 1159 1159 $defaults = array( 1160 1160 'public' => 0, 1161 'WPLANG' => get_ site_option('WPLANG' ),1161 'WPLANG' => get_network_option( $site_id, 'WPLANG' ), 1162 1162 ); 1163 1163 $meta = wp_parse_args( $meta, $defaults ); 1164 1164 … … 1208 1208 * 1209 1209 * @since MU 1210 1210 * 1211 * @param int $blog_id BlogID.1211 * @param int $blog_id Site ID. 1212 1212 * @param int $user_id User ID. 1213 1213 * @param string $domain Site domain. 1214 1214 * @param string $path Site path. 1215 * @param int $site_id SiteID. Only relevant on multi-network installs.1215 * @param int $site_id Network ID. Only relevant on multi-network installs. 1216 1216 * @param array $meta Meta data. Used to set initial site options. 1217 1217 */ 1218 1218 do_action( 'wpmu_new_blog', $blog_id, $user_id, $domain, $path, $site_id, $meta ); -
tests/phpunit/tests/multisite/site.php
10 10 */ 11 11 class Tests_Multisite_Site extends WP_UnitTestCase { 12 12 protected $suppress = false; 13 protected static $network_ids; 13 14 14 15 function setUp() { 15 16 global $wpdb; … … 23 24 parent::tearDown(); 24 25 } 25 26 27 public static function wpSetUpBeforeClass( $factory ) { 28 self::$network_ids = array( 29 'make.wordpress.org/' => array( 'domain' => 'make.wordpress.org', 'path' => '/' ), 30 ); 31 32 foreach ( self::$network_ids as &$id ) { 33 $id = $factory->network->create( $id ); 34 } 35 unset( $id ); 36 } 37 38 public static function wpTearDownAfterClass() { 39 global $wpdb; 40 41 foreach( self::$network_ids as $id ) { 42 $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->sitemeta} WHERE site_id = %d", $id ) ); 43 $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->site} WHERE id= %d", $id ) ); 44 } 45 } 46 26 47 function test_switch_restore_blog() { 27 48 global $_wp_switched_stack, $wpdb; 28 49 … … 981 1002 } 982 1003 983 1004 /** 1005 * @ticket 40503 1006 */ 1007 function test_different_network_language() { 1008 $network = get_network( self::$network_ids['make.wordpress.org/'] ); 1009 1010 add_filter( 'sanitize_option_WPLANG', array( $this, 'filter_allow_unavailable_languages' ), 10, 3 ); 1011 1012 update_network_option( self::$network_ids['make.wordpress.org/'], 'WPLANG', 'wibble' ); 1013 $blog_id = wpmu_create_blog( $network->domain, '/de-de/', 'New Blog', get_current_user_id(), array(), $network->id ); 1014 1015 remove_filter( 'sanitize_option_WPLANG', array( $this, 'filter_allow_unavailable_languages' ), 10 ); 1016 1017 $this->assertSame( get_network_option( self::$network_ids['make.wordpress.org/'], 'WPLANG' ), get_blog_option( $blog_id, 'WPLANG' ) ); 1018 } 1019 1020 /** 984 1021 * Allows to set the WPLANG option to any language. 985 1022 * 986 1023 * @param string $value The sanitized option value.