Make WordPress Core

Ticket #33844: 33844.diff

File 33844.diff, 2.5 KB (added by DrewAPicture, 11 years ago)
  • src/wp-signup.php

     
    121121        echo '<input name="blog_title" type="text" id="blog_title" value="'.esc_attr($blog_title).'" />';
    122122        ?>
    123123
     124        <?php
     125        // Site Language.
     126
     127        /**
     128         * Filter the list of available languages for front-end site signups.
     129         *
     130         * Passing an empty array to this hook will effectively disable output of the setting
     131         * on the signup form, and the default language will be used when creating the site.
     132         *
     133         * Languages not already installed will be stripped.
     134         *
     135         * @since 4.4.0
     136         *
     137         * @param array $available_languages Available languages.
     138         */
     139        $languages = (array) apply_filters( 'signup_available_languages', get_available_languages() );
     140
     141        /*
     142         * Strip any not-installed languages.
     143         *
     144         * We re-call get_available_languages() here in case a language pack was installed
     145         * in the 'signup_available_languages' callback before this point.
     146         */
     147        $languages = array_intersect_assoc( $languages, get_available_languages() );
     148
     149        if ( ! empty( $languages ) ) :
     150                ?>
     151                <p>
     152                        <label for="site-language"><?php _e( 'Site Language' ); ?></label>
     153                        <br />
     154                        <?php
     155                        // Network default.
     156                        $lang = get_site_option( 'WPLANG' );
     157
     158                        // Use English if the default isn't available.
     159                        if ( ! in_array( $lang, $languages ) ) {
     160                                $lang = '';
     161                        }
     162
     163                        wp_dropdown_languages( array(
     164                                'name'                        => 'WPLANG',
     165                                'id'                          => 'site-language',
     166                                'selected'                    => $lang,
     167                                'languages'                   => $languages,
     168                                'show_available_translations' => false,
     169                        ) );
     170                        ?>
     171                </p>
     172        <?php endif; // Languages. ?>
     173
    124174        <div id="privacy">
    125175        <p class="privacy-intro">
    126176            <label for="blog_public_on"><?php _e('Privacy:') ?></label>
     
    330380                'public'  => $public
    331381        );
    332382
     383        // Handle the language setting for the new site.
     384        if ( ! empty( $_POST['WPLANG'] ) ) {
     385                $language = wp_unslash( sanitize_text_field( $_POST['WPLANG'] ) );
     386                if ( $language ) {
     387                        $blog_meta_defaults['WPLANG'] = $language;
     388                }
     389        }
     390
    333391        /**
    334392         * Filter the new site meta variables.
    335393         *
     
    339397         * @param array $blog_meta_defaults An array of default blog meta variables.
    340398         */
    341399        $meta_defaults = apply_filters( 'signup_create_blog_meta', $blog_meta_defaults );
     400
    342401        /**
    343402         * Filter the new default site meta variables.
    344403         *