diff --git a/assets/js/admin/sportspress-admin.js b/assets/js/admin/sportspress-admin.js
index b5126606..a1b282cd 100644
--- a/assets/js/admin/sportspress-admin.js
+++ b/assets/js/admin/sportspress-admin.js
@@ -579,7 +579,8 @@ jQuery(document).ready(function($){
nonce: $("#sp-inline-nonce").val()
}, function(response) {
$column.find(".sp-edit-result").each(function() {
- $column.find(".sp-result[data-team='"+$(this).data("team")+"']").html($(this).val());
+ val = $(this).val();
+ $column.find(".sp-result[data-team='"+$(this).data("team")+"']").html(val==''?'-':val);
});
$column.find(".sp-edit-result, .sp-inline-edit-save").hide();
$column.find(".sp-result, .sp-row-actions").show();
diff --git a/includes/admin/class-sp-admin-ajax.php b/includes/admin/class-sp-admin-ajax.php
index 28b878e6..59b0ba93 100644
--- a/includes/admin/class-sp-admin-ajax.php
+++ b/includes/admin/class-sp-admin-ajax.php
@@ -46,6 +46,7 @@ class SP_Admin_AJAX {
$post_id = sp_array_value( $_POST, 'post_id' );
$results = sp_array_value( $_POST, 'results' );
+ $main_result = get_option( 'sportspress_primary_result', null );
if ( ! $post_id || ! is_array( $results ) ) {
// Return error
@@ -55,14 +56,75 @@ class SP_Admin_AJAX {
// Get current results meta
$meta = get_post_meta( $post_id, 'sp_results', true );
+ $primary_results = array();
foreach ( $results as $result ) {
$id = sp_array_value( $result, 'id' );
$key = sp_array_value( $result, 'key' );
+
+ $primary_results[ $id ] = sp_array_value( $result, 'result', null );
+
if ( ! $id || ! $key ) continue;
$meta[ $id ][ $key ] = sp_array_value( $result, 'result' );
}
+ arsort( $primary_results );
+
+ if ( count( $primary_results ) && ! in_array( null, $primary_results ) ) {
+ if ( count( array_unique( $primary_results ) ) === 1 ) {
+ $args = array(
+ 'post_type' => 'sp_outcome',
+ 'numberposts' => -1,
+ 'posts_per_page' => -1,
+ 'meta_key' => 'sp_condition',
+ 'meta_value' => '=',
+ );
+ $outcomes = get_posts( $args );
+ foreach ( $meta as $team => $team_results ) {
+ if ( $outcomes ) {
+ $meta[ $team ][ 'outcome' ] = array();
+ foreach ( $outcomes as $outcome ) {
+ $meta[ $team ][ 'outcome' ][] = $outcome->post_name;
+ }
+ }
+ }
+ } else {
+ reset( $primary_results );
+ $max = key( $primary_results );
+ $args = array(
+ 'post_type' => 'sp_outcome',
+ 'numberposts' => -1,
+ 'posts_per_page' => -1,
+ 'meta_key' => 'sp_condition',
+ 'meta_value' => '>',
+ );
+ $outcomes = get_posts( $args );
+ if ( $outcomes ) {
+ $meta[ $max ][ 'outcome' ] = array();
+ foreach ( $outcomes as $outcome ) {
+ $meta[ $max ][ 'outcome' ][] = $outcome->post_name;
+ }
+ }
+
+ end( $primary_results );
+ $min = key( $primary_results );
+ $args = array(
+ 'post_type' => 'sp_outcome',
+ 'numberposts' => -1,
+ 'posts_per_page' => -1,
+ 'meta_key' => 'sp_condition',
+ 'meta_value' => '<',
+ );
+ $outcomes = get_posts( $args );
+ if ( $outcomes ) {
+ $meta[ $min ][ 'outcome' ] = array();
+ foreach ( $outcomes as $outcome ) {
+ $meta[ $min ][ 'outcome' ][] = $outcome->post_name;
+ }
+ }
+ }
+ }
+
// Update results
update_post_meta( $post_id, 'sp_results', $meta );
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 4465afc2..3aee5ab4 100644
--- a/includes/admin/post-types/class-sp-admin-cpt-event.php
+++ b/includes/admin/post-types/class-sp-admin-cpt-event.php
@@ -153,8 +153,7 @@ class SP_Admin_CPT_Event extends SP_Admin_CPT {
$team_results = implode( ' | ', $team_results );
endif;
- if ( $team_result == null ) $team_result = '-';
- echo '' . $team_result . '';
+ echo '' . ( $team_result == '' ? '-' : $team_result ) . '';
echo ' ';
echo $team->post_title;
echo '
';
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 c8fb3dfb..826f2da0 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
@@ -35,7 +35,7 @@ class SP_Meta_Box_Event_Results {
$primary_results = array();
foreach ( $results as $team => $team_results ) {
if ( $main_result ) {
- $primary_results[ $team ] = sportspress_array_value( $team_results, $main_result, null );
+ $primary_results[ $team ] = sp_array_value( $team_results, $main_result, null );
} else {
if ( is_array( $team_results ) ) {
end( $team_results );
@@ -48,56 +48,61 @@ class SP_Meta_Box_Event_Results {
arsort( $primary_results );
- if ( count( $primary_results ) && ! in_array( null, $primary_results ) && count( array_unique( $primary_results ) ) === 1 ) {
- $args = array(
- 'post_type' => 'sp_outcome',
- 'numberposts' => -1,
- 'posts_per_page' => -1,
- 'meta_key' => 'sp_condition',
- 'meta_value' => '=',
- );
- $outcomes = get_posts( $args );
- foreach ( $results as $team => $team_results ) {
- if ( array_key_exists( 'outcome', $team_results ) ) continue;
- if ( $outcomes ) {
- foreach ( $outcomes as $outcome ) {
- $results[ $team ][ 'outcome' ] = $outcome->post_name;
- }
- }
- }
- } else {
- reset( $primary_results );
- $max = key( $primary_results );
- if ( ! array_key_exists( 'outcome', $results[ $max ] ) ) {
+ if ( count( $primary_results ) && ! in_array( null, $primary_results ) ) {
+ if ( count( array_unique( $primary_results ) ) === 1 ) {
$args = array(
'post_type' => 'sp_outcome',
'numberposts' => -1,
'posts_per_page' => -1,
'meta_key' => 'sp_condition',
- 'meta_value' => '>',
+ 'meta_value' => '=',
);
$outcomes = get_posts( $args );
- if ( $outcomes ) {
- foreach ( $outcomes as $outcome ) {
- $results[ $max ][ 'outcome' ] = $outcome->post_name;
+ foreach ( $results as $team => $team_results ) {
+ if ( array_key_exists( 'outcome', $team_results ) ) continue;
+ if ( $outcomes ) {
+ $results[ $team ][ 'outcome' ] = array();
+ foreach ( $outcomes as $outcome ) {
+ $results[ $team ][ 'outcome' ][] = $outcome->post_name;
+ }
+ }
+ }
+ } else {
+ reset( $primary_results );
+ $max = key( $primary_results );
+ if ( ! array_key_exists( 'outcome', $results[ $max ] ) ) {
+ $args = array(
+ 'post_type' => 'sp_outcome',
+ 'numberposts' => -1,
+ 'posts_per_page' => -1,
+ 'meta_key' => 'sp_condition',
+ 'meta_value' => '>',
+ );
+ $outcomes = get_posts( $args );
+ if ( $outcomes ) {
+ $results[ $max ][ 'outcome' ] = array();
+ foreach ( $outcomes as $outcome ) {
+ $results[ $max ][ 'outcome' ][] = $outcome->post_name;
+ }
}
}
- }
- end( $primary_results );
- $min = key( $primary_results );
- if ( ! array_key_exists( 'outcome', $results[ $min ] ) ) {
- $args = array(
- 'post_type' => 'sp_outcome',
- 'numberposts' => -1,
- 'posts_per_page' => -1,
- 'meta_key' => 'sp_condition',
- 'meta_value' => '<',
- );
- $outcomes = get_posts( $args );
- if ( $outcomes ) {
- foreach ( $outcomes as $outcome ) {
- $results[ $min ][ 'outcome' ] = $outcome->post_name;
+ end( $primary_results );
+ $min = key( $primary_results );
+ if ( ! array_key_exists( 'outcome', $results[ $min ] ) ) {
+ $args = array(
+ 'post_type' => 'sp_outcome',
+ 'numberposts' => -1,
+ 'posts_per_page' => -1,
+ 'meta_key' => 'sp_condition',
+ 'meta_value' => '<',
+ );
+ $outcomes = get_posts( $args );
+ if ( $outcomes ) {
+ $results[ $min ][ 'outcome' ] = array();
+ foreach ( $outcomes as $outcome ) {
+ $results[ $min ][ 'outcome' ][] = $outcome->post_name;
+ }
}
}
}