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' );
}