From 5b3880ba1b9a0f279e81af1d242b23e31de27e67 Mon Sep 17 00:00:00 2001 From: Brian Miyaji Date: Fri, 9 Sep 2016 23:45:43 +1000 Subject: [PATCH] Replace event time with status when not on time --- .../post-types/class-sp-admin-cpt-event.php | 2 +- .../class-sp-meta-box-calendar-data.php | 4 +-- modules/sportspress-event-status.php | 34 ++++++++++++++----- templates/event-calendar.php | 2 +- templates/event-details.php | 2 +- templates/event-list.php | 12 +++---- templates/event-logos-block.php | 2 +- templates/event-logos-inline.php | 2 +- 8 files changed, 39 insertions(+), 21 deletions(-) diff --git a/includes/admin/post-types/class-sp-admin-cpt-event.php b/includes/admin/post-types/class-sp-admin-cpt-event.php index 6d09acaa..7488f22e 100644 --- a/includes/admin/post-types/class-sp-admin-cpt-event.php +++ b/includes/admin/post-types/class-sp-admin-cpt-event.php @@ -144,7 +144,7 @@ class SP_Admin_CPT_Event extends SP_Admin_CPT { endif; break; case 'sp_time': - echo get_post_time( 'H:i', false, $post_id, true ); + echo apply_filters( 'sportspress_event_time_admin', get_post_time( 'H:i', false, $post_id, true ) ); break; case 'sp_team': $teams = (array)get_post_meta( $post_id, 'sp_team', false ); diff --git a/includes/admin/post-types/meta-boxes/class-sp-meta-box-calendar-data.php b/includes/admin/post-types/meta-boxes/class-sp-meta-box-calendar-data.php index e00cf580..8125baaa 100644 --- a/includes/admin/post-types/meta-boxes/class-sp-meta-box-calendar-data.php +++ b/includes/admin/post-types/meta-boxes/class-sp-meta-box-calendar-data.php @@ -163,7 +163,7 @@ class SP_Meta_Box_Calendar_Data { - + ID ); ?> ID ); endif; ?> diff --git a/modules/sportspress-event-status.php b/modules/sportspress-event-status.php index 499eb0f5..1ea692a9 100644 --- a/modules/sportspress-event-status.php +++ b/modules/sportspress-event-status.php @@ -36,6 +36,10 @@ class SportsPress_Event_Status { add_action( 'init', array( $this, 'get_statuses' ) ); add_action( 'post_submitbox_misc_actions', array( $this, 'section' ) ); add_action( 'sportspress_process_sp_event_meta', array( $this, 'save' ), 10, 1 ); + add_filter( 'sportspress_event_time', array( $this, 'filter' ), 10, 2 ); + add_filter( 'sportspress_event_time_admin', array( $this, 'filter' ), 10, 2 ); + add_filter( 'sportspress_main_results_or_time', array( $this, 'filter_array' ), 10, 2 ); + add_filter( 'sportspress_event_blocks_team_result_or_time', array( $this, 'filter_array' ), 10, 2 ); } /** @@ -58,9 +62,9 @@ class SportsPress_Event_Status { public function get_statuses() { $this->statuses = apply_filters( 'sportspress_event_statuses', array( 'ok' => __( 'On time', 'sportspress' ), - 'tbd' => __( 'To be determined', 'sportspress' ) . ' (' . __( 'TBD', 'sportspress' ) . ')', - 'cancelled' => __( 'Cancelled', 'sportspress' ), + 'tbd' => __( 'TBD', 'sportspress' ), 'postponed' => __( 'Postponed', 'sportspress' ), + 'cancelled' => __( 'Cancelled', 'sportspress' ), ) ); } @@ -84,12 +88,6 @@ class SportsPress_Event_Status { Cancel

- - - statuses ) ) return $time; + return $this->statuses[ $status ]; + } + + /** + * Event time array filter. + */ + public function filter_array( $array, $post_id = 0 ) { + if ( ! $post_id ) $post_id = get_the_ID(); + $status = get_post_meta( $post_id, 'sp_status', true ); + if ( ! $status || 'ok' === $status || ! array_key_exists( $status, $this->statuses ) ) return $array; + return array( $this->statuses[ $status ] ); + } } endif; diff --git a/templates/event-calendar.php b/templates/event-calendar.php index a4c41a29..7ff0c84d 100644 --- a/templates/event-calendar.php +++ b/templates/event-calendar.php @@ -191,7 +191,7 @@ if ( $ak_post_titles ) { foreach ( (array) $ak_post_titles as $ak_post_title ) { /** This filter is documented in wp-includes/post-template.php */ - $post_title = esc_attr( apply_filters( 'the_title', $ak_post_title->post_title, $ak_post_title->ID ) . ' @ ' . date_i18n( get_option( 'time_format' ), strtotime( $ak_post_title->post_date ) ) ); + $post_title = esc_attr( apply_filters( 'the_title', $ak_post_title->post_title, $ak_post_title->ID ) . ' @ ' . apply_filters( 'sportspress_event_time', date_i18n( get_option( 'time_format' ), strtotime( $ak_post_title->post_date ) ), $ak_post_title->ID ) ); if ( empty($ak_titles_for_day['day_'.$ak_post_title->dom]) ) $ak_titles_for_day['day_'.$ak_post_title->dom] = ''; diff --git a/templates/event-details.php b/templates/event-details.php index 817986e5..e5c3adc1 100644 --- a/templates/event-details.php +++ b/templates/event-details.php @@ -24,7 +24,7 @@ if ( 'yes' === get_option( 'sportspress_event_show_date', 'yes' ) ) { if ( 'yes' === get_option( 'sportspress_event_show_time', 'yes' ) ) { $time = get_the_time( get_option('time_format'), $id ); - $data[ __( 'Time', 'sportspress' ) ] = $time; + $data[ __( 'Time', 'sportspress' ) ] = apply_filters( 'sportspress_event_time', $time, $id ); } $taxonomies = apply_filters( 'sportspress_event_taxonomies', array( 'sp_league' => null, 'sp_season' => null ) ); diff --git a/templates/event-list.php b/templates/event-list.php index 825dc5cf..817984ca 100644 --- a/templates/event-list.php +++ b/templates/event-list.php @@ -209,7 +209,7 @@ endif; echo ''; - $date_html = '' . get_post_time( 'Y-m-d H:i:s', false, $event ) . '' . get_post_time( get_option( 'date_format' ), false, $event, true ); + $date_html = '' . get_post_time( 'Y-m-d H:i:s', false, $event ) . '' . apply_filters( 'sportspress_event_time', get_post_time( get_option( 'date_format' ), false, $event, true ), $event->ID ); if ( $link_events ) $date_html = '' . $date_html . ''; @@ -227,7 +227,7 @@ endif; if ( ! empty( $main_results ) ): echo implode( ' - ', $main_results ); else: - echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . sp_get_time( $event ); + echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . apply_filters( 'sportspress_event_time', sp_get_time( $event ), $event->ID ); endif; if ( $link_events ) echo ''; echo ''; @@ -249,7 +249,7 @@ endif; if ( in_array( $time_format, array( 'separate', 'time' ) ) && sp_column_active( $usecolumns, 'time' ) ) { echo ''; if ( $link_events ) echo ''; - echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . sp_get_time( $event ); + echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . apply_filters( 'sportspress_event_time', sp_get_time( $event ), $event->ID ); if ( $link_events ) echo ''; echo ''; } @@ -271,7 +271,7 @@ endif; if ( sp_column_active( $usecolumns, 'time' ) ) { echo ''; if ( $link_events ) echo ''; - echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . sp_get_time( $event ); + echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . apply_filters( 'sportspress_event_time', sp_get_time( $event ), $event->ID ); if ( $link_events ) echo ''; echo ''; } @@ -291,7 +291,7 @@ endif; if ( sp_column_active( $usecolumns, 'time' ) ) { echo ''; if ( $link_events ) echo ''; - echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . sp_get_time( $event ); + echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . apply_filters( 'sportspress_event_time', sp_get_time( $event ), $event->ID ); if ( $link_events ) echo ''; echo ''; } @@ -316,7 +316,7 @@ endif; if ( ! empty( $main_results ) ): echo implode( ' - ', $main_results ); else: - echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . sp_get_time( $event ); + echo ' ' . get_post_time( 'H:i:s', false, $event ) . '' . apply_filters( 'sportspress_event_time', sp_get_time( $event ), $event->ID ); endif; if ( $link_events ) echo ''; echo ''; diff --git a/templates/event-logos-block.php b/templates/event-logos-block.php index de3c4225..878ebf01 100644 --- a/templates/event-logos-block.php +++ b/templates/event-logos-block.php @@ -50,7 +50,7 @@ if ( $show_time ) { ?>
- ' . apply_filters( 'sportspress_event_blocks_team_result_or_time', sp_get_time( $id ), $id ) . ''; ?> + ' . apply_filters( 'sportspress_event_time', sp_get_time( $id ), $id ) . ''; ?>
diff --git a/templates/event-logos-inline.php b/templates/event-logos-inline.php index 2e09eba0..4b155a5b 100644 --- a/templates/event-logos-inline.php +++ b/templates/event-logos-inline.php @@ -53,7 +53,7 @@ if ( ! empty( $team_logos ) ): // Assign delimiter if ( $show_time && sizeof( $teams ) <= 2 ) { - $delimiter = '' . get_the_time( get_option('time_format'), $id ) . ''; + $delimiter = '' . apply_filters( 'sportspress_event_time', get_the_time( get_option('time_format'), $id ), $id ) . ''; } else { $delimiter = get_option( 'sportspress_event_teams_delimiter', 'vs' ); }