WordPress.org

Make WordPress Core

Ticket #29783: 29783.2.patch

File 29783.2.patch, 14.1 KB (added by ocean90, 3 years ago)
  • src/wp-admin/admin-header.php

     
    157157$admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( $wp_version ) );
    158158$admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) );
    159159$admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
    160 $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
     160$admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) );
    161161
    162162if ( wp_is_mobile() )
    163163        $admin_body_class .= ' mobile';
  • src/wp-admin/credits.php

     
    2222*/
    2323function wp_credits() {
    2424        global $wp_version;
    25         $locale = get_locale();
     25        $locale = get_user_locale();
    2626
    2727        $results = get_site_transient( 'wordpress_credits_' . $locale );
    2828
  • src/wp-admin/includes/class-wp-plugin-install-list-table.php

     
    126126                                'active_installs' => true
    127127                        ),
    128128                        // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results.
    129                         'locale' => get_locale(),
     129                        'locale' => get_user_locale(),
    130130                        'installed_plugins' => $this->get_installed_plugin_slugs(),
    131131                );
    132132
  • src/wp-admin/includes/class-wp-press-this.php

     
    12781278        $admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( $wp_version ) );
    12791279        $admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) );
    12801280        $admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
    1281         $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
     1281        $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) );
    12821282
    12831283        /** This filter is documented in wp-admin/admin-header.php */
    12841284        $admin_body_classes = apply_filters( 'admin_body_class', '' );
  • src/wp-admin/includes/dashboard.php

     
    12301230                $notice .= "<p class='browser-update-nag{$browser_nag_class}'>{$msg}</p>";
    12311231
    12321232                $browsehappy = 'http://browsehappy.com/';
    1233                 $locale = get_locale();
     1233                $locale = get_user_locale();
    12341234                if ( 'en_US' !== $locale )
    12351235                        $browsehappy = add_query_arg( 'locale', $locale, $browsehappy );
    12361236
  • src/wp-admin/includes/import.php

     
    125125function wp_get_popular_importers() {
    126126        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
    127127
    128         $locale = get_locale();
     128        $locale = get_user_locale();
    129129        $popular_importers = get_site_transient( 'popular_importers_' . $locale );
    130130
    131131        if ( ! $popular_importers ) {
    132                 $url = add_query_arg( 'locale', get_locale(), 'http://api.wordpress.org/core/importers/1.1/' );
     132                $url = add_query_arg( 'locale', $locale, 'http://api.wordpress.org/core/importers/1.1/' );
    133133                $options = array( 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url() );
    134134                $response = wp_remote_get( $url, $options );
    135135                $popular_importers = json_decode( wp_remote_retrieve_body( $response ), true );
  • src/wp-admin/includes/plugin-install.php

     
    3737        }
    3838
    3939        if ( ! isset( $args->locale ) ) {
    40                 $args->locale = get_locale();
     40                $args->locale = get_user_locale();
    4141        }
    4242
    4343        /**
  • src/wp-admin/includes/template.php

     
    16471647/** This action is documented in wp-admin/admin-header.php */
    16481648do_action( 'admin_head' );
    16491649
    1650 $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
     1650$admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) );
    16511651
    16521652if ( is_rtl() )
    16531653        $admin_body_class .= ' rtl';
  • src/wp-admin/includes/theme.php

     
    327327        }
    328328
    329329        if ( ! isset( $args->locale ) ) {
    330                 $args->locale = get_locale();
     330                $args->locale = get_user_locale();
    331331        }
    332332
    333333        /**
  • src/wp-admin/includes/user.php

     
    9494                $user->rich_editing = isset( $_POST['rich_editing'] ) && 'false' == $_POST['rich_editing'] ? 'false' : 'true';
    9595                $user->admin_color = isset( $_POST['admin_color'] ) ? sanitize_text_field( $_POST['admin_color'] ) : 'fresh';
    9696                $user->show_admin_bar_front = isset( $_POST['admin_bar_front'] ) ? 'true' : 'false';
     97                $user->locale = '';
     98                if ( isset( $_POST['locale'] ) ) {
     99                        $user->locale = ( '' === $_POST['locale'] ) ? 'en_US' : $_POST['locale']; // @todo validation
     100                }
    97101        }
    98102
    99103        $user->comment_shortcuts = isset( $_POST['comment_shortcuts'] ) && 'true' == $_POST['comment_shortcuts'] ? 'true' : '';
  • src/wp-admin/plugin-editor.php

     
    245245                <input type="hidden" name="scrollto" id="scrollto" value="<?php echo $scrollto; ?>" />
    246246                </div>
    247247                <?php if ( !empty( $docs_select ) ) : ?>
    248                 <div id="documentation" class="hide-if-no-js"><label for="docs-list"><?php _e('Documentation:') ?></label> <?php echo $docs_select ?> <input type="button" class="button" value="<?php esc_attr_e( 'Look Up' ) ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_locale() ) ?>&amp;version=<?php echo urlencode( $wp_version ) ?>&amp;redirect=true'); }" /></div>
     248                <div id="documentation" class="hide-if-no-js"><label for="docs-list"><?php _e('Documentation:') ?></label> <?php echo $docs_select ?> <input type="button" class="button" value="<?php esc_attr_e( 'Look Up' ) ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_user_locale() ) ?>&amp;version=<?php echo urlencode( $wp_version ) ?>&amp;redirect=true'); }" /></div>
    249249                <?php endif; ?>
    250250<?php if ( is_writeable($real_file) ) : ?>
    251251        <?php if ( in_array( $file, (array) get_option( 'active_plugins', array() ) ) ) { ?>
  • src/wp-admin/theme-editor.php

     
    206206                <div id="documentation" class="hide-if-no-js">
    207207                <label for="docs-list"><?php _e('Documentation:') ?></label>
    208208                <?php echo $docs_select; ?>
    209                 <input type="button" class="button" value=" <?php esc_attr_e( 'Look Up' ); ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_locale() ) ?>&amp;version=<?php echo urlencode( $wp_version ) ?>&amp;redirect=true'); }" />
     209                <input type="button" class="button" value=" <?php esc_attr_e( 'Look Up' ); ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_user_locale() ) ?>&amp;version=<?php echo urlencode( $wp_version ) ?>&amp;redirect=true'); }" />
    210210                </div>
    211211        <?php endif; ?>
    212212
  • src/wp-admin/user-edit.php

     
    274274</fieldset>
    275275</td>
    276276</tr>
     277
    277278<?php
     279$languages = get_available_languages();
     280if ( $languages ) : ?>
     281<tr class="user-language-wrap">
     282        <th scope="row">
     283                <label for="site_language"><?php _e( 'Site Language' ); ?></label>
     284        </th>
     285        <td>
     286                <?php
     287                $lang = get_user_option( 'locale', $profileuser->ID );
     288                var_dump($lang);
     289                if ( 'en_US' === $lang ) { // en_US
     290                        $lang = false;
     291                } elseif ( ! in_array( $lang, $languages ) ) {
     292                        $lang = get_locale();
     293                }
     294
     295                wp_dropdown_languages( array(
     296                        'name'         => 'locale',
     297                        'id'           => 'locale',
     298                        'selected'     => $lang,
     299                        'languages'    => $languages,
     300                        'show_available_translations' => false
     301                ) );
     302                ?>
     303        </td>
     304</tr>
     305<?php
     306endif;
     307?>
     308
     309<?php
    278310/**
    279311 * Fires at the end of the 'Personal Options' settings table on the user editing screen.
    280312 *
  • src/wp-includes/class-wp-editor.php

     
    311311                        if ( empty( self::$first_init ) ) {
    312312                                self::$baseurl = includes_url( 'js/tinymce' );
    313313
    314                                 $mce_locale = get_locale();
     314                                $mce_locale = get_user_locale();
    315315                                self::$mce_locale = $mce_locale = empty( $mce_locale ) ? 'en' : strtolower( substr( $mce_locale, 0, 2 ) ); // ISO 639-1
    316316
    317317                                /** This filter is documented in wp-admin/includes/media.php */
     
    629629                                }
    630630                        }
    631631
    632                         $body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
     632                        $body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) );
    633633
    634634                        if ( !empty($set['tinymce']['body_class']) ) {
    635635                                $body_class .= ' ' . $set['tinymce']['body_class'];
  • src/wp-includes/class-wp-theme.php

     
    12641264         * @access public
    12651265         */
    12661266        public static function sort_by_name( &$themes ) {
    1267                 if ( 0 === strpos( get_locale(), 'en_' ) ) {
     1267                if ( 0 === strpos( get_user_locale(), 'en_' ) ) {
    12681268                        uasort( $themes, array( 'WP_Theme', '_name_sort' ) );
    12691269                } else {
    12701270                        uasort( $themes, array( 'WP_Theme', '_name_sort_i18n' ) );
  • src/wp-includes/l10n.php

     
    7575}
    7676
    7777/**
     78 * Get the locale of current user.
     79 *
     80 * Returns {@see get_locale()} for non-admin requests.
     81 *
     82 * If the user has a locale set to an non-empty string then it will be
     83 * returned. Otherwise it returns the locale of {@see get_locale()}.
     84 *
     85 * @return string The locale of the current user.
     86 */
     87function get_user_locale() {
     88        if ( ! is_admin() ) {
     89                return get_locale();
     90        }
     91
     92        $user = wp_get_current_user();
     93
     94        if ( ! $user ) {
     95                return get_locale();
     96        }
     97
     98        $locale = $user->locale;
     99        return ( '' === $locale ) ? get_locale() : $locale;
     100}
     101
     102/**
    78103 * Retrieve the translation of $text.
    79104 *
    80105 * If there is no translation, or the text domain isn't loaded, the original text is returned.
     
    549574 */
    550575function load_default_textdomain( $locale = null ) {
    551576        if ( null === $locale ) {
    552                 $locale = get_locale();
     577                $locale = get_user_locale();
    553578        }
    554579
    555580        // Unload previously loaded strings so we can switch translations.
  • src/wp-includes/user.php

     
    20252025
    20262026        $meta['show_admin_bar_front'] = empty( $userdata['show_admin_bar_front'] ) ? 'true' : $userdata['show_admin_bar_front'];
    20272027
     2028        $meta['locale'] = isset( $userdata['locale'] ) ? $userdata['locale']: '';
     2029
    20282030        $user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login));
    20292031
    20302032        if ( $user_nicename_check ) {
     
    22052207 * @return array
    22062208 */
    22072209function _get_additional_user_keys( $user ) {
    2208         $keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front' );
     2210        $keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front', 'locale' );
    22092211        return array_merge( $keys, array_keys( wp_get_user_contact_methods( $user ) ) );
    22102212}
    22112213
  • src/wp-settings.php

     
    305305// Load the default text localization domain.
    306306load_default_textdomain();
    307307
    308 $locale = get_locale();
     308$locale = get_user_locale();
    309309$locale_file = WP_LANG_DIR . "/$locale.php";
    310310if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) )
    311311        require( $locale_file );