WordPress.org

Make WordPress Core

Ticket #40653: 40653.3.diff

File 40653.3.diff, 1.7 KB (added by jdgrimes, 2 years ago)

Add missing breaks in switch

  • src/wp-includes/functions.php

     
    5959 * @return int|string Integer if $type is 'timestamp', string otherwise.
    6060 */
    6161function current_time( $type, $gmt = 0 ) {
     62        // Special handling for legacy offset timestamps.
     63        if ( 'timestamp' === $type && ! $gmt ) {
     64                return time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
     65        }
     66
    6267        switch ( $type ) {
    6368                case 'mysql':
    64                         return ( $gmt ) ? gmdate( 'Y-m-d H:i:s' ) : gmdate( 'Y-m-d H:i:s', ( time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) ) );
     69                        $format ='Y-m-d H:i:s';
     70                break;
    6571                case 'timestamp':
    66                         return ( $gmt ) ? time() : time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
     72                        $format = 'U';
     73                break;
    6774                default:
    68                         return ( $gmt ) ? date( $type ) : date( $type, time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) );
     75                        $format = $type;
    6976        }
     77
     78        if ( $gmt ) {
     79                $timezone_string = 'UTC';
     80        } else {
     81                $timezone_string = get_option( 'timezone_string' );
     82
     83                // A direct offset may be used instead of a timezone identifier.
     84                if ( empty( $timezone_string ) ) {
     85                        $offset = get_option( 'gmt_offset' );
     86
     87                        if ( empty( $offset ) ) {
     88                                $timezone_string = 'UTC';
     89                        }
     90                }
     91        }
     92
     93        // There is no way to handle offsets using DateTimeZone in PHP <= 5.4.
     94        if ( $timezone_string ) {
     95                $timezone = timezone_open( $timezone_string );
     96                $datetime = date_create( 'now', $timezone );
     97                $date     = $datetime->format( $format );
     98        } else {
     99                $date = date( $format, time() - $offset * HOUR_IN_SECONDS );
     100        }
     101
     102        if ( 'U' === $format ) {
     103                $date = (int) $date;
     104        }
     105
     106        return $date;
    70107}
    71108
    72109/**