WordPress.org

Make WordPress Core

Ticket #16413: 16413.2.diff

File 16413.2.diff, 25.8 KB (added by andrewryno, 4 years ago)
  • wp-admin/options-general.php

     
    77 */ 
    88 
    99/** WordPress Administration Bootstrap */ 
    10 require_once('./admin.php'); 
     10require_once( './admin.php' ); 
    1111 
    1212if ( ! current_user_can( 'manage_options' ) ) 
    1313        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) ); 
    1414 
    15 $title = __('General Settings'); 
     15$title = __( 'General Settings' ); 
    1616$parent_file = 'options-general.php'; 
    1717/* translators: date and time format for exact current time, mainly about timezones, see http://php.net/date */ 
    18 $timezone_format = _x('Y-m-d G:i:s', 'timezone date format'); 
     18$timezone_format = _x( 'Y-m-d G:i:s', 'timezone date format' ); 
    1919 
    2020/** 
    2121 * Display JavaScript on the page. 
     
    5656</script> 
    5757<?php 
    5858} 
    59 add_action('admin_head', 'add_js'); 
     59add_action( 'admin_head', 'add_js' ); 
    6060 
    6161add_contextual_help($current_screen, 
    62         '<p>' . __('The fields on this screen determine some of the basics of your site setup.') . '</p>' . 
    63         '<p>' . __('Most themes display the site title at the top of every page, in the title bar of the browser, and as the identifying name for syndicated feeds. The tagline is also displayed by many themes.') . '</p>' . 
    64         '<p>' . __('The WordPress URL and the Site URL can be the same (example.com) or different; for example, having the WordPress core files (example.com/wordpress) in a subdirectory instead of the root directory.') . '</p>' . 
    65         '<p>' . __('If you want site visitors to be able to register themselves, as opposed to being registered by the site administrator, check the membership box. A default user role can be set for all new users, whether self-registered or registered by the site administrator.') . '</p>' . 
    66         '<p>' . __('UTC means Coordinated Universal Time.') . '</p>' . 
    67         '<p>' . __('Remember to click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' . 
    68         '<p><strong>' . __('For more information:') . '</strong></p>' . 
    69         '<p>' . __('<a href="http://codex.wordpress.org/Settings_General_SubPanel" target="_blank">Documentation on General Settings</a>') . '</p>' . 
    70         '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' 
     62        '<p>' . __( 'The fields on this screen determine some of the basics of your site setup.' ) . '</p>' . 
     63        '<p>' . __( 'Most themes display the site title at the top of every page, in the title bar of the browser, and as the identifying name for syndicated feeds. The tagline is also displayed by many themes.' ) . '</p>' . 
     64        '<p>' . __( 'The WordPress URL and the Site URL can be the same (example.com) or different; for example, having the WordPress core files (example.com/wordpress) in a subdirectory instead of the root directory.' ) . '</p>' . 
     65        '<p>' . __( 'If you want site visitors to be able to register themselves, as opposed to being registered by the site administrator, check the membership box. A default user role can be set for all new users, whether self-registered or registered by the site administrator.' ) . '</p>' . 
     66        '<p>' . __( 'UTC means Coordinated Universal Time.' ) . '</p>' . 
     67        '<p>' . __( 'Remember to click the Save Changes button at the bottom of the screen for new settings to take effect.' ) . '</p>' . 
     68        '<p><strong>' . __('For more information:' ) . '</strong></p>' . 
     69        '<p>' . __( '<a href="http://codex.wordpress.org/Settings_General_SubPanel" target="_blank">Documentation on General Settings</a>' ) . '</p>' . 
     70        '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' 
    7171); 
    7272 
    73 include('./admin-header.php'); 
    74 ?> 
     73include( './admin-header.php' ); 
    7574 
    76 <div class="wrap"> 
    77 <?php screen_icon(); ?> 
    78 <h2><?php echo esc_html( $title ); ?></h2> 
     75add_settings_field( 'blogname', _( 'Site Title' ), 'options_general_blogname', 'general' ); 
     76function options_general_blogname() { 
     77        ?> 
     78        <input name="blogname" type="text" id="blogname" value="<?php form_option( 'blogname' ); ?>" class="regular-text" /> 
     79        <?php 
     80} 
    7981 
    80 <form method="post" action="options.php"> 
    81 <?php settings_fields('general'); ?> 
     82add_settings_field( 'blogdescription', _( 'Tagline' ), 'options_general_blogdescription', 'general' ); 
     83function options_general_blogdescription() { 
     84        ?> 
     85        <input name="blogdescription" type="text" id="blogdescription"  value="<?php form_option( 'blogdescription' ); ?>" class="regular-text" /> 
     86        <span class="description"><?php _e( 'In a few words, explain what this site is about.' ) ?></span> 
     87        <?php 
     88} 
    8289 
    83 <table class="form-table"> 
    84 <tr valign="top"> 
    85 <th scope="row"><label for="blogname"><?php _e('Site Title') ?></label></th> 
    86 <td><input name="blogname" type="text" id="blogname" value="<?php form_option('blogname'); ?>" class="regular-text" /></td> 
    87 </tr> 
    88 <tr valign="top"> 
    89 <th scope="row"><label for="blogdescription"><?php _e('Tagline') ?></label></th> 
    90 <td><input name="blogdescription" type="text" id="blogdescription"  value="<?php form_option('blogdescription'); ?>" class="regular-text" /> 
    91 <span class="description"><?php _e('In a few words, explain what this site is about.') ?></span></td> 
    92 </tr> 
    93 <?php if ( !is_multisite() ) { ?> 
    94 <tr valign="top"> 
    95 <th scope="row"><label for="siteurl"><?php _e('WordPress address (URL)') ?></label></th> 
    96 <td><input name="siteurl" type="text" id="siteurl" value="<?php form_option('siteurl'); ?>"<?php disabled( defined( 'WP_SITEURL' ) ); ?> class="regular-text code<?php if ( defined( 'WP_SITEURL' ) ) echo ' disabled' ?>" /></td> 
    97 </tr> 
    98 <tr valign="top"> 
    99 <th scope="row"><label for="home"><?php _e('Site address (URL)') ?></label></th> 
    100 <td><input name="home" type="text" id="home" value="<?php form_option('home'); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" /> 
    101 <span class="description"><?php _e('Enter the address here if you want your site homepage <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">to be different from the directory</a> you installed WordPress.'); ?></span></td> 
    102 </tr> 
    103 <tr valign="top"> 
    104 <th scope="row"><label for="admin_email"><?php _e('E-mail address') ?> </label></th> 
    105 <td><input name="admin_email" type="text" id="admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text" /> 
    106 <span class="description"><?php _e('This address is used for admin purposes, like new user notification.') ?></span></td> 
    107 </tr> 
    108 <tr valign="top"> 
    109 <th scope="row"><?php _e('Membership') ?></th> 
    110 <td> <fieldset><legend class="screen-reader-text"><span><?php _e('Membership') ?></span></legend><label for="users_can_register"> 
    111 <input name="users_can_register" type="checkbox" id="users_can_register" value="1" <?php checked('1', get_option('users_can_register')); ?> /> 
    112 <?php _e('Anyone can register') ?></label> 
    113 </fieldset></td> 
    114 </tr> 
    115 <tr valign="top"> 
    116 <th scope="row"><label for="default_role"><?php _e('New User Default Role') ?></label></th> 
    117 <td> 
    118 <select name="default_role" id="default_role"><?php wp_dropdown_roles( get_option('default_role') ); ?></select> 
    119 </td> 
    120 </tr> 
    121 <?php } else { ?> 
    122 <tr valign="top"> 
    123 <th scope="row"><label for="new_admin_email"><?php _e('E-mail address') ?> </label></th> 
    124 <td><input name="new_admin_email" type="text" id="new_admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text code" /> 
    125 <span class="description"><?php _e('This address is used for admin purposes. If you change this we will send you an e-mail at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>') ?></span> 
    126 <?php 
    127 $new_admin_email = get_option( 'new_admin_email' ); 
    128 if ( $new_admin_email && $new_admin_email != get_option('admin_email') ) : ?> 
    129 <div class="updated inline"> 
    130 <p><?php printf( __('There is a pending change of the admin e-mail to <code>%1$s</code>. <a href="%2$s">Cancel</a>'), $new_admin_email, esc_url( admin_url( 'options.php?dismiss=new_admin_email' ) ) ); ?></p> 
    131 </div> 
    132 <?php endif; ?> 
    133 </td> 
    134 </tr> 
    135 <?php } ?> 
    136 <tr> 
    137 <?php 
    138 if ( !wp_timezone_supported() ) : // no magic timezone support here 
    139 ?> 
    140 <th scope="row"><label for="gmt_offset"><?php _e('Timezone') ?> </label></th> 
    141 <td> 
    142 <select name="gmt_offset" id="gmt_offset"> 
    143 <?php 
    144 $current_offset = get_option('gmt_offset'); 
    145 $offset_range = array (-12, -11.5, -11, -10.5, -10, -9.5, -9, -8.5, -8, -7.5, -7, -6.5, -6, -5.5, -5, -4.5, -4, -3.5, -3, -2.5, -2, -1.5, -1, -0.5, 
    146         0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 5.75, 6, 6.5, 7, 7.5, 8, 8.5, 8.75, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.75, 13, 13.75, 14); 
    147 foreach ( $offset_range as $offset ) { 
    148         if ( 0 < $offset ) 
    149                 $offset_name = '+' . $offset; 
    150         elseif ( 0 == $offset ) 
    151                 $offset_name = ''; 
    152         else 
    153                 $offset_name = (string) $offset; 
    154  
    155         $offset_name = str_replace(array('.25','.5','.75'), array(':15',':30',':45'), $offset_name); 
    156  
    157         $selected = ''; 
    158         if ( $current_offset == $offset ) { 
    159                 $selected = " selected='selected'"; 
    160                 $current_offset_name = $offset_name; 
     90if ( !is_multisite() ) { 
     91        add_settings_field( 'siteurl', _( 'WordPress address (URL)' ), 'options_general_siteurl', 'general' ); 
     92        function options_general_siteurl() { 
     93                ?> 
     94                <input name="siteurl" type="text" id="siteurl" value="<?php form_option( 'siteurl' ); ?>"<?php disabled( defined( 'WP_SITEURL' ) ); ?> class="regular-text code<?php if ( defined( 'WP_SITEURL' ) ) echo ' disabled' ?>" /> 
     95                <?php 
    16196        } 
    162         echo "<option value=\"" . esc_attr($offset) . "\"$selected>" . sprintf(__('UTC %s'), $offset_name) . '</option>'; 
     97         
     98        add_settings_field( 'home', _( 'Site address (URL)' ), 'options_general_home', 'general' ); 
     99        function options_general_home() { 
     100                ?> 
     101                <input name="home" type="text" id="home" value="<?php form_option( 'home' ); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" /> 
     102                <span class="description"><?php _e( 'Enter the address here if you want your site homepage <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">to be different from the directory</a> you installed WordPress.' ); ?></span> 
     103                <?php 
     104        } 
     105         
     106        add_settings_field( 'admin_email', _( 'E-mail address' ), 'options_general_admin_email', 'general' ); 
     107        function options_general_admin_email() { 
     108                ?> 
     109                <input name="admin_email" type="text" id="admin_email" value="<?php form_option( 'admin_email' ); ?>" class="regular-text" /> 
     110                <span class="description"><?php _e( 'This address is used for admin purposes, like new user notification.' ); ?></span> 
     111                <?php 
     112        } 
     113         
     114        add_settings_field( 'users_can_register', _( 'Membership' ), 'options_general_users_can_register', 'general' ); 
     115        function options_general_users_can_register() { 
     116                ?> 
     117                <fieldset> 
     118                        <legend class="screen-reader-text"><span><?php _e( 'Membership' ); ?></span></legend> 
     119                        <label for="users_can_register"> 
     120                                <input name="users_can_register" type="checkbox" id="users_can_register" value="1" <?php checked( '1', get_option( 'users_can_register' ) ); ?> /> 
     121                                <?php _e( 'Anyone can register' ); ?> 
     122                        </label> 
     123                </fieldset> 
     124                <?php 
     125        } 
     126         
     127        add_settings_field( 'default_role', _( 'New User Default Role' ), 'options_general_default_role', 'general' ); 
     128        function options_general_default_role() { 
     129                ?> 
     130                <select name="default_role" id="default_role"><?php wp_dropdown_roles( get_option( 'default_role' ) ); ?></select> 
     131                <?php 
     132        } 
     133} else { 
     134        add_settings_field( 'new_admin_email', _( 'E-mail address' ), 'options_general_new_admin_email', 'general' ); 
     135        function options_general_new_admin_email() { 
     136                ?> 
     137                <input name="new_admin_email" type="text" id="new_admin_email" value="<?php form_option( 'admin_email' ); ?>" class="regular-text code" /> 
     138                <span class="description"><?php _e( 'This address is used for admin purposes. If you change this we will send you an e-mail at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>' ); ?></span> 
     139                <?php 
     140                $new_admin_email = get_option( 'new_admin_email' ); 
     141                if ( $new_admin_email && $new_admin_email != get_option('admin_email') ) : ?> 
     142                <div class="updated inline"> 
     143                        <p><?php printf( __( 'There is a pending change of the admin e-mail to <code>%1$s</code>. <a href="%2$s">Cancel</a>' ), $new_admin_email, esc_url( admin_url( 'options.php?dismiss=new_admin_email' ) ) ); ?></p> 
     144                </div> 
     145                <?php 
     146                endif; 
     147        } 
    163148} 
    164 ?> 
    165 </select> 
    166 <?php _e('hours'); ?> 
    167 <span id="utc-time"><?php printf(__('<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>'), date_i18n( $time_format, false, 'gmt')); ?></span> 
    168 <?php if ($current_offset) : ?> 
    169         <span id="local-time"><?php printf(__('UTC %1$s is <code>%2$s</code>'), $current_offset_name, date_i18n($time_format)); ?></span> 
    170 <?php endif; ?> 
    171 <br /> 
    172 <span class="description"><?php _e('Unfortunately, you have to manually update this for daylight saving time. The PHP Date/Time library is not supported by your web host.'); ?></span> 
    173 </td> 
    174 <?php 
    175 else: // looks like we can do nice timezone selection! 
    176 $current_offset = get_option('gmt_offset'); 
    177 $tzstring = get_option('timezone_string'); 
    178149 
    179 $check_zone_info = true; 
     150if ( ! wp_timezone_supported() ) : // no magic timezone support here 
     151        add_settings_field( 'gmt_offset', _( 'Timezone' ), 'options_general_gmt_offset', 'general' ); 
     152        function options_general_gmt_offset() { 
     153                ?> 
     154                <select name="gmt_offset" id="gmt_offset"> 
     155                <?php 
     156                $current_offset = get_option( 'gmt_offset' ); 
     157                $offset_range = array ( -12, -11.5, -11, -10.5, -10, -9.5, -9, -8.5, -8, -7.5, -7, -6.5, -6, -5.5, -5, -4.5, -4, -3.5, -3, -2.5, -2, -1.5, -1, -0.5, 
     158                        0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 5.75, 6, 6.5, 7, 7.5, 8, 8.5, 8.75, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.75, 13, 13.75, 14 ); 
     159                foreach ( $offset_range as $offset ) { 
     160                        if ( 0 < $offset ) 
     161                                $offset_name = '+' . $offset; 
     162                        elseif ( 0 == $offset ) 
     163                                $offset_name = ''; 
     164                        else 
     165                                $offset_name = (string) $offset; 
    180166 
    181 // Remove old Etc mappings.  Fallback to gmt_offset. 
    182 if ( false !== strpos($tzstring,'Etc/GMT') ) 
    183         $tzstring = ''; 
     167                        $offset_name = str_replace( array( '.25', '.5', '.75' ), array( ':15',':30',':45' ), $offset_name ); 
    184168 
    185 if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists 
    186         $check_zone_info = false; 
    187         if ( 0 == $current_offset ) 
    188                 $tzstring = 'UTC+0'; 
    189         elseif ($current_offset < 0) 
    190                 $tzstring = 'UTC' . $current_offset; 
    191         else 
    192                 $tzstring = 'UTC+' . $current_offset; 
    193 } 
     169                        $selected = ''; 
     170                        if ( $current_offset == $offset ) { 
     171                                $selected = " selected='selected'"; 
     172                                $current_offset_name = $offset_name; 
     173                        } 
     174                        echo "<option value=\"" . esc_attr( $offset ) . "\"$selected>" . sprintf( __( 'UTC %s' ), $offset_name ) . '</option>'; 
     175                } 
     176                ?> 
     177                </select> 
     178                <?php _e( 'hours' ); ?> 
     179                <span id="utc-time"><?php printf( __( '<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>' ), date_i18n( $time_format, false, 'gmt' ) ); ?></span> 
     180                <?php if ( $current_offset ) : ?> 
     181                        <span id="local-time"><?php printf( __( 'UTC %1$s is <code>%2$s</code>' ), $current_offset_name, date_i18n( $time_format ) ); ?></span> 
     182                <?php endif; ?> 
     183                <br /> 
     184                <span class="description"><?php _e( 'Unfortunately, you have to manually update this for daylight saving time. The PHP Date/Time library is not supported by your web host.' ); ?></span> 
     185                <?php 
     186        } 
     187else: 
     188        add_settings_field( 'timezone_string', _( 'Timezone' ), 'options_general_timezone_string', 'general' ); 
     189        function options_general_timezone_string() { 
     190                global $timezone_format; 
     191                 
     192                $current_offset = get_option( 'gmt_offset' ); 
     193                $tzstring = get_option( 'timezone_string' ); 
    194194 
    195 ?> 
    196 <th scope="row"><label for="timezone_string"><?php _e('Timezone') ?></label></th> 
    197 <td> 
     195                $check_zone_info = true; 
    198196 
    199 <select id="timezone_string" name="timezone_string"> 
    200 <?php echo wp_timezone_choice($tzstring); ?> 
    201 </select> 
     197                // Remove old Etc mappings.  Fallback to gmt_offset. 
     198                if ( false !== strpos( $tzstring,'Etc/GMT' ) ) 
     199                        $tzstring = ''; 
    202200 
    203     <span id="utc-time"><?php printf(__('<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>'), date_i18n($timezone_format, false, 'gmt')); ?></span> 
    204 <?php if ( get_option('timezone_string') || !empty($current_offset) ) : ?> 
    205         <span id="local-time"><?php printf(__('Local time is <code>%1$s</code>'), date_i18n($timezone_format)); ?></span> 
    206 <?php endif; ?> 
    207 <br /> 
    208 <span class="description"><?php _e('Choose a city in the same timezone as you.'); ?></span> 
    209 <?php if ($check_zone_info && $tzstring) : ?> 
    210 <br /> 
    211 <span> 
    212         <?php 
    213         // Set TZ so localtime works. 
    214         date_default_timezone_set($tzstring); 
    215         $now = localtime(time(), true); 
    216         if ( $now['tm_isdst'] ) 
    217                 _e('This timezone is currently in daylight saving time.'); 
    218         else 
    219                 _e('This timezone is currently in standard time.'); 
    220         ?> 
    221         <br /> 
    222         <?php 
    223         if ( function_exists('timezone_transitions_get') ) { 
    224                 $found = false; 
    225                 $date_time_zone_selected = new DateTimeZone($tzstring); 
    226                 $tz_offset = timezone_offset_get($date_time_zone_selected, date_create()); 
    227                 $right_now = time(); 
    228                 foreach ( timezone_transitions_get($date_time_zone_selected) as $tr) { 
    229                         if ( $tr['ts'] > $right_now ) { 
    230                             $found = true; 
    231                                 break; 
    232                         } 
     201                if ( empty( $tzstring ) ) { // Create a UTC+- zone if no timezone string exists 
     202                        $check_zone_info = false; 
     203                        if ( 0 == $current_offset ) 
     204                                $tzstring = 'UTC+0'; 
     205                        elseif ( $current_offset < 0 ) 
     206                                $tzstring = 'UTC' . $current_offset; 
     207                        else 
     208                                $tzstring = 'UTC+' . $current_offset; 
    233209                } 
     210                ?> 
     211                <select id="timezone_string" name="timezone_string"> 
     212                <?php echo wp_timezone_choice( $tzstring ); ?> 
     213                </select> 
     214                <span id="utc-time"><?php printf( __( '<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>' ), date_i18n( $timezone_format, false, 'gmt' ) ); ?></span> 
     215                <?php if ( get_option( 'timezone_string' ) || ! empty( $current_offset ) ) : ?> 
     216                        <span id="local-time"><?php printf( __( 'Local time is <code>%1$s</code>' ), date_i18n( $timezone_format ) ); ?></span> 
     217                <?php endif; ?> 
     218                <br /> 
     219                <span class="description"><?php _e( 'Choose a city in the same timezone as you.' ); ?></span> 
     220                <?php if ( $check_zone_info && $tzstring ) : ?> 
     221                <br /> 
     222                <span> 
     223                        <?php 
     224                        // Set TZ so localtime works. 
     225                        date_default_timezone_set($tzstring); 
     226                        $now = localtime(time(), true); 
     227                        if ( $now['tm_isdst'] ) 
     228                                _e( 'This timezone is currently in daylight saving time.' ); 
     229                        else 
     230                                _e( 'This timezone is currently in standard time.' ); 
     231                        ?> 
     232                        <br /> 
     233                        <?php 
     234                        if ( function_exists( 'timezone_transitions_get' ) ) { 
     235                                $found = false; 
     236                                $date_time_zone_selected = new DateTimeZone($tzstring); 
     237                                $tz_offset = timezone_offset_get( $date_time_zone_selected, date_create() ); 
     238                                $right_now = time(); 
     239                                foreach ( timezone_transitions_get( $date_time_zone_selected ) as $tr ) { 
     240                                        if ( $tr['ts'] > $right_now ) { 
     241                                            $found = true; 
     242                                                break; 
     243                                        } 
     244                                } 
    234245 
    235                 if ( $found ) { 
    236                         echo ' '; 
    237                         $message = $tr['isdst'] ? 
    238                                 __('Daylight saving time begins on: <code>%s</code>.') : 
    239                                 __('Standard time begins  on: <code>%s</code>.'); 
    240                         // Add the difference between the current offset and the new offset to ts to get the correct transition time from date_i18n(). 
    241                         printf( $message, date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $tr['ts'] + ($tz_offset - $tr['offset']) ) ); 
    242                 } else { 
    243                         _e('This timezone does not observe daylight saving time.'); 
    244                 } 
     246                                if ( $found ) { 
     247                                        echo ' '; 
     248                                        $message = $tr['isdst'] ? 
     249                                                __( 'Daylight saving time begins on: <code>%s</code>.' ) : 
     250                                                __( 'Standard time begins  on: <code>%s</code>.' ); 
     251                                        // Add the difference between the current offset and the new offset to ts to get the correct transition time from date_i18n(). 
     252                                        printf( $message, date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $tr['ts'] + ( $tz_offset - $tr['offset'] ) ) ); 
     253                                } else { 
     254                                        _e( 'This timezone does not observe daylight saving time.' ); 
     255                                } 
     256                        } 
     257                        // Set back to UTC. 
     258                        date_default_timezone_set( 'UTC' ); 
     259                        ?> 
     260                </span> 
     261                <?php 
     262                endif; 
    245263        } 
    246         // Set back to UTC. 
    247         date_default_timezone_set('UTC'); 
     264endif; 
     265 
     266add_settings_field( 'date_format', _( 'Date Format' ), 'options_general_date_format', 'general' ); 
     267function options_general_date_format() { 
    248268        ?> 
    249         </span> 
    250 <?php endif; ?> 
    251 </td> 
    252  
    253 <?php endif; ?> 
    254 </tr> 
    255 <tr> 
    256 <th scope="row"><?php _e('Date Format') ?></th> 
    257 <td> 
    258269        <fieldset><legend class="screen-reader-text"><span><?php _e('Date Format') ?></span></legend> 
    259 <?php 
    260  
     270        <?php 
    261271        $date_formats = apply_filters( 'date_formats', array( 
    262                 __('F j, Y'), 
     272                __( 'F j, Y' ), 
    263273                'Y/m/d', 
    264274                'm/d/Y', 
    265275                'd/m/Y', 
     
    268278        $custom = true; 
    269279 
    270280        foreach ( $date_formats as $format ) { 
    271                 echo "\t<label title='" . esc_attr($format) . "'><input type='radio' name='date_format' value='" . esc_attr($format) . "'"; 
    272                 if ( get_option('date_format') === $format ) { // checked() uses "==" rather than "===" 
     281                echo "\t<label title='" . esc_attr( $format ) . "'><input type='radio' name='date_format' value='" . esc_attr($format) . "'"; 
     282                if ( get_option( 'date_format' ) === $format ) { // checked() uses "==" rather than "===" 
    273283                        echo " checked='checked'"; 
    274284                        $custom = false; 
    275285                } 
     
    278288 
    279289        echo '  <label><input type="radio" name="date_format" id="date_format_custom_radio" value="\c\u\s\t\o\m"'; 
    280290        checked( $custom ); 
    281         echo '/> ' . __('Custom:') . ' </label><input type="text" name="date_format_custom" value="' . esc_attr( get_option('date_format') ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('date_format') ) . "</span> <img class='ajax-loading' src='" . esc_url( admin_url( 'images/wpspin_light.gif' ) ) . "' />\n"; 
     291        echo '/> ' . __( 'Custom:' ) . ' </label><input type="text" name="date_format_custom" value="' . esc_attr( get_option( 'date_format' ) ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('date_format') ) . "</span> <img class='ajax-loading' src='" . esc_url( admin_url( 'images/wpspin_light.gif' ) ) . "' />\n"; 
    282292 
    283         echo "\t<p>" . __('<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.') . "</p>\n"; 
    284 ?> 
     293        echo "\t<p>" . __( '<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.' ) . "</p>\n"; 
     294        ?> 
    285295        </fieldset> 
    286 </td> 
    287 </tr> 
    288 <tr> 
    289 <th scope="row"><?php _e('Time Format') ?></th> 
    290 <td> 
     296        <?php 
     297} 
     298 
     299add_settings_field( 'time_format', _( 'Time Format' ), 'options_general_time_format', 'general' ); 
     300function options_general_time_format() { 
     301        ?> 
    291302        <fieldset><legend class="screen-reader-text"><span><?php _e('Time Format') ?></span></legend> 
    292 <?php 
    293  
     303        <?php 
    294304        $time_formats = apply_filters( 'time_formats', array( 
    295                 __('g:i a'), 
     305                __( 'g:i a' ), 
    296306                'g:i A', 
    297307                'H:i', 
    298308        ) ); 
     
    301311 
    302312        foreach ( $time_formats as $format ) { 
    303313                echo "\t<label title='" . esc_attr($format) . "'><input type='radio' name='time_format' value='" . esc_attr($format) . "'"; 
    304                 if ( get_option('time_format') === $format ) { // checked() uses "==" rather than "===" 
     314                if ( get_option( 'time_format' ) === $format ) { // checked() uses "==" rather than "===" 
    305315                        echo " checked='checked'"; 
    306316                        $custom = false; 
    307317                } 
     
    311321        echo '  <label><input type="radio" name="time_format" id="time_format_custom_radio" value="\c\u\s\t\o\m"'; 
    312322        checked( $custom ); 
    313323        echo '/> ' . __('Custom:') . ' </label><input type="text" name="time_format_custom" value="' . esc_attr( get_option('time_format') ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('time_format') ) . "</span> <img class='ajax-loading' src='" . esc_url( admin_url( 'images/wpspin_light.gif' ) ) . "' />\n"; 
    314         ; 
    315 ?> 
     324        ?> 
    316325        </fieldset> 
    317 </td> 
    318 </tr> 
    319 <tr> 
    320 <th scope="row"><label for="start_of_week"><?php _e('Week Starts On') ?></label></th> 
    321 <td><select name="start_of_week" id="start_of_week"> 
    322 <?php 
    323 for ($day_index = 0; $day_index <= 6; $day_index++) : 
    324         $selected = (get_option('start_of_week') == $day_index) ? 'selected="selected"' : ''; 
    325         echo "\n\t<option value='" . esc_attr($day_index) . "' $selected>" . $wp_locale->get_weekday($day_index) . '</option>'; 
    326 endfor; 
     326        <?php 
     327} 
     328 
     329add_settings_field( 'start_of_week', _( 'Start of Week' ), 'options_general_start_of_week', 'general' ); 
     330function options_general_start_of_week() { 
     331        global $wp_locale; 
     332        ?> 
     333        <select name="start_of_week" id="start_of_week"> 
     334        <?php 
     335        for ($day_index = 0; $day_index <= 6; $day_index++) : 
     336                $selected = (get_option('start_of_week') == $day_index) ? 'selected="selected"' : ''; 
     337                echo "\n\t<option value='" . esc_attr($day_index) . "' $selected>" . $wp_locale->get_weekday($day_index) . '</option>'; 
     338        endfor; 
     339        ?> 
     340        </select> 
     341        <?php 
     342} 
    327343?> 
    328 </select></td> 
    329 </tr> 
    330 <?php do_settings_fields('general', 'default'); ?> 
    331 <?php 
    332         $languages = get_available_languages(); 
    333         if ( is_multisite() && !empty( $languages ) ): 
    334 ?> 
    335         <tr valign="top"> 
    336                 <th width="33%" scope="row"><?php _e('Site language:') ?></th> 
    337                 <td> 
    338                         <select name="WPLANG" id="WPLANG"> 
    339                                 <?php mu_dropdown_languages( $languages, get_option('WPLANG') ); ?> 
    340                         </select> 
    341                 </td> 
    342         </tr> 
    343 <?php 
    344         endif; 
    345 ?> 
    346 </table> 
    347344 
    348 <?php do_settings_sections('general'); ?> 
    349  
    350 <?php submit_button(); ?> 
    351 </form> 
    352  
     345<div class="wrap"> 
     346        <?php screen_icon(); ?> 
     347        <h2><?php echo esc_html( $title ); ?></h2> 
     348        <form method="post" action="options.php"> 
     349                <?php settings_fields( 'general' ); ?> 
     350                <table class="form-table"> 
     351                        <?php do_settings_fields( 'general', 'default' ); ?> 
     352                        <?php 
     353                        $languages = get_available_languages(); 
     354                        if ( is_multisite() && ! empty( $languages ) ): 
     355                        ?> 
     356                        <tr valign="top"> 
     357                                <th width="33%" scope="row"><?php _e( 'Site language:' ) ?></th> 
     358                                <td> 
     359                                        <select name="WPLANG" id="WPLANG"> 
     360                                                <?php mu_dropdown_languages( $languages, get_option('WPLANG') ); ?> 
     361                                        </select> 
     362                                </td> 
     363                        </tr> 
     364                        <?php 
     365                        endif; 
     366                        ?> 
     367                </table> 
     368                <?php do_settings_sections( 'general' ); ?> 
     369                <?php submit_button(); ?> 
     370        </form> 
    353371</div> 
    354372 
    355 <?php include('./admin-footer.php') ?> 
     373<?php include( './admin-footer.php' ) ?> 
     374 No newline at end of file