diff --git a/globals.php b/globals.php
index 2d7fc26e..696aad0c 100644
--- a/globals.php
+++ b/globals.php
@@ -1,289 +1,4 @@
array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- '1' . ': $first' . "\r\n" .
- '2' . ': $second' . "\r\n" .
- '3' . ': $third' . "\r\n" .
- '4' . ': $fourth' . "\r\n" .
- '5' . ': $fifth' . "\r\n" .
- '6' . ': $sixth' . "\r\n" .
- '7' . ': $seventh' . "\r\n" .
- '8' . ': $eigth' . "\r\n" .
- '9' . ': $ninth' . "\r\n" .
- ' ' . ': $extra' . "\r\n" .
- 'R' . ': $runs' . "\r\n" .
- 'H' . ': $hits' . "\r\n" .
- 'E' . ': $errors:' . "\r\n" .
- 'LOB' . ': $lob',
- 'player' =>
- array(
- 'G' . ': $played' . "\r\n" .
- 'AB' . ': $ab' . "\r\n" .
- 'R' . ': $runs' . "\r\n" .
- 'H' . ': $hits' . "\r\n" .
- '2B' . ': $double' . "\r\n" .
- '3B' . ': $triple' . "\r\n" .
- 'HR' . ': $hr' . "\r\n" .
- 'RBI' . ': $rbi' . "\r\n" .
- 'BB' . ': $bb' . "\r\n" .
- 'SO' . ': $so' . "\r\n" .
- 'SB' . ': $sb' . "\r\n" .
- 'CS' . ': $cs' . "\r\n" .
- 'AVG' . ': $hits / $ab' . "\r\n" .
- 'OBP' . ': ( $hits + $bb + $hbp ) / ( $ab + $bb + $hbp + $sf )' . "\r\n" .
- 'SLG' . ': $tb / $ab' . "\r\n" .
- 'OPS' . ': ( $hits + $bb + $hbp ) / ( $ab + $bb + $hbp + $sf ) + ( $tb / $ab )'
- ),
- array(
- 'W' . ': $wins' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'ERA' . ': ( $er * 9 ) / $ip' . "\r\n" .
- 'G' . ': $played' . "\r\n" .
- 'GS' . ': $gs' . "\r\n" .
- 'SV' . ': $sv' . "\r\n" .
- 'SVO' . ': $svo' . "\r\n" .
- 'IP' . ': $ip' . "\r\n" .
- 'H' . ': $hits' . "\r\n" .
- 'R' . ': $runs' . "\r\n" .
- 'ER' . ': $er' . "\r\n" .
- 'HR' . ': $hr' . "\r\n" .
- 'BB' . ': $bb' . "\r\n" .
- 'SO' . ': $so' . "\r\n" .
- 'AVG' . ': $hits / $ab' . "\r\n" .
- 'WHIP' . ': ( $hits + $walks ) / $ip'
- ),
- array(
- 'W' . ': $wins' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'ERA' . ': ( $er * 9 ) / $ip' . "\r\n" .
- 'G' . ': $played' . "\r\n" .
- 'AB' . ': $ab' . "\r\n" .
- 'R' . ': $runs' . "\r\n" .
- 'H' . ': $hits' . "\r\n" .
- '2B' . ': $double' . "\r\n" .
- '3B' . ': $triple' . "\r\n" .
- 'HR' . ': $hr' . "\r\n" .
- 'RBI' . ': $rbi' . "\r\n" .
- 'BB' . ': $bb' . "\r\n" .
- 'SO' . ': $so' . "\r\n" .
- 'SB' . ': $sb' . "\r\n" .
- 'CS' . ': $cs' . "\r\n" .
- 'AVG' . ': $hits / $ab' . "\r\n" .
- 'OBP' . ': ( $hits + $bb + $hbp ) / ( $ab + $bb + $hbp + $sf )' . "\r\n" .
- 'SLG' . ': $tb / $ab' . "\r\n" .
- 'OPS' . ': ( $hits + $bb + $hbp ) / ( $ab + $bb + $hbp + $sf ) + ( $tb / $ab )'
- )
- ),
- 'Basketball' => array(
- 'team' =>
- 'W' . ': $wins' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'Pct' . ': $wins / $played' . "\r\n" .
- 'GB' . ': ( $leadwins - $leadlosses + $wins - $losses ) / 2' . "\r\n" .
- 'Home' . ': $homewins $homelosses' . "\r\n" .
- 'Road' . ': $awaywins $awaylosses' . "\r\n" .
- 'L10' . ': $lastten' . "\r\n" .
- 'Streak' . ': $streak',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards'
- ),
- 'Cricket' => array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards'
- ),
- 'Football (USA)' => array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards'
- ),
- 'Footy (Australia)' => array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards'
- ),
- 'Hockey' => array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards'
- ),
- 'Rugby' => array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
- 'Red' . ' Cards: $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
- 'Red' . ' Cards: $redcards'
- ),
- 'soccer' => array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow Cards' . ': $yellowcards' . "\r\n" .
- 'Red Cards' . ': $redcards'
- ),
- 'Tennis' => array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
- 'Red' . ' Cards: $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
- 'Red' . ' Cards: $redcards'
- ),
- 'Volleyball' => array(
- 'team' =>
- 'P' . ': $played' . "\r\n" .
- 'W' . ': $wins' . "\r\n" .
- 'D' . ': $ties' . "\r\n" .
- 'L' . ': $losses' . "\r\n" .
- 'F' . ': $for' . "\r\n" .
- 'A' . ': $against' . "\r\n" .
- 'GD' . ': $for - $against' . "\r\n" .
- 'PTS' . ': 3 * $wins + $ties',
- 'event' =>
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
- 'Red' . ' Cards: $redcards',
- 'player' =>
- 'Attendances' . ': $played' . "\r\n" .
- 'Goals' . ': $goals' . "\r\n" .
- 'Assists' . ': $assists' . "\r\n" .
- 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
- 'Red' . ' Cards: $redcards'
- )
-);
-
$sportspress_texts = array(
'sp_team' => array(
'Enter title here' => __( 'Team', 'sportspress' ),
@@ -339,9 +54,9 @@ $sportspress_thumbnail_texts = array(
$sportspress_options = array(
'settings' => array(
'sp_event_team_count' => 2,
- 'sp_team_stats_columns' => $sportspress_sports['soccer']['team'],
- 'sp_event_stats_columns' => $sportspress_sports['soccer']['event'],
- 'sp_player_stats_columns' => $sportspress_sports['soccer']['player']
+ 'sp_team_stats_columns' => '',
+ 'sp_event_stats_columns' => '',
+ 'sp_player_stats_columns' => ''
)
);
diff --git a/helpers.php b/helpers.php
index 67a2263a..912a338a 100644
--- a/helpers.php
+++ b/helpers.php
@@ -254,6 +254,18 @@ if ( !function_exists( 'sp_get_eos_array' ) ) {
}
}
+if ( !function_exists( 'sp_get_eos_keys' ) ) {
+ function sp_get_eos_keys( $raw ) {
+ $raw = str_replace( array( "\r\n", ' :' ), array( "\n", ':' ), $raw );
+ $arr = explode( "\n", $raw );
+ $output = array();
+ foreach ( $arr as $value ):
+ $output[] = substr( $value, 0, strpos( $value, ':') );
+ endforeach;
+ return $output;
+ }
+}
+
if ( !function_exists( 'sp_get_stats_row' ) ) {
function sp_get_stats_row( $post_type = 'post', $args = array(), $static = false ) {
$args = array_merge(
@@ -269,6 +281,8 @@ if ( !function_exists( 'sp_get_stats_row' ) ) {
$vars = array();
+ $stats_settings = get_option( 'sportspress_stats' );
+
// Get dynamic stats
switch ($post_type):
case 'sp_team':
@@ -289,7 +303,7 @@ if ( !function_exists( 'sp_get_stats_row' ) ) {
$vars['against'] = 0; foreach( $posts as $post ): $result = $post->sp_result; unset( $result[ $post->sp_team_index ] ); $vars['against'] += array_sum( $result ); endforeach;
// Get EOS array
- $rows = sp_get_eos_array( get_option( 'sp_team_stats_columns' ) );
+ $rows = sp_get_eos_array( $stats_settings['team'] );
break;
case 'sp_player':
@@ -335,7 +349,7 @@ if ( !function_exists( 'sp_get_stats_row' ) ) {
$dynamic = array();
foreach ( $rows as $key => $value ):
$row = explode( ':', $value );
- $dynamic[] = $eos->solveIF( sp_array_value( $row, 1, '$played'), $vars );
+ $dynamic[ $key ] = $eos->solveIF( sp_array_value( $row, 1, '$played'), $vars );
endforeach;
if ( $static ):
@@ -364,10 +378,10 @@ if ( !function_exists( 'sp_get_stats_row' ) ) {
}
if ( !function_exists( 'sp_stats_table' ) ) {
- function sp_stats_table( $stats = array(), $placeholders = array(), $index = 0, $columns = array( 'Name' ), $total = true, $rowtype = 'post', $slug = 'sp_stats' ) {
+ function sp_stats_table( $stats = array(), $placeholders = array(), $index = 0, $columns = array(), $total = true, $rowtype = 'post', $slug = 'sp_stats' ) {
global $pagenow;
if ( !is_array( $stats ) )
- $stats = array();
+ $stats = array( __( 'Name', 'sportspress' ) );
?>
@@ -428,6 +442,7 @@ if ( !function_exists( 'sp_stats_table' ) ) {
}
}
+/*
if ( !function_exists( 'sp_team_stats_sport_choice' ) ) {
function sp_team_stats_sport_choice( $selected = null ) {
global $sportspress_sports;
@@ -440,6 +455,7 @@ if ( !function_exists( 'sp_team_stats_sport_choice' ) ) {
' . $value . '';
+ break;
+ default:
+ echo '';
+ break;
+ endswitch;
+
+ }
+}
?>
\ No newline at end of file
diff --git a/player.php b/player.php
index 12bb2f5f..d4cb00eb 100644
--- a/player.php
+++ b/player.php
@@ -38,6 +38,13 @@ function sp_player_stats_meta( $post ) {
$leagues = (array)get_the_terms( $post->ID, 'sp_league' );
$stats = (array)get_post_meta( $post->ID, 'sp_stats', true );
+ // Get column names from settings
+ $stats_settings = get_option( 'sportspress_stats' );
+ $columns = sp_get_eos_keys( $stats_settings['player'] );
+
+ // Add first column label
+ array_unshift( $columns, __( 'League', 'sportspress' ) );
+
// Generate array of all league ids
$league_ids = array( 0 );
foreach ( $leagues as $key => $value ):
@@ -73,9 +80,10 @@ function sp_player_stats_meta( $post ) {
endforeach;
?>
-
-
+
array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ '1' . ': $first' . "\r\n" .
+ '2' . ': $second' . "\r\n" .
+ '3' . ': $third' . "\r\n" .
+ '4' . ': $fourth' . "\r\n" .
+ '5' . ': $fifth' . "\r\n" .
+ '6' . ': $sixth' . "\r\n" .
+ '7' . ': $seventh' . "\r\n" .
+ '8' . ': $eigth' . "\r\n" .
+ '9' . ': $ninth' . "\r\n" .
+ ' ' . ': $extra' . "\r\n" .
+ 'R' . ': $runs' . "\r\n" .
+ 'H' . ': $hits' . "\r\n" .
+ 'E' . ': $errors:' . "\r\n" .
+ 'LOB' . ': $lob',
+ 'player' =>
+ array(
+ 'G' . ': $played' . "\r\n" .
+ 'AB' . ': $ab' . "\r\n" .
+ 'R' . ': $runs' . "\r\n" .
+ 'H' . ': $hits' . "\r\n" .
+ '2B' . ': $double' . "\r\n" .
+ '3B' . ': $triple' . "\r\n" .
+ 'HR' . ': $hr' . "\r\n" .
+ 'RBI' . ': $rbi' . "\r\n" .
+ 'BB' . ': $bb' . "\r\n" .
+ 'SO' . ': $so' . "\r\n" .
+ 'SB' . ': $sb' . "\r\n" .
+ 'CS' . ': $cs' . "\r\n" .
+ 'AVG' . ': $hits / $ab' . "\r\n" .
+ 'OBP' . ': ( $hits + $bb + $hbp ) / ( $ab + $bb + $hbp + $sf )' . "\r\n" .
+ 'SLG' . ': $tb / $ab' . "\r\n" .
+ 'OPS' . ': ( $hits + $bb + $hbp ) / ( $ab + $bb + $hbp + $sf ) + ( $tb / $ab )'
+ ),
+ array(
+ 'W' . ': $wins' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'ERA' . ': ( $er * 9 ) / $ip' . "\r\n" .
+ 'G' . ': $played' . "\r\n" .
+ 'GS' . ': $gs' . "\r\n" .
+ 'SV' . ': $sv' . "\r\n" .
+ 'SVO' . ': $svo' . "\r\n" .
+ 'IP' . ': $ip' . "\r\n" .
+ 'H' . ': $hits' . "\r\n" .
+ 'R' . ': $runs' . "\r\n" .
+ 'ER' . ': $er' . "\r\n" .
+ 'HR' . ': $hr' . "\r\n" .
+ 'BB' . ': $bb' . "\r\n" .
+ 'SO' . ': $so' . "\r\n" .
+ 'AVG' . ': $hits / $ab' . "\r\n" .
+ 'WHIP' . ': ( $hits + $walks ) / $ip'
+ ),
+ array(
+ 'W' . ': $wins' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'ERA' . ': ( $er * 9 ) / $ip' . "\r\n" .
+ 'G' . ': $played' . "\r\n" .
+ 'AB' . ': $ab' . "\r\n" .
+ 'R' . ': $runs' . "\r\n" .
+ 'H' . ': $hits' . "\r\n" .
+ '2B' . ': $double' . "\r\n" .
+ '3B' . ': $triple' . "\r\n" .
+ 'HR' . ': $hr' . "\r\n" .
+ 'RBI' . ': $rbi' . "\r\n" .
+ 'BB' . ': $bb' . "\r\n" .
+ 'SO' . ': $so' . "\r\n" .
+ 'SB' . ': $sb' . "\r\n" .
+ 'CS' . ': $cs' . "\r\n" .
+ 'AVG' . ': $hits / $ab' . "\r\n" .
+ 'OBP' . ': ( $hits + $bb + $hbp ) / ( $ab + $bb + $hbp + $sf )' . "\r\n" .
+ 'SLG' . ': $tb / $ab' . "\r\n" .
+ 'OPS' . ': ( $hits + $bb + $hbp ) / ( $ab + $bb + $hbp + $sf ) + ( $tb / $ab )'
+ )
+ ),
+ 'Basketball' => array(
+ 'team' =>
+ 'W' . ': $wins' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'Pct' . ': $wins / $played' . "\r\n" .
+ 'GB' . ': ( $leadwins - $leadlosses + $wins - $losses ) / 2' . "\r\n" .
+ 'Home' . ': $homewins $homelosses' . "\r\n" .
+ 'Road' . ': $awaywins $awaylosses' . "\r\n" .
+ 'L10' . ': $lastten' . "\r\n" .
+ 'Streak' . ': $streak',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards'
+ ),
+ 'Cricket' => array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards'
+ ),
+ 'Football (USA)' => array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards'
+ ),
+ 'Footy (Australia)' => array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards'
+ ),
+ 'Hockey' => array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards'
+ ),
+ 'Rugby' => array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
+ 'Red' . ' Cards: $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
+ 'Red' . ' Cards: $redcards'
+ ),
+ 'soccer' => array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow Cards' . ': $yellowcards' . "\r\n" .
+ 'Red Cards' . ': $redcards'
+ ),
+ 'Tennis' => array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
+ 'Red' . ' Cards: $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
+ 'Red' . ' Cards: $redcards'
+ ),
+ 'Volleyball' => array(
+ 'team' =>
+ 'P' . ': $played' . "\r\n" .
+ 'W' . ': $wins' . "\r\n" .
+ 'D' . ': $ties' . "\r\n" .
+ 'L' . ': $losses' . "\r\n" .
+ 'F' . ': $for' . "\r\n" .
+ 'A' . ': $against' . "\r\n" .
+ 'GD' . ': $for - $against' . "\r\n" .
+ 'PTS' . ': 3 * $wins + $ties',
+ 'event' =>
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
+ 'Red' . ' Cards: $redcards',
+ 'player' =>
+ 'Attendances' . ': $played' . "\r\n" .
+ 'Goals' . ': $goals' . "\r\n" .
+ 'Assists' . ': $assists' . "\r\n" .
+ 'Yellow' . ' Cards: $yellowcards' . "\r\n" .
+ 'Red' . ' Cards: $redcards'
+ )
+);
+?>
\ No newline at end of file
diff --git a/settings.php b/settings.php
index ae20546f..a3763b8a 100644
--- a/settings.php
+++ b/settings.php
@@ -1,7 +1,7 @@
+ ?>test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+/* ------------------------------------------------------------------------ *
+ * Setting Registration
+ * ------------------------------------------------------------------------ */
-
-
-
-
\ No newline at end of file
+
+/**
+ * Provides default values for the Statistics.
+ */
+function sportspress_default_stats() {
+
+ $defaults = array(
+ 'team' => '',
+ 'event' => '',
+ 'player' => '',
+ 'staff' => 'Staff settings',
+ );
+
+ return apply_filters( 'sportspress_default_stats', $defaults );
+
+} // end sportspress_default_stats
+
+/**
+ * Provides default values for the Display Options.
+ */
+function sportspress_default_display_options() {
+
+ $defaults = array(
+ 'show_header' => '',
+ 'show_content' => '',
+ 'show_footer' => '',
+ );
+
+ return apply_filters( 'sportspress_default_display_options', $defaults );
+
+} // end sportspress_default_display_options
+
+/**
+ * Provides default values for the Input Options.
+ */
+function sportspress_default_input_options() {
+
+ $defaults = array(
+ 'input_example' => '',
+ 'textarea_example' => '',
+ 'checkbox_example' => '',
+ 'radio_example' => '',
+ 'time_options' => 'default'
+ );
+
+ return apply_filters( 'sportspress_default_input_options', $defaults );
+
+} // end sportspress_default_input_options
+
+/**
+ * Initializes the theme's display options page by registering the Sections,
+ * Fields, and Settings.
+ *
+ * This function is registered with the 'admin_init' hook.
+ */
+function sportspress_initialize_theme_options() {
+
+ // If the theme options don't exist, create them.
+ if ( false == get_option( 'sportspress_settings_options' ) ) {
+ add_option( 'sportspress_settings_options', apply_filters( 'sportspress_default_display_options', sportspress_default_display_options() ) );
+ } // end if
+
+ // First, we register a section. This is necessary since all future options must belong to a
+ add_settings_section(
+ 'general_settings_section', // ID used to identify this section and with which to register options
+ __( 'Display Options', 'sportspress' ), // Title to be displayed on the administration page
+ '', // Callback used to render the description of the section
+ 'sportspress_settings_options' // Page on which to add this section of options
+ );
+
+ // Next, we'll introduce the fields for toggling the visibility of content elements.
+ add_settings_field(
+ 'show_header', // ID used to identify the field throughout the theme
+ __( 'Header', 'sportspress' ), // The label to the left of the option interface element
+ 'sportspress_toggle_header_callback', // The name of the function responsible for rendering the option interface
+ 'sportspress_settings_options', // The page on which this option will be displayed
+ 'general_settings_section', // The name of the section to which this field belongs
+ array( // The array of arguments to pass to the callback. In this case, just a description.
+ __( 'Activate this setting to display the header.', 'sportspress' ),
+ )
+ );
+
+ add_settings_field(
+ 'show_content',
+ __( 'Content', 'sportspress' ),
+ 'sportspress_toggle_content_callback',
+ 'sportspress_settings_options',
+ 'general_settings_section',
+ array(
+ __( 'Activate this setting to display the content.', 'sportspress' ),
+ )
+ );
+
+ add_settings_field(
+ 'show_footer',
+ __( 'Footer', 'sportspress' ),
+ 'sportspress_toggle_footer_callback',
+ 'sportspress_settings_options',
+ 'general_settings_section',
+ array(
+ __( 'Activate this setting to display the footer.', 'sportspress' ),
+ )
+ );
+
+ // Finally, we register the fields with WordPress
+ register_setting(
+ 'sportspress_settings_options',
+ 'sportspress_settings_options'
+ );
+
+} // end sportspress_initialize_theme_options
+add_action( 'admin_init', 'sportspress_initialize_theme_options' );
+
+/**
+ * Initializes the theme's social options by registering the Sections,
+ * Fields, and Settings.
+ *
+ * This function is registered with the 'admin_init' hook.
+ */
+function sportspress_intialize_stats() {
+
+ if( false == get_option( 'sportspress_stats' ) ) {
+ add_option( 'sportspress_stats', apply_filters( 'sportspress_default_stats', sportspress_default_stats() ) );
+ } // end if
+
+ add_settings_section(
+ 'sportspress_team_stats', // ID used to identify this section and with which to register options
+ __( 'Teams', 'sportspress' ), // Title to be displayed on the administration page
+ '', // Callback used to render the description of the section
+ 'sportspress_stats' // Page on which to add this section of options
+ );
+
+ add_settings_section(
+ 'sportspress_event_stats', // ID used to identify this section and with which to register options
+ __( 'Events', 'sportspress' ), // Title to be displayed on the administration page
+ '', // Callback used to render the description of the section
+ 'sportspress_stats' // Page on which to add this section of options
+ );
+
+ add_settings_section(
+ 'sportspress_player_stats', // ID used to identify this section and with which to register options
+ __( 'Players', 'sportspress' ), // Title to be displayed on the administration page
+ '', // Callback used to render the description of the section
+ 'sportspress_stats' // Page on which to add this section of options
+ );
+
+ add_settings_field(
+ 'team',
+ __( 'Statistics', 'sportspress' ),
+ 'sportspress_team_stats_callback',
+ 'sportspress_stats',
+ 'sportspress_team_stats'
+ );
+
+ add_settings_field(
+ 'event_team',
+ __( 'Teams', 'sportspress' ),
+ 'sportspress_event_team_stats_callback',
+ 'sportspress_stats',
+ 'sportspress_event_stats'
+ );
+
+ add_settings_field(
+ 'event_player',
+ __( 'Players', 'sportspress' ),
+ 'sportspress_event_player_stats_callback',
+ 'sportspress_stats',
+ 'sportspress_event_stats'
+ );
+
+ add_settings_field(
+ 'player',
+ __( 'Statistics', 'sportspress' ),
+ 'sportspress_player_stats_callback',
+ 'sportspress_stats',
+ 'sportspress_player_stats'
+ );
+
+ register_setting(
+ 'sportspress_stats',
+ 'sportspress_stats'
+ );
+
+} // end sportspress_intialize_stats
+add_action( 'admin_init', 'sportspress_intialize_stats' );
+
+/**
+ * Initializes the theme's input example by registering the Sections,
+ * Fields, and Settings. This particular group of options is used to demonstration
+ * validation and sanitization.
+ *
+ * This function is registered with the 'admin_init' hook.
+ */
+function sportspress_initialize_input_examples() {
+
+ if( false == get_option( 'sportspress_input_examples' ) ) {
+ add_option( 'sportspress_input_examples', apply_filters( 'sportspress_default_input_options', sportspress_default_input_options() ) );
+ } // end if
+
+ add_settings_section(
+ 'input_examples_section',
+ __( 'Input Examples', 'sportspress' ),
+ '',
+ 'sportspress_input_examples'
+ );
+
+ add_settings_field(
+ 'Input Element',
+ __( 'Input Element', 'sportspress' ),
+ 'sportspress_input_element_callback',
+ 'sportspress_input_examples',
+ 'input_examples_section'
+ );
+
+ add_settings_field(
+ 'Textarea Element',
+ __( 'Textarea Element', 'sportspress' ),
+ 'sportspress_textarea_element_callback',
+ 'sportspress_input_examples',
+ 'input_examples_section'
+ );
+
+ add_settings_field(
+ 'Checkbox Element',
+ __( 'Checkbox Element', 'sportspress' ),
+ 'sportspress_checkbox_element_callback',
+ 'sportspress_input_examples',
+ 'input_examples_section'
+ );
+
+ add_settings_field(
+ 'Radio Button Elements',
+ __( 'Radio Button Elements', 'sportspress' ),
+ 'sportspress_radio_element_callback',
+ 'sportspress_input_examples',
+ 'input_examples_section'
+ );
+
+ add_settings_field(
+ 'Select Element',
+ __( 'Select Element', 'sportspress' ),
+ 'sportspress_select_element_callback',
+ 'sportspress_input_examples',
+ 'input_examples_section'
+ );
+
+ register_setting(
+ 'sportspress_input_examples',
+ 'sportspress_input_examples',
+ 'sportspress_validate_input_examples'
+ );
+
+} // end sportspress_initialize_input_examples
+add_action( 'admin_init', 'sportspress_initialize_input_examples' );
+
+/* ------------------------------------------------------------------------ *
+ * Field Callbacks
+ * ------------------------------------------------------------------------ */
+
+/**
+ * This function renders the interface elements for toggling the visibility of the header element.
+ *
+ * It accepts an array or arguments and expects the first element in the array to be the description
+ * to be displayed next to the checkbox.
+ */
+function sportspress_toggle_header_callback($args) {
+
+ // First, we read the options collection
+ $options = get_option('sportspress_settings_options');
+
+ // Next, we update the name attribute to access this element's ID in the context of the display options array
+ // We also access the show_header element of the options collection in the call to the checked() helper function
+ $html = '';
+
+ // Here, we'll take the first argument of the array and add it to a label next to the checkbox
+ $html .= '';
+
+ echo $html;
+
+} // end sportspress_toggle_header_callback
+
+function sportspress_toggle_content_callback($args) {
+
+ $options = get_option('sportspress_settings_options');
+
+ $html = '';
+ $html .= '';
+
+ echo $html;
+
+} // end sportspress_toggle_content_callback
+
+function sportspress_toggle_footer_callback($args) {
+
+ $options = get_option('sportspress_settings_options');
+
+ $html = '';
+ $html .= '';
+
+ echo $html;
+
+} // end sportspress_toggle_footer_callback
+
+function sportspress_team_stats_callback() {
+ sportspress_render_option_field( 'sportspress_stats', 'team', 'textarea' );
+}
+
+function sportspress_event_team_stats_callback() {
+ sportspress_render_option_field( 'sportspress_stats', 'event_team', 'textarea' );
+}
+
+function sportspress_event_player_stats_callback() {
+ sportspress_render_option_field( 'sportspress_stats', 'event_player', 'textarea' );
+}
+
+function sportspress_player_stats_callback() {
+ sportspress_render_option_field( 'sportspress_stats', 'player', 'textarea' );
+}
+
+function sportspress_input_element_callback() {
+
+ $options = get_option( 'sportspress_input_examples' );
+
+ // Render the output
+ echo '';
+
+} // end sportspress_input_element_callback
+
+function sportspress_textarea_element_callback() {
+
+ $options = get_option( 'sportspress_input_examples' );
+
+ // Render the output
+ echo '';
+
+} // end sportspress_textarea_element_callback
+
+function sportspress_checkbox_element_callback() {
+
+ $options = get_option( 'sportspress_input_examples' );
+
+ $html = '';
+ $html .= ' ';
+ $html .= '';
+
+ echo $html;
+
+} // end sportspress_checkbox_element_callback
+
+function sportspress_radio_element_callback() {
+
+ $options = get_option( 'sportspress_input_examples' );
+
+ $html = '';
+ $html .= ' ';
+ $html .= '';
+ $html .= ' ';
+ $html .= '';
+ $html .= ' ';
+ $html .= '';
+
+ echo $html;
+
+} // end sportspress_radio_element_callback
+
+function sportspress_select_element_callback() {
+
+ $options = get_option( 'sportspress_input_examples' );
+
+ $html = '';
+
+ echo $html;
+
+} // end sportspress_radio_element_callback
+
+/* ------------------------------------------------------------------------ *
+ * Setting Callbacks
+ * ------------------------------------------------------------------------ */
+
+/**
+ * Sanitization callback for the social options. Since each of the social options are text inputs,
+ * this function loops through the incoming option and strips all tags and slashes from the value
+ * before serializing it.
+ *
+ * @params $input The unsanitized collection of options.
+ *
+ * @returns The collection of sanitized values.
+ */
+function sportspress_sanitize_stats( $input ) {
+
+ // Define the array for the updated options
+ $output = array();
+
+ // Loop through each of the options sanitizing the data
+ foreach( $input as $key => $val ) {
+
+ if( isset ( $input[$key] ) ) {
+ $output[$key] = esc_url_raw( strip_tags( stripslashes( $input[$key] ) ) );
+ } // end if
+
+ } // end foreach
+
+ // Return the new collection
+ return apply_filters( 'sportspress_sanitize_stats', $output, $input );
+
+} // end sportspress_sanitize_stats
+
+function sportspress_validate_input_examples( $input ) {
+
+ // Create our array for storing the validated options
+ $output = array();
+
+ // Loop through each of the incoming options
+ foreach( $input as $key => $value ) {
+
+ // Check to see if the current option has a value. If so, process it.
+ if( isset( $input[$key] ) ) {
+
+ // Strip all HTML and PHP tags and properly handle quoted strings
+ $output[$key] = strip_tags( stripslashes( $input[ $key ] ) );
+
+ } // end if
+
+ } // end foreach
+
+ // Return the array processing any additional functions filtered by this action
+ return apply_filters( 'sportspress_validate_input_examples', $output, $input );
+
+} // end sportspress_validate_input_examples
+
+?>
\ No newline at end of file
diff --git a/styles.php b/styles.php
index d0aea719..c5a00fa9 100644
--- a/styles.php
+++ b/styles.php
@@ -7,12 +7,11 @@ function sp_enqueue_styles() {
}
//add_action( 'wp_print_styles', 'sp_enqueue_styles' );
-function sp_admin_styles_init() {
-// wp_enqueue_style( 'thickbox' );
+function sp_admin_styles() {
wp_register_style( 'sportspress-admin.css', SPORTSPRESS_PLUGIN_URL . 'sportspress-admin.css', array(), '1.0' );
wp_enqueue_style( 'sportspress-admin.css');
}
-add_action( 'admin_init', 'sp_admin_styles_init' );
+add_action( 'admin_init', 'sp_admin_styles' );
function sp_adminbar_enqueue_styles() {
wp_register_style( 'adminbar-stylesheet', get_template_directory_uri() . '/css/adminbar.css' );
diff --git a/team.php b/team.php
index b465abad..95a4da2d 100644
--- a/team.php
+++ b/team.php
@@ -73,7 +73,14 @@ function sp_team_stats_meta( $post ) {
$placeholders[ $league_id ] = sp_get_stats_row( 'sp_team', $args );
endforeach;
- sp_stats_table( $data, $placeholders, 0, array( 'League', 'P', 'W', 'D', 'L', 'F', 'A', 'GD', 'Pts' ), false, 'sp_league' );
+ // Get column names from settings
+ $stats_settings = get_option( 'sportspress_stats' );
+ $columns = sp_get_eos_keys( $stats_settings['team'] );
+
+ // Add first column label
+ array_unshift( $columns, __( 'League', 'sportspress' ) );
+
+ sp_stats_table( $data, $placeholders, 0, $columns, false, 'sp_league' );
sp_nonce();
}
?>
\ No newline at end of file