From b975a251ffed219f322359dfc2ca80750d98860b Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Fri, 23 Aug 2019 02:14:07 +0000 Subject: [PATCH] Date/Time: Simplify the date comparing logic in `WP_Community_Events::trim_events()`. The Events API returns event date without timezone information, so trying to parse it into a timestamp and compare to a WP timestamp is pointless. Props Rarst. Fixes #47463. git-svn-id: https://develop.svn.wordpress.org/trunk@45886 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/class-wp-community-events.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/wp-admin/includes/class-wp-community-events.php b/src/wp-admin/includes/class-wp-community-events.php index 2237ab34e407..ac77cb748234 100644 --- a/src/wp-admin/includes/class-wp-community-events.php +++ b/src/wp-admin/includes/class-wp-community-events.php @@ -402,8 +402,8 @@ protected function format_event_data_time( $response_body ) { */ protected function trim_events( $response_body ) { if ( isset( $response_body['events'] ) ) { - $wordcamps = array(); - $current_timestamp = current_time( 'timestamp' ); + $wordcamps = array(); + $today = current_time( 'Y-m-d' ); foreach ( $response_body['events'] as $key => $event ) { /* @@ -415,9 +415,10 @@ protected function trim_events( $response_body ) { continue; } - $event_timestamp = strtotime( $event['date'] ); + // We don't get accurate time with timezone from API, so we only take the date part (Y-m-d). + $event_date = substr( $event['date'], 0, 10 ); - if ( $current_timestamp > $event_timestamp && ( $current_timestamp - $event_timestamp ) > DAY_IN_SECONDS ) { + if ( $today > $event_date ) { unset( $response_body['events'][ $key ] ); } }