Add full time minutes to events

This commit is contained in:
Brian Miyaji
2014-08-25 00:20:27 +10:00
parent 8320a9f85c
commit d6f185b4fd
6 changed files with 61 additions and 31 deletions

View File

@@ -31,34 +31,31 @@ class SP_Meta_Box_Equation {
foreach ( $groups as $group ): foreach ( $groups as $group ):
switch ( $group ): switch ( $group ):
case 'player_event': case 'player_event':
$options['Events'] = array( '$eventsattended' => __( 'Attended', 'sportspress' ), '$eventsplayed' => __( 'Played', 'sportspress' ), '$eventsstarted' => __( 'Started', 'sportspress' ), '$eventssubbed' => __( 'Substituted', 'sportspress' ) ); $options[ __( 'Events', 'sportspress' ) ] = array( '$eventsattended' => __( 'Attended', 'sportspress' ), '$eventsplayed' => __( 'Played', 'sportspress' ), '$eventsstarted' => __( 'Started', 'sportspress' ), '$eventssubbed' => __( 'Substituted', 'sportspress' ), '$eventminutes' => __( 'Minutes', 'sportspress' ) );
break; break;
case 'team_event': case 'team_event':
$options['Events'] = array( '$eventsplayed' => __( 'Played', 'sportspress' ) ); $options[ __( 'Events', 'sportspress' ) ] = array( '$eventsplayed' => __( 'Played', 'sportspress' ), '$eventminutes' => __( 'Minutes', 'sportspress' ) );
break; break;
case 'result': case 'result':
$options['Results'] = self::optgroup( 'sp_result', array( 'for' => '(' . __( 'for', 'sportspress' ) . ')', 'against' => '(' . __( 'against', 'sportspress' ) . ')' ), null, false ); $options[ __( 'Results', 'sportspress' ) ] = self::optgroup( 'sp_result', array( 'for' => '(' . __( 'for', 'sportspress' ) . ')', 'against' => '(' . __( 'against', 'sportspress' ) . ')' ), null, false );
break; break;
case 'outcome': case 'outcome':
$options['Outcomes'] = self::optgroup( 'sp_outcome' ); $options[ __( 'Outcomes', 'sportspress' ) ] = self::optgroup( 'sp_outcome' );
$options['Outcomes']['$streak'] = __( 'Streak', 'sportspress' ); $options[ __( 'Outcomes', 'sportspress' ) ]['$streak'] = __( 'Streak', 'sportspress' );
$options['Outcomes']['$last5'] = __( 'Last 5', 'sportspress' ); $options[ __( 'Outcomes', 'sportspress' ) ]['$last5'] = __( 'Last 5', 'sportspress' );
$options['Outcomes']['$last10'] = __( 'Last 10', 'sportspress' ); $options[ __( 'Outcomes', 'sportspress' ) ]['$last10'] = __( 'Last 10', 'sportspress' );
break; break;
case 'performance': case 'performance':
$options['Performance'] = self::optgroup( 'sp_performance' ); $options[ __( 'Performance', 'sportspress' ) ] = self::optgroup( 'sp_performance' );
break; break;
case 'metric': case 'metric':
$options['Metric'] = self::optgroup( 'sp_metric' ); $options[ __( 'Metric', 'sportspress' ) ] = self::optgroup( 'sp_metric' );
break; break;
endswitch; endswitch;
endforeach; endforeach;
// Create array of operators
$operators = array( '+' => '+', '-' => '−', '*' => '×', '/' => '÷', '(' => '(', ')' => ')' );
// Add operators to options // Add operators to options
$options['Operators'] = $operators; $options[ __( 'Operators', 'sportspress' ) ] = array( '+' => '+', '-' => '−', '*' => '×', '/' => '÷', '(' => '(', ')' => ')' );
// Create array of constants // Create array of constants
$max = 10; $max = 10;
@@ -71,7 +68,9 @@ class SP_Meta_Box_Equation {
$constants[100] = 100; $constants[100] = 100;
// Add constants to options // Add constants to options
$options['Constants'] = (array) $constants; $options[ __( 'Constants', 'sportspress' ) ] = (array) $constants;
$options = apply_filters( 'sportspress_equation_options', $options );
?> ?>
<div class="sp-equation-builder"> <div class="sp-equation-builder">
<div class="sp-data-table-container sp-equation-parts"> <div class="sp-data-table-container sp-equation-parts">

View File

@@ -19,10 +19,18 @@ class SP_Meta_Box_Event_Details {
* Output the metabox * Output the metabox
*/ */
public static function output( $post ) { public static function output( $post ) {
$minutes = get_post_meta( $post->ID, 'sp_minutes', true );
$league_id = sp_get_the_term_id( $post->ID, 'sp_league', 0 ); $league_id = sp_get_the_term_id( $post->ID, 'sp_league', 0 );
$season_id = sp_get_the_term_id( $post->ID, 'sp_season', 0 ); $season_id = sp_get_the_term_id( $post->ID, 'sp_season', 0 );
$venue_id = sp_get_the_term_id( $post->ID, 'sp_venue', 0 ); $venue_id = sp_get_the_term_id( $post->ID, 'sp_venue', 0 );
?> ?>
<div class="sp-event-minutes-field">
<p><strong><?php _e( 'Full Time', 'sportspress' ); ?></strong></p>
<p>
<input name="sp_minutes" type="number" step="1" min="0" class="small-text" placeholder="<?php echo get_option( 'sportspress_event_minutes', 90 ); ?>" value="<?php echo $minutes; ?>">
<?php _e( 'mins', 'sportspress' ); ?>
</p>
</div>
<div class="sp-event-league-field"> <div class="sp-event-league-field">
<p><strong><?php _e( 'League', 'sportspress' ); ?></strong></p> <p><strong><?php _e( 'League', 'sportspress' ); ?></strong></p>
<p> <p>
@@ -83,6 +91,7 @@ class SP_Meta_Box_Event_Details {
* Save meta box data * Save meta box data
*/ */
public static function save( $post_id, $post ) { public static function save( $post_id, $post ) {
update_post_meta( $post_id, 'sp_minutes', sp_array_value( $_POST, 'sp_minutes', get_option( 'sportspress_event_minutes', 90 ) ) );
$format = get_post_meta( $post_id, 'sp_format', true ); $format = get_post_meta( $post_id, 'sp_format', true );
if ( $format == 'friendly' ) if ( $format == 'friendly' )
wp_set_post_terms( $post_id, -1, 'sp_league' ); wp_set_post_terms( $post_id, -1, 'sp_league' );

View File

@@ -127,6 +127,19 @@ class SP_Settings_Events extends SP_Settings_Page {
'checkboxgroup' => 'start', 'checkboxgroup' => 'start',
), ),
array(
'title' => __( 'Full Time', 'sportspress' ),
'id' => 'sportspress_event_minutes',
'class' => 'small-text',
'default' => '90',
'desc' => __( 'mins', 'sportspress' ),
'type' => 'number',
'custom_attributes' => array(
'min' => 0,
'step' => 1
),
),
array( 'type' => 'sectionend', 'id' => 'event_options' ), array( 'type' => 'sectionend', 'id' => 'event_options' ),
array( 'title' => __( 'Event List', 'sportspress' ), 'type' => 'title', 'id' => 'event_list_options' ), array( 'title' => __( 'Event List', 'sportspress' ), 'type' => 'title', 'id' => 'event_list_options' ),

View File

@@ -68,7 +68,7 @@ class SP_League_Table extends SP_Custom_Post{
endforeach; endforeach;
// Initialize team totals // Initialize team totals
$totals[ $team_id ] = array( 'eventsplayed' => 0, 'streak' => 0 ); $totals[ $team_id ] = array( 'eventsplayed' => 0, 'eventminutes' => 0, 'streak' => 0 );
foreach ( $result_labels as $key => $value ): foreach ( $result_labels as $key => $value ):
$totals[ $team_id ][ $key . 'for' ] = 0; $totals[ $team_id ][ $key . 'for' ] = 0;
@@ -120,6 +120,8 @@ class SP_League_Table extends SP_Custom_Post{
foreach ( $events as $event ): foreach ( $events as $event ):
$results = (array)get_post_meta( $event->ID, 'sp_results', true ); $results = (array)get_post_meta( $event->ID, 'sp_results', true );
$minutes = get_post_meta( $event->ID, 'sp_minutes', true );
if ( $minutes === '' ) $minutes = get_option( 'sportspress_event_minutes', 90 );
foreach ( $results as $team_id => $team_result ): foreach ( $results as $team_id => $team_result ):
@@ -139,6 +141,7 @@ class SP_League_Table extends SP_Custom_Post{
// Increment events played and outcome count // Increment events played and outcome count
if ( array_key_exists( $team_id, $totals ) && is_array( $totals[ $team_id ] ) && array_key_exists( $outcome, $totals[ $team_id ] ) ): if ( array_key_exists( $team_id, $totals ) && is_array( $totals[ $team_id ] ) && array_key_exists( $outcome, $totals[ $team_id ] ) ):
$totals[ $team_id ]['eventsplayed'] ++; $totals[ $team_id ]['eventsplayed'] ++;
$totals[ $team_id ]['eventminutes'] += $minutes;
$totals[ $team_id ][ $outcome ] ++; $totals[ $team_id ][ $outcome ] ++;
endif; endif;

View File

@@ -5,7 +5,7 @@
* The SportsPress player list class handles individual player list data. * The SportsPress player list class handles individual player list data.
* *
* @class SP_Player_List * @class SP_Player_List
* @version 1.2.6 * @version 1.3
* @package SportsPress/Classes * @package SportsPress/Classes
* @category Class * @category Class
* @author ThemeBoy * @author ThemeBoy
@@ -84,7 +84,7 @@ class SP_Player_List extends SP_Custom_Post {
endforeach; endforeach;
// Initialize player totals // Initialize player totals
$totals[ $player_id ] = array( 'eventsattended' => 0, 'eventsplayed' => 0, 'eventsstarted' => 0, 'eventssubbed' => 0, 'streak' => 0 ); $totals[ $player_id ] = array( 'eventsattended' => 0, 'eventsplayed' => 0, 'eventsstarted' => 0, 'eventssubbed' => 0, 'eventminutes' => 0, 'streak' => 0 );
foreach ( $performance_labels as $key => $value ): foreach ( $performance_labels as $key => $value ):
$totals[ $player_id ][ $key ] = 0; $totals[ $player_id ][ $key ] = 0;
@@ -143,6 +143,8 @@ class SP_Player_List extends SP_Custom_Post {
foreach ( $events as $event ): foreach ( $events as $event ):
$results = (array)get_post_meta( $event->ID, 'sp_results', true ); $results = (array)get_post_meta( $event->ID, 'sp_results', true );
$team_performance = get_post_meta( $event->ID, 'sp_players', true ); $team_performance = get_post_meta( $event->ID, 'sp_players', true );
$minutes = get_post_meta( $event->ID, 'sp_minutes', true );
if ( $minutes === '' ) $minutes = get_option( 'sportspress_event_minutes', 90 );
// Add all team performance // Add all team performance
if ( is_array( $team_performance ) ): foreach ( $team_performance as $team_id => $players ): if ( is_array( $team_performance ) ): foreach ( $team_performance as $team_id => $players ):
@@ -168,6 +170,7 @@ class SP_Player_List extends SP_Custom_Post {
// Continue with incrementing values if active in event // Continue with incrementing values if active in event
if ( sp_array_value( $player_performance, 'status' ) != 'sub' || sp_array_value( $player_performance, 'sub', 0 ) ): if ( sp_array_value( $player_performance, 'status' ) != 'sub' || sp_array_value( $player_performance, 'sub', 0 ) ):
$totals[ $player_id ]['eventsplayed'] ++; $totals[ $player_id ]['eventsplayed'] ++;
$totals[ $player_id ]['eventminutes'] += $minutes;
if ( sp_array_value( $player_performance, 'status' ) == 'lineup' ): if ( sp_array_value( $player_performance, 'status' ) == 'lineup' ):
$totals[ $player_id ]['eventsstarted'] ++; $totals[ $player_id ]['eventsstarted'] ++;

View File

@@ -5,7 +5,7 @@
* The SportsPress player class handles individual player data. * The SportsPress player class handles individual player data.
* *
* @class SP_Player * @class SP_Player
* @version 0.8.1 * @version 1.3
* @package SportsPress/Classes * @package SportsPress/Classes
* @category Class * @category Class
* @author ThemeBoy * @author ThemeBoy
@@ -99,7 +99,7 @@ class SP_Player extends SP_Custom_Post {
foreach ( $div_ids as $div_id ): foreach ( $div_ids as $div_id ):
$totals = array( 'eventsattended' => 0, 'eventsplayed' => 0, 'eventsstarted' => 0, 'eventssubbed' => 0, 'streak' => 0, 'last5' => null, 'last10' => null ); $totals = array( 'eventsattended' => 0, 'eventsplayed' => 0, 'eventsstarted' => 0, 'eventssubbed' => 0, 'eventminutes' => 0, 'streak' => 0, 'last5' => null, 'last10' => null );
foreach ( $performance_labels as $key => $value ): foreach ( $performance_labels as $key => $value ):
$totals[ $key ] = 0; $totals[ $key ] = 0;
@@ -166,6 +166,8 @@ class SP_Player extends SP_Custom_Post {
foreach( $events as $event ): foreach( $events as $event ):
$results = (array)get_post_meta( $event->ID, 'sp_results', true ); $results = (array)get_post_meta( $event->ID, 'sp_results', true );
$team_performance = (array)get_post_meta( $event->ID, 'sp_players', true ); $team_performance = (array)get_post_meta( $event->ID, 'sp_players', true );
$minutes = get_post_meta( $event->ID, 'sp_minutes', true );
if ( $minutes === '' ) $minutes = get_option( 'sportspress_event_minutes', 90 );
// Add all team performance // Add all team performance
foreach ( $team_performance as $team_id => $players ): foreach ( $team_performance as $team_id => $players ):
@@ -190,6 +192,7 @@ class SP_Player extends SP_Custom_Post {
// Continue with incrementing values if active in event // Continue with incrementing values if active in event
if ( sp_array_value( $player_performance, 'status' ) != 'sub' || sp_array_value( $player_performance, 'sub', 0 ) ): if ( sp_array_value( $player_performance, 'status' ) != 'sub' || sp_array_value( $player_performance, 'sub', 0 ) ):
$totals['eventsplayed'] ++; $totals['eventsplayed'] ++;
$totals['eventminutes'] += $minutes;
if ( sp_array_value( $player_performance, 'status' ) == 'lineup' ): if ( sp_array_value( $player_performance, 'status' ) == 'lineup' ):
$totals['eventsstarted'] ++; $totals['eventsstarted'] ++;