Make WordPress Core

Ticket #28344: 28344.5.patch

File 28344.5.patch, 5.9 KB (added by ocean90, 8 years ago)
  • src/wp-admin/includes/options.php

     
    138138function options_reading_blog_charset() {
    139139        echo '<input name="blog_charset" type="text" id="blog_charset" value="' . esc_attr( get_option( 'blog_charset' ) ) . '" class="regular-text" />';
    140140        echo '<p class="description">' . __( 'The <a href="https://codex.wordpress.org/Glossary#Character_set">character encoding</a> of your site (UTF-8 is recommended)' ) . '</p>';
    141 }
    142  No newline at end of file
     141}
     142
     143/**
     144 * Render the week starts on setting.
     145 *
     146 * @global WP_Locale $wp_locale
     147 *
     148 * @since 4.4.0
     149 */
     150function options_general_start_of_week() {
     151        global $wp_locale;
     152        ?>
     153        <select name="start_of_week" id="start_of_week">
     154                <?php
     155                $start_of_week = get_option( 'start_of_week' );
     156                for ( $day_index = 0; $day_index <= 6; $day_index++ ) {
     157                        echo "\n\t<option value='" . esc_attr( $day_index ) . "'" . selected( $start_of_week, $day_index, false ) . ">" . $wp_locale->get_weekday( $day_index ) . '</option>';
     158                }
     159                ?>
     160        </select>
     161        <?php
     162}
  • src/wp-admin/options-general.php

     
    5353<h1><?php echo esc_html( $title ); ?></h1>
    5454
    5555<form method="post" action="options.php" novalidate="novalidate">
    56 <?php settings_fields('general'); ?>
     56<?php
     57settings_fields( 'general' );
    5758
     59/**
     60 * @global WP_Locale $wp_locale
     61 */
     62global $wp_locale;
     63if ( get_option( 'start_of_week' ) != $wp_locale->start_of_week ) {
     64        add_settings_field( 'start_of_week', __( 'Week Starts On' ), 'options_general_start_of_week', 'general', 'default', array( 'label_for' => 'start_of_week' ) );
     65}
     66?>
     67
    5868<table class="form-table">
    5969<tr>
    6070<th scope="row"><label for="blogname"><?php _e('Site Title') ?></label></th>
     
    274284        </fieldset>
    275285</td>
    276286</tr>
    277 <tr>
    278 <th scope="row"><label for="start_of_week"><?php _e('Week Starts On') ?></label></th>
    279 <td><select name="start_of_week" id="start_of_week">
    280 <?php
    281 /**
    282  * @global WP_Locale $wp_locale
    283  */
    284 global $wp_locale;
    285287
    286 for ($day_index = 0; $day_index <= 6; $day_index++) :
    287         $selected = (get_option('start_of_week') == $day_index) ? 'selected="selected"' : '';
    288         echo "\n\t<option value='" . esc_attr($day_index) . "' $selected>" . $wp_locale->get_weekday($day_index) . '</option>';
    289 endfor;
    290 ?>
    291 </select></td>
    292 </tr>
    293 <?php do_settings_fields('general', 'default'); ?>
     288<?php do_settings_fields( 'general', 'default' ); ?>
    294289
    295290<?php
    296291$languages = get_available_languages();
  • src/wp-admin/options.php

     
    8282}
    8383
    8484$whitelist_options = array(
    85         'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string', 'WPLANG' ),
     85        'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'timezone_string', 'WPLANG' ),
    8686        'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ),
    8787        'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ),
    8888        'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public' ),
     
    9292
    9393$mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass');
    9494
    95 if ( ! in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) )
     95if ( ! in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) {
    9696        $whitelist_options['reading'][] = 'blog_charset';
     97}
    9798
     99/**
     100 * @global WP_Locale $wp_locale
     101 */
     102global $wp_locale;
     103if ( get_option( 'start_of_week' ) != $wp_locale->start_of_week ) {
     104        $whitelist_options['general'][] = 'start_of_week';
     105}
     106
    98107if ( get_site_option( 'initial_db_version' ) < 32453 ) {
    99108        $whitelist_options['writing'][] = 'use_smilies';
    100109        $whitelist_options['writing'][] = 'use_balanceTags';
  • src/wp-includes/locale.php

     
    4242        public $weekday_abbrev;
    4343
    4444        /**
     45         * Stores the default start of the week.
     46         *
     47         * @var string
     48         */
     49        public $start_of_week;
     50
     51        /**
    4552         * Stores the translated strings for the full month names.
    4653         *
    4754         * @since 2.1.0
     
    118125                $this->weekday_initial[ __( 'Friday' ) ]    = /* translators: one-letter abbreviation of the weekday */ _x( 'F', 'Friday initial' );
    119126                $this->weekday_initial[ __( 'Saturday' ) ]  = /* translators: one-letter abbreviation of the weekday */ _x( 'S', 'Saturday initial' );
    120127
     128                // Start of the week.
     129                $this->start_of_week = /* translators: default start of the week. 0 = Sunday, 1 = Monday */ _x( '1', 'start of week' );
     130
    121131                // Abbreviations for each day.
    122132                $this->weekday_abbrev[__('Sunday')]    = /* translators: three-letter abbreviation of the weekday */ __('Sun');
    123133                $this->weekday_abbrev[__('Monday')]    = /* translators: three-letter abbreviation of the weekday */ __('Mon');