diff --git a/includes/admin/post-types/meta-boxes/class-sp-meta-box-event-results.php b/includes/admin/post-types/meta-boxes/class-sp-meta-box-event-results.php index 89de6a56..64e857ec 100644 --- a/includes/admin/post-types/meta-boxes/class-sp-meta-box-event-results.php +++ b/includes/admin/post-types/meta-boxes/class-sp-meta-box-event-results.php @@ -19,9 +19,15 @@ class SP_Meta_Box_Event_Results { * Output the metabox */ public static function output( $post ) { + // Determine if we need checkboxes + if ( 'manual' == get_option( 'sportspress_event_result_columns', 'auto' ) ) + $has_checkboxes = true; + else + $has_checkboxes = false; + $event = new SP_Event( $post ); list( $columns, $usecolumns, $data ) = $event->results( true ); - self::table( $columns, $usecolumns, $data ); + self::table( $columns, $usecolumns, $data, $has_checkboxes ); } /** @@ -116,7 +122,7 @@ class SP_Meta_Box_Event_Results { /** * Admin edit table */ - public static function table( $columns = array(), $usecolumns = array(), $data = array() ) { + public static function table( $columns = array(), $usecolumns = array(), $data = array(), $has_checkboxes = false ) { ?>
| - + |
- |
diff --git a/includes/admin/settings/class-sp-settings-events.php b/includes/admin/settings/class-sp-settings-events.php
index e197770f..c5c32fde 100644
--- a/includes/admin/settings/class-sp-settings-events.php
+++ b/includes/admin/settings/class-sp-settings-events.php
@@ -164,6 +164,35 @@ class SP_Settings_Events extends SP_Settings_Page {
array( 'type' => 'sectionend', 'id' => 'event_options' ),
),
+ array(
+ array( 'title' => __( 'Event Results', 'sportspress' ), 'type' => 'title', 'desc' => '', 'id' => 'result_options' ),
+ ),
+
+ apply_filters( 'sportspress_result_options', array(
+ array(
+ 'title' => __( 'Columns', 'sportspress' ),
+ 'id' => 'sportspress_event_result_columns',
+ 'default' => 'auto',
+ 'type' => 'radio',
+ 'options' => array(
+ 'auto' => __( 'Auto', 'sportspress' ),
+ 'manual' => __( 'Manual', 'sportspress' ),
+ ),
+ ),
+
+ array(
+ 'title' => __( 'Outcome', 'sportspress' ),
+ 'desc' => __( 'Display outcome', 'sportspress' ),
+ 'id' => 'sportspress_event_show_outcome',
+ 'default' => 'no',
+ 'type' => 'checkbox',
+ ),
+ ) ),
+
+ array(
+ array( 'type' => 'sectionend', 'id' => 'result_options' ),
+ ),
+
array(
array( 'title' => __( 'Player Performance', 'sportspress' ), 'type' => 'title', 'desc' => '', 'id' => 'performance_options' ),
),
diff --git a/includes/class-sp-event.php b/includes/class-sp-event.php
index 5f20e804..55e65282 100644
--- a/includes/class-sp-event.php
+++ b/includes/class-sp-event.php
@@ -45,11 +45,27 @@ class SP_Event extends SP_Custom_Post{
// Add outcome to result columns
$columns['outcome'] = __( 'Outcome', 'sportspress' );
if ( is_array( $usecolumns ) ):
- foreach ( $columns as $key => $label ):
- if ( ! in_array( $key, $usecolumns ) ):
- unset( $columns[ $key ] );
- endif;
- endforeach;
+ if ( 'manual' == get_option( 'sportspress_event_result_columns', 'auto' ) ):
+ foreach ( $columns as $key => $label ):
+ if ( ! in_array( $key, $usecolumns ) ):
+ unset( $columns[ $key ] );
+ endif;
+ endforeach;
+ else:
+ $active_columns = array();
+ foreach ( $data as $team_results ):
+ foreach ( $team_results as $key => $result ):
+ if ( is_string( $result ) && strlen( $result ) ):
+ $active_columns[ $key ] = $key;
+ endif;
+ endforeach;
+ endforeach;
+ $columns = array_intersect_key( $columns, $active_columns );
+ endif;
+
+ if ( 'yes' == get_option( 'sportspress_event_show_outcome', 'no' ) ):
+ $columns[ 'outcome' ] = __( 'Outcome', 'sportspress' );
+ endif;
endif;
$data[0] = $columns;
return $data;
|---|