Make WordPress Core


Ignore:
Timestamp:
12/23/2009 02:16:36 PM (14 years ago)
Author:
ryan
Message:

Do not use deprecated Etc timezones. Props miqrogroove. fixes #11558 for trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/functions.php

    r12486 r12507  
    33943394    static $mo_loaded = false;
    33953395
    3396     $continents = array( 'Africa', 'America', 'Antarctica', 'Arctic', 'Asia', 'Atlantic', 'Australia', 'Europe', 'Indian', 'Pacific', 'Etc' );
     3396    $continents = array( 'Africa', 'America', 'Antarctica', 'Arctic', 'Asia', 'Atlantic', 'Australia', 'Europe', 'Indian', 'Pacific');
    33973397
    33983398    // Load translations for continents and cities
     
    34083408        $zone = explode( '/', $zone );
    34093409        if ( !in_array( $zone[0], $continents ) ) {
    3410             continue;
    3411         }
    3412         if ( 'Etc' === $zone[0] && in_array( $zone[1], array( 'UCT', 'GMT', 'GMT0', 'GMT+0', 'GMT-0', 'Greenwich', 'Universal', 'Zulu' ) ) ) {
    34133410            continue;
    34143411        }
     
    34533450            // Continent optgroup
    34543451            if ( !isset( $zonen[$key - 1] ) || $zonen[$key - 1]['continent'] !== $zone['continent'] ) {
    3455                 $label = ( 'Etc' === $zone['continent'] ) ? __( 'Manual offsets' ) : $zone['t_continent'];
     3452                $label = $zone['t_continent'];
    34563453                $structure[] = '<optgroup label="'. esc_attr( $label ) .'">';
    34573454            }
     
    34593456            // Add the city to the value
    34603457            $value[] = $zone['city'];
    3461             if ( 'Etc' === $zone['continent'] ) {
    3462                 if ( 'UTC' === $zone['city'] ) {
    3463                     $display = '';
    3464                 } else {
    3465                     $display = str_replace( 'GMT', '', $zone['city'] );
    3466                     $display = strtr( $display, '+-', '-+' ) . ':00';
    3467                 }
    3468                 $display = sprintf( __( 'UTC %s' ), $display );
    3469             } else {
    3470                 $display = $zone['t_city'];
    3471                 if ( !empty( $zone['subcity'] ) ) {
    3472                     // Add the subcity to the value
    3473                     $value[] = $zone['subcity'];
    3474                     $display .= ' - ' . $zone['t_subcity'];
    3475                 }
     3458
     3459            $display = $zone['t_city'];
     3460            if ( !empty( $zone['subcity'] ) ) {
     3461                // Add the subcity to the value
     3462                $value[] = $zone['subcity'];
     3463                $display .= ' - ' . $zone['t_subcity'];
    34763464            }
    34773465        }
     
    34913479    }
    34923480
     3481    // Do UTC
     3482    $structure[] = '<optgroup label="'. esc_attr__( 'UTC' ) .'">';
     3483    $selected = '';
     3484    if ( 'UTC' === $selected_zone )
     3485        $selected = 'selected="selected" ';
     3486    $structure[] = '<option ' . $selected . 'value="' . esc_attr( 'UTC' ) . '">' . __('UTC') . '</option>';
     3487    $structure[] = '</optgroup>';
     3488
     3489    // Do manual UTC offsets
     3490    $structure[] = '<optgroup label="'. esc_attr__( 'Manual Offsets' ) .'">';
     3491    $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,
     3492        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);
     3493    foreach ( $offset_range as $offset ) {
     3494        if ( 0 <= $offset )
     3495            $offset_name = '+' . $offset;
     3496        else
     3497            $offset_name = (string) $offset;
     3498
     3499        $offset_value = $offset_name;
     3500        $offset_name = str_replace(array('.25','.5','.75'), array(':15',':30',':45'), $offset_name);
     3501        $offset_name = 'UTC' . $offset_name;
     3502        $offset_value = 'UTC' . $offset_value;
     3503        $selected = '';
     3504        if ( $offset_value === $selected_zone )
     3505            $selected = 'selected="selected" ';
     3506        $structure[] = '<option ' . $selected . 'value="' . esc_attr( $offset_value ) . '">' . esc_html( $offset_name ) . "</option>";
     3507       
     3508    }
     3509    $structure[] = '</optgroup>';
     3510
    34933511    return join( "\n", $structure );
    34943512}
Note: See TracChangeset for help on using the changeset viewer.