Enable individual player outcomes
This commit is contained in:
@@ -88,7 +88,13 @@ class SP_Meta_Box_Event_Performance {
|
||||
</th>
|
||||
<?php endforeach; ?>
|
||||
<?php if ( $team_id ): ?>
|
||||
<th><?php _e( 'Status', 'sportspress' ); ?></th>
|
||||
<th>
|
||||
<?php _e( 'Status', 'sportspress' ); ?>
|
||||
</th>
|
||||
<?php else: ?>
|
||||
<th>
|
||||
<?php _e( 'Outcome', 'sportspress' ); ?>
|
||||
</th>
|
||||
<?php endif; ?>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -105,9 +111,7 @@ class SP_Meta_Box_Event_Performance {
|
||||
?>
|
||||
<td><input type="text" name="sp_players[<?php echo $team_id; ?>][<?php echo $player_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" placeholder="0" /></td>
|
||||
<?php endforeach; ?>
|
||||
<?php if ( $team_id ): ?>
|
||||
<td> </td>
|
||||
<?php endif; ?>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
@@ -151,6 +155,28 @@ class SP_Meta_Box_Event_Performance {
|
||||
<?php echo self::status_select( $team_id, $player_id, sp_array_value( $player_performance, 'status', null ) ); ?>
|
||||
<?php echo self::sub_select( $team_id, $player_id, sp_array_value( $player_performance, 'sub', null ), $data ); ?>
|
||||
</td>
|
||||
<?php else: ?>
|
||||
<td>
|
||||
<?php
|
||||
$values = sp_array_value( $player_performance, 'outcome', '' );
|
||||
if ( ! is_array( $values ) )
|
||||
$values = array( $values );
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'sp_outcome',
|
||||
'name' => 'sp_players[' . $team_id . '][' . $player_id . '][outcome][]',
|
||||
'option_none_value' => '',
|
||||
'sort_order' => 'ASC',
|
||||
'sort_column' => 'menu_order',
|
||||
'selected' => $values,
|
||||
'class' => 'sp-outcome',
|
||||
'property' => 'multiple',
|
||||
'chosen' => true,
|
||||
'placeholder' => __( 'None', 'sportspress' ),
|
||||
);
|
||||
sp_dropdown_pages( $args );
|
||||
?>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
@@ -154,7 +154,47 @@ class SP_Player_List extends SP_Custom_Post {
|
||||
$player_performance = sp_array_value( $players, $player_id, array() );
|
||||
|
||||
foreach ( $player_performance as $key => $value ):
|
||||
if ( array_key_exists( $key, $totals[ $player_id ] ) ):
|
||||
if ( 'outcome' == $key ):
|
||||
// Increment events attended, played, and started
|
||||
$totals[ $player_id ]['eventsattended'] ++;
|
||||
$totals[ $player_id ]['eventsplayed'] ++;
|
||||
$totals[ $player_id ]['eventsstarted'] ++;
|
||||
$totals[ $player_id ]['eventminutes'] += $minutes;
|
||||
|
||||
// Convert to array
|
||||
if ( ! is_array( $value ) ):
|
||||
$value = array( $value );
|
||||
endif;
|
||||
|
||||
foreach ( $value as $outcome ):
|
||||
|
||||
if ( $outcome && $outcome != '-1' ):
|
||||
|
||||
// Increment events attended and outcome count
|
||||
if ( array_key_exists( $outcome, $totals[ $player_id ] ) ):
|
||||
$totals[ $player_id ][ $outcome ] ++;
|
||||
endif;
|
||||
|
||||
// Add to streak counter
|
||||
if ( $streaks[ $player_id ]['fire'] && ( $streaks[ $player_id ]['name'] == '' || $streaks[ $player_id ]['name'] == $outcome ) ):
|
||||
$streaks[ $player_id ]['name'] = $outcome;
|
||||
$streaks[ $player_id ]['count'] ++;
|
||||
else:
|
||||
$streaks[ $player_id ]['fire'] = 0;
|
||||
endif;
|
||||
|
||||
// Add to last 5 counter if sum is less than 5
|
||||
if ( array_key_exists( $player_id, $last5s ) && array_key_exists( $outcome, $last5s[ $player_id ] ) && array_sum( $last5s[ $player_id ] ) < 5 ):
|
||||
$last5s[ $player_id ][ $outcome ] ++;
|
||||
endif;
|
||||
|
||||
// Add to last 10 counter if sum is less than 10
|
||||
if ( array_key_exists( $player_id, $last10s ) && array_key_exists( $outcome, $last10s[ $player_id ] ) && array_sum( $last10s[ $player_id ] ) < 10 ):
|
||||
$last10s[ $player_id ][ $outcome ] ++;
|
||||
endif;
|
||||
endif;
|
||||
endforeach;
|
||||
elseif ( array_key_exists( $key, $totals[ $player_id ] ) ):
|
||||
$totals[ $player_id ][ $key ] += $value;
|
||||
endif;
|
||||
endforeach;
|
||||
|
||||
@@ -176,7 +176,46 @@ class SP_Player extends SP_Custom_Post {
|
||||
$player_performance = sp_array_value( $players, $this->ID, array() );
|
||||
|
||||
foreach ( $player_performance as $key => $value ):
|
||||
if ( array_key_exists( $key, $totals ) ):
|
||||
if ( 'outcome' == $key ):
|
||||
// Increment events attended, played, and started
|
||||
$totals['eventsattended'] ++;
|
||||
$totals['eventsplayed'] ++;
|
||||
$totals['eventsstarted'] ++;
|
||||
$totals['eventminutes'] += $minutes;
|
||||
|
||||
// Convert to array
|
||||
if ( ! is_array( $value ) ):
|
||||
$value = array( $value );
|
||||
endif;
|
||||
|
||||
foreach ( $value as $outcome ):
|
||||
if ( $outcome && $outcome != '-1' ):
|
||||
|
||||
// Increment outcome count
|
||||
if ( array_key_exists( $outcome, $totals ) ):
|
||||
$totals[ $outcome ] ++;
|
||||
endif;
|
||||
|
||||
// Add to streak counter
|
||||
if ( $streak['fire'] && ( $streak['name'] == '' || $streak['name'] == $outcome ) ):
|
||||
$streak['name'] = $outcome;
|
||||
$streak['count'] ++;
|
||||
else:
|
||||
$streak['fire'] = 0;
|
||||
endif;
|
||||
|
||||
// Add to last 5 counter if sum is less than 5
|
||||
if ( array_key_exists( $outcome, $last5 ) && array_sum( $last5 ) < 5 ):
|
||||
$last5[ $outcome ] ++;
|
||||
endif;
|
||||
|
||||
// Add to last 10 counter if sum is less than 10
|
||||
if ( array_key_exists( $outcome, $last10 ) && array_sum( $last10 ) < 10 ):
|
||||
$last10[ $outcome ] ++;
|
||||
endif;
|
||||
endif;
|
||||
endforeach;
|
||||
elseif ( array_key_exists( $key, $totals ) ):
|
||||
$totals[ $key ] += $value;
|
||||
endif;
|
||||
endforeach;
|
||||
|
||||
Reference in New Issue
Block a user