public function save_player_meta($post_id, $post)
 {
     if (isset($_POST['sp_team']) && is_array($_POST['sp_team'])) {
         $players = array();
         foreach ($_POST['sp_team'] as $player) {
             $players[] = array(0, $player);
         }
         sp_update_post_meta_recursive($post_id, 'sp_player', $players);
     }
 }
 /**
  * Save meta boxes data
  */
 public static function save($post_id, $post)
 {
     // Competition & Season
     wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_league', 0), 'sp_league');
     wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_season', 0), 'sp_season');
     // Rounds
     $rounds = sp_array_value($_POST, 'sp_rounds', 1);
     if ($rounds < 1) {
         $rounds = 1;
     } elseif ($rounds > 6) {
         $rounds = 6;
     }
     update_post_meta($post_id, 'sp_rounds', $rounds);
     // Winner
     update_post_meta($post_id, 'sp_winner', sp_array_value($_POST, 'sp_winner'));
     // Data
     update_post_meta($post_id, 'sp_labels', sp_array_value($_POST, 'sp_labels', array()));
     $events = sp_array_value($_POST, 'sp_event', array());
     ksort($events);
     update_post_meta($post_id, 'sp_events', $events);
     sp_update_post_meta_recursive($post_id, 'sp_event', $events);
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     sp_update_post_meta_recursive($post_id, 'sp_staff', sp_array_value($_POST, 'sp_staff', array()));
 }
function prosports_update_post_meta_recursive($post_id, $meta_key, $meta_value)
{
    return sp_update_post_meta_recursive($post_id, $meta_key, $meta_value);
}
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     update_post_meta($post_id, 'sp_select', sp_array_value($_POST, 'sp_select', array()));
     sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array()));
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     update_post_meta($post_id, 'sp_number', sp_array_value($_POST, 'sp_number', ''));
     update_post_meta($post_id, 'sp_nationality', sp_array_value($_POST, 'sp_nationality', ''));
     sp_update_post_meta_recursive($post_id, 'sp_current_team', sp_array_value($_POST, 'sp_current_team', array()));
     sp_update_post_meta_recursive($post_id, 'sp_past_team', sp_array_value($_POST, 'sp_past_team', array()));
     sp_update_post_meta_recursive($post_id, 'sp_team', array_merge(array(sp_array_value($_POST, 'sp_current_team', array())), sp_array_value($_POST, 'sp_past_team', array())));
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array()));
     $tabs = apply_filters('sportspress_event_team_tabs', array('sp_player', 'sp_staff'));
     if ($tabs) {
         foreach ($tabs as $post_type) {
             sp_update_post_meta_recursive($post_id, $post_type, sp_array_value($_POST, $post_type, array()));
         }
     }
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_role', null), 'sp_role', false);
     update_post_meta($post_id, 'sp_nationality', sp_array_value($_POST, 'sp_nationality', ''));
     sp_update_post_meta_recursive($post_id, 'sp_current_team', sp_array_value($_POST, 'sp_current_team', array()));
     sp_update_post_meta_recursive($post_id, 'sp_past_team', sp_array_value($_POST, 'sp_past_team', array()));
     sp_update_post_meta_recursive($post_id, 'sp_team', array_merge(array(sp_array_value($_POST, 'sp_current_team', array())), sp_array_value($_POST, 'sp_past_team', array())));
 }
 /**
  * Save team meta box
  */
 public static function team_save($post_id, $post)
 {
     sp_update_post_meta_recursive($post_id, 'sp_directory', sp_array_value($_POST, 'sp_directory', array()));
 }
 /**
  * Sample data
  *
  * Adds sample SportsPress data
  *
  * @access public
  */
 public static function insert_posts()
 {
     // Initialize inserted ids array
     $inserted_ids = array('sp_league' => array(), 'sp_season' => array(), 'sp_venue' => array(), 'sp_position' => array(), 'sp_role' => array(), 'sp_event' => array(), 'sp_calendar' => array(), 'sp_team' => array(), 'sp_table' => array(), 'sp_player' => array(), 'sp_list' => array(), 'sp_staff' => array());
     // Terms to insert
     $taxonomies = array();
     // Competitions
     $taxonomies['sp_league'] = array(_x('Primary League', 'example', 'sportspress'), _x('Secondary League', 'example', 'sportspress'));
     // Seasons
     $current_year = date('Y');
     $current_year = intval($current_year);
     $taxonomies['sp_season'] = array($current_year - 1, $current_year, $current_year + 1);
     // Venues
     $taxonomies['sp_venue'] = array(array('name' => 'Bentleigh', 'meta' => array('sp_address' => '12A Bolinda Street, Bentleigh VIC 3204, Australia', 'sp_latitude' => -37.920537, 'sp_longitude' => 145.043199)), array('name' => 'Essendon', 'meta' => array('sp_address' => '74 Napier Street, Essendon VIC 3040, Australia', 'sp_latitude' => -37.75194, 'sp_longitude' => 144.919549)), array('name' => 'Kensington', 'meta' => array('sp_address' => '50 Altona Street, Kensington, Victoria, Australia', 'sp_latitude' => -37.797789, 'sp_longitude' => 144.924709)));
     // Jobs
     $taxonomies['sp_role'] = array(_X('Coach', 'example', 'sportspress'));
     /*
      * Insert terms
      */
     foreach ($taxonomies as $taxonomy => $terms) {
         foreach ($terms as $term) {
             // Determine if term is array or name string
             if (is_array($term)) {
                 $name = $term['name'];
             } else {
                 $name = $term;
             }
             // Insert term
             $inserted = wp_insert_term($name, $taxonomy, array('description' => $name, 'slug' => sanitize_title($name)));
             // Add meta to term if is array
             if (!is_wp_error($inserted) && is_array($term) && array_key_exists('meta', $term)) {
                 $t_id = sp_array_value($inserted, 'term_id', 1);
                 $meta = sp_array_value($term, 'meta');
                 update_option("taxonomy_{$t_id}", $meta);
                 // Add to inserted ids array
                 $inserted_ids[$taxonomy][] = $t_id;
             }
         }
     }
     // Create sample content
     $sample_content = _x('This is an example %1$s. As a new SportsPress user, you should go to <a href=\\"%3$s\\">your dashboard</a> to delete this %1$s and create new %2$s for your content. Have fun!', 'example', 'sportspress');
     // Define teams
     $teams = array(array('name' => 'Bluebirds', 'abbreviation' => 'BENT', 'url' => 'http://tboy.co/bluebirds'), array('name' => 'Eagles', 'abbreviation' => 'ESS', 'url' => 'http://tboy.co/eagles'), array('name' => 'Kangaroos', 'abbreviation' => 'KENS', 'url' => 'http://tboy.co/kangaroos'));
     // Define players
     $players = array('Mario Bellucci', 'Aiden Leggatt', 'Seth Clemens', 'Mitchell Childe', 'Daniel Benn', 'Archie Stead', 'Finn Rosetta', 'Koby Brough', 'Blake Bannan', 'Hugo Stones', 'Tristian Holme', 'Mason Ewing');
     // Define staff
     $staff = array('Bobby Brown');
     // Define event videos
     $event_videos = array('https://www.youtube.com/watch?v=xNkf2LYckI0', 'https://www.youtube.com/watch?v=sIrjQyuwteM', 'https://www.youtube.com/watch?v=xSGxuTGVQYE');
     // Get countries
     $countries = new SP_Countries();
     /*
      * Insert teams
      */
     foreach ($teams as $index => $team) {
         $post['post_title'] = $team['name'];
         $post['post_type'] = 'sp_team';
         $post['post_status'] = 'publish';
         $post['post_content'] = sprintf($sample_content, __('Team', 'sportspress'), __('Teams', 'sportspress'), admin_url());
         // Terms
         $post['tax_input'] = array();
         $taxonomies = array('sp_league', 'sp_season');
         foreach ($taxonomies as $taxonomy) {
             $post['tax_input'][$taxonomy] = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids'));
         }
         $post['tax_input']['sp_venue'] = get_terms('sp_venue', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'ASC', 'number' => 1, 'offset' => $index));
         // Insert post
         $id = wp_insert_post($post);
         // Add to inserted ids array
         $inserted_ids['sp_team'][] = $id;
         // Flag as sample
         update_post_meta($id, '_sp_sample', 1);
         // Update meta
         update_post_meta($id, 'sp_abbreviation', $team['abbreviation']);
         update_post_meta($id, 'sp_url', $team['url']);
     }
     // Get columns
     $columns = array('team');
     $args = array('post_type' => array('sp_performance', 'sp_statistic'), 'posts_per_page' => 2, 'orderby' => 'menu_order', 'order' => 'ASC');
     $vars = get_posts($args);
     foreach ($vars as $var) {
         $columns[] = $var->post_name;
     }
     /*
      * Insert players
      */
     foreach ($players as $index => $name) {
         $post['post_title'] = $name;
         $post['post_type'] = 'sp_player';
         $post['post_status'] = 'publish';
         $post['post_content'] = sprintf($sample_content, __('Player', 'sportspress'), __('Players', 'sportspress'), admin_url());
         // Terms
         $post['tax_input'] = array();
         $taxonomies = array('sp_league', 'sp_season');
         foreach ($taxonomies as $taxonomy) {
             $post['tax_input'][$taxonomy] = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids'));
         }
         $taxonomies = array('sp_position');
         foreach ($taxonomies as $taxonomy) {
             $terms = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'slug', 'number' => 1, 'offset' => $index % 4));
             if ($terms && !is_wp_error($terms)) {
                 $post['tax_input'][$taxonomy] = $terms;
             }
         }
         // Insert post
         $id = wp_insert_post($post);
         // Add to inserted ids array
         $inserted_ids['sp_player'][] = $id;
         // Flag as sample
         update_post_meta($id, '_sp_sample', 1);
         // Calculate meta
         $nationality = array_rand($countries->countries);
         $team_index = floor($index / 4);
         $past_team_index = ($team_index + 1) % 3;
         $current_team = sp_array_value($inserted_ids['sp_team'], $team_index, 0);
         $past_team = sp_array_value($inserted_ids['sp_team'], $past_team_index, 0);
         $primary_league = reset($post['tax_input']['sp_league']);
         $season_teams = $season_stats = array();
         foreach ($post['tax_input']['sp_season'] as $season_index => $season_id) {
             $season_stats[$season_id] = array();
             if ($season_index == 0) {
                 $season_teams[$season_id] = $past_team;
             } else {
                 $season_teams[$season_id] = $current_team;
                 if ($season_index == 1) {
                     foreach ($vars as $var) {
                         $season_stats[$season_id][$var->post_name] = rand(1, 10);
                     }
                 }
             }
         }
         $player_stats = array($primary_league => $season_stats);
         $player_leagues = array($primary_league => $season_teams);
         // Update meta
         update_post_meta($id, 'sp_columns', $columns);
         update_post_meta($id, 'sp_number', $index + 1);
         update_post_meta($id, 'sp_nationality', $nationality);
         update_post_meta($id, 'sp_current_team', $current_team);
         update_post_meta($id, 'sp_past_team', $past_team);
         update_post_meta($id, 'sp_leagues', $player_leagues);
         update_post_meta($id, 'sp_statistics', $player_stats);
         sp_update_post_meta_recursive($id, 'sp_team', array($current_team, $past_team));
     }
     // Get columns
     $columns = array();
     $args = array('post_type' => 'sp_performance', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC');
     $performance_posts = get_posts($args);
     foreach ($performance_posts as $performance_post) {
         if (sizeof($columns) >= 5) {
             continue;
         }
         $columns[] = $performance_post->post_name;
     }
     $args = array('post_type' => 'sp_result', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC');
     $result_posts = get_posts($args);
     $args = array('post_type' => 'sp_outcome', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC');
     $outcome_posts = get_posts($args);
     /*
      * Insert staff
      */
     foreach ($staff as $index => $name) {
         $post['post_title'] = $name;
         $post['post_type'] = 'sp_staff';
         $post['post_status'] = 'publish';
         $post['post_content'] = sprintf($sample_content, __('Staff', 'sportspress'), __('Staff', 'sportspress'), admin_url());
         // Terms
         $post['tax_input'] = array();
         $taxonomies = array('sp_league', 'sp_season');
         foreach ($taxonomies as $taxonomy) {
             $post['tax_input'][$taxonomy] = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids'));
         }
         $taxonomies = array('sp_role');
         foreach ($taxonomies as $taxonomy) {
             $terms = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'slug', 'number' => 1, 'offset' => $index % 4));
             $post['tax_input'][$taxonomy] = $terms;
         }
         // Insert post
         $id = wp_insert_post($post);
         // Add to inserted ids array
         $inserted_ids['sp_staff'][] = $id;
         // Flag as sample
         update_post_meta($id, '_sp_sample', 1);
         // Calculate meta
         $team_index = floor($index / 4);
         $past_teams = $inserted_ids['sp_team'];
         $current_team = sp_array_value($past_teams, $team_index, 0);
         unset($past_teams[$team_index]);
         // Update meta
         update_post_meta($id, 'sp_columns', $columns);
         update_post_meta($id, 'sp_number', $index + 1);
         update_post_meta($id, 'sp_nationality', 'aus');
         update_post_meta($id, 'sp_current_team', $current_team);
         sp_update_post_meta_recursive($id, 'sp_past_team', $past_teams);
         sp_update_post_meta_recursive($id, 'sp_team', $inserted_ids['sp_team']);
     }
     /*
      * Insert events
      */
     for ($index = 0; $index < 6; $index++) {
         // Determine team index and post status
         $i = $index % 3;
         if ($index < 3) {
             $post_status = 'publish';
             $post_year = $current_year - 1;
             $event_season = get_terms('sp_season', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'ASC', 'number' => 1));
         } else {
             $post_status = 'future';
             $post_year = $current_year + 1;
             $event_season = get_terms('sp_season', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'DESC', 'number' => 1));
         }
         // The away team should be the next inserted team, or the first if this is the last event
         if ($i == 2) {
             $away_index = 0;
         } else {
             $away_index = $i + 1;
         }
         $post = array('post_title' => $teams[$i]['name'] . ' ' . get_option('sportspress_event_teams_delimiter', 'vs') . ' ' . $teams[$away_index]['name'], 'post_type' => 'sp_event', 'post_status' => $post_status, 'post_content' => sprintf($sample_content, __('Event', 'sportspress'), __('Events', 'sportspress'), admin_url()), 'post_date' => $post_year . '-' . sprintf('%02d', 3 + $i * 3) . '-' . sprintf('%02d', 5 + $i * 10) . ' ' . (18 + $i) . ':00:00', 'tax_input' => array('sp_league' => get_terms('sp_league', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'ASC', 'number' => 1)), 'sp_season' => $event_season, 'sp_venue' => get_terms('sp_venue', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'ASC', 'number' => 1, 'offset' => $i))));
         // Insert post
         $id = wp_insert_post($post);
         // Add to inserted ids array
         $inserted_ids['sp_event'][] = $id;
         // Flag as sample
         update_post_meta($id, '_sp_sample', 1);
         // Calculate home and away team ids
         $home_team_index = $i % 3;
         $away_team_index = ($i + 1) % 3;
         $home_team_id = sp_array_value($inserted_ids['sp_team'], $home_team_index, 0);
         $away_team_id = sp_array_value($inserted_ids['sp_team'], $away_team_index, 0);
         $event_teams = array($home_team_id, $away_team_id);
         // Initialize meta
         $event_players = array(0);
         $performance = $results = array();
         if ($home_team_id) {
             // Add home team player performance
             $performance[$home_team_id] = array();
             for ($j = 0; $j < 4; $j++) {
                 $player_id = sp_array_value($inserted_ids['sp_player'], $home_team_index * 4 + $j);
                 $event_players[] = $player_id;
                 $player_performance = array();
                 foreach ($performance_posts as $performance_post) {
                     $player_performance[$performance_post->post_name] = rand(0, 1);
                 }
                 $performance[$home_team_id][$player_id] = $player_performance;
             }
             // Add home team results
             $results[$home_team_id] = array();
             foreach ($result_posts as $result_post_index => $result_post) {
                 $results[$home_team_id][$result_post->post_name] = 1 + $result_post_index;
             }
             $outcome = reset($outcome_posts);
             if (is_object($outcome)) {
                 $results[$home_team_id]['outcome'] = array($outcome->post_name);
             }
         }
         // Separate teams with zero
         $event_players[] = 0;
         if ($away_team_id) {
             $performance[$away_team_id] = array();
             for ($j = 0; $j < 4; $j++) {
                 $player_id = sp_array_value($inserted_ids['sp_player'], $away_team_index * 4 + $j);
                 $event_players[] = $player_id;
                 $player_performance = array();
                 foreach ($performance_posts as $performance_post) {
                     $player_performance[$performance_post->post_name] = rand(0, 1);
                 }
                 $performance[$away_team_id][$player_id] = $player_performance;
             }
             // Add away team results
             $results[$away_team_id] = array();
             foreach ($result_posts as $result_post) {
                 $results[$away_team_id][$result_post->post_name] = '0';
             }
             $outcome = next($outcome_posts);
             if (is_object($outcome)) {
                 $results[$away_team_id]['outcome'] = array($outcome->post_name);
             }
         }
         if ('publish' === $post_status) {
             // Swap results for last event only
             if ($i == 2) {
                 $k = array_keys($results);
                 $v = array_values($results);
                 $rv = array_reverse($v);
                 $results = array_combine($k, $rv);
             }
             // Update future post meta
             update_post_meta($id, 'sp_players', $performance);
             update_post_meta($id, 'sp_results', $results);
         }
         // Update general meta
         sp_update_post_meta_recursive($id, 'sp_team', $event_teams);
         sp_update_post_meta_recursive($id, 'sp_player', $event_players);
         update_post_meta($id, 'sp_columns', $columns);
         update_post_meta($id, 'sp_format', 'league');
         update_post_meta($id, 'sp_video', $event_videos[$i]);
     }
     /*
      * Insert calendar
      */
     $post = array('post_title' => _x('Fixtures & Results', 'example', 'sportspress'), 'post_type' => 'sp_calendar', 'post_status' => 'publish', 'post_content' => sprintf($sample_content, __('Calendar', 'sportspress'), __('Calendars', 'sportspress'), admin_url()));
     // Insert post
     $id = wp_insert_post($post);
     // Add to inserted ids array
     $inserted_ids['sp_calendar'][] = $id;
     // Flag as sample
     update_post_meta($id, '_sp_sample', 1);
     // Define columns
     $columns = array('event', 'time', 'article');
     // Update meta
     update_post_meta($id, 'sp_format', 'list');
     update_post_meta($id, 'sp_status', 'any');
     update_post_meta($id, 'sp_date', 0);
     update_post_meta($id, 'sp_team', 0);
     update_post_meta($id, 'sp_order', 'ASC');
     update_post_meta($id, 'sp_columns', $columns);
     /*
      * Insert league table
      */
     $leagues = get_terms('sp_league', array('hide_empty' => 0, 'orderby' => 'id', 'order' => 'ASC', 'number' => 1));
     $league = reset($leagues);
     $seasons = get_terms('sp_season', array('hide_empty' => 0, 'orderby' => 'id', 'order' => 'ASC', 'number' => 1));
     $season = reset($seasons);
     $post = array('post_title' => $league->name . ' ' . $season->name, 'post_type' => 'sp_table', 'post_status' => 'publish', 'post_content' => sprintf($sample_content, __('League Table', 'sportspress'), __('League Tables', 'sportspress'), admin_url()), 'tax_input' => array('sp_league' => $league->term_id, 'sp_season' => $season->term_id));
     // Insert post
     $id = wp_insert_post($post);
     // Add to inserted ids array
     $inserted_ids['sp_table'][] = $id;
     // Flag as sample
     update_post_meta($id, '_sp_sample', 1);
     // Get columns
     $columns = array();
     $args = array('post_type' => 'sp_column', 'posts_per_page' => 8, 'orderby' => 'menu_order', 'order' => 'ASC');
     $column_posts = get_posts($args);
     foreach ($column_posts as $column_post) {
         $columns[] = $column_post->post_name;
     }
     // Update meta
     sp_update_post_meta_recursive($id, 'sp_team', $inserted_ids['sp_team']);
     update_post_meta($id, 'sp_columns', $columns);
     update_post_meta($id, 'sp_highlight', reset($inserted_ids['sp_team']));
     /*
      * Insert player list for each team
      */
     foreach ($inserted_ids['sp_team'] as $index => $team_id) {
         $post = array('post_title' => get_the_title($team_id) . ' ' . _x('Roster', 'example', 'sportspress'), 'post_type' => 'sp_list', 'post_status' => 'publish', 'post_content' => sprintf($sample_content, __('Player List', 'sportspress'), __('Player Lists', 'sportspress'), admin_url()));
         // Insert post
         $id = wp_insert_post($post);
         // Add to inserted ids array
         $inserted_ids['sp_list'][] = $id;
         // Flag as sample
         update_post_meta($id, '_sp_sample', 1);
         // Get players from team
         $list_players = array_slice($inserted_ids['sp_player'], $index * 4, 4);
         // Get columns
         $columns = array();
         $args = array('post_type' => array('sp_metric'), 'posts_per_page' => 2, 'orderby' => 'menu_order', 'order' => 'ASC');
         $column_posts = get_posts($args);
         foreach ($column_posts as $column_post) {
             $columns[] = $column_post->post_name;
         }
         // Update meta
         update_post_meta($id, 'sp_format', 'list');
         sp_update_post_meta_recursive($id, 'sp_player', $list_players);
         update_post_meta($id, 'sp_columns', $columns);
         update_post_meta($id, 'sp_grouping', 'position');
         update_post_meta($id, 'sp_orderby', 'name');
         update_post_meta($id, 'sp_order', 'ASC');
         update_post_meta($id, 'sp_team', $team_id);
     }
     /*
      * Insert player list for player ranking
      */
     $post = array('post_title' => _x('Player Ranking', 'example', 'sportspress'), 'post_type' => 'sp_list', 'post_status' => 'publish', 'post_content' => sprintf($sample_content, __('Player List', 'sportspress'), __('Player Lists', 'sportspress'), admin_url()));
     // Insert post
     $id = wp_insert_post($post);
     // Add to inserted ids array
     $inserted_ids['sp_list'][] = $id;
     // Flag as sample
     update_post_meta($id, '_sp_sample', 1);
     // Get columns
     $columns = array('team');
     $performance_post = reset($performance_posts);
     if (is_object($performance_post)) {
         $columns[] = $performance_post->post_name;
     }
     // Update meta
     update_post_meta($id, 'sp_format', 'list');
     sp_update_post_meta_recursive($id, 'sp_player', $inserted_ids['sp_player']);
     update_post_meta($id, 'sp_columns', $columns);
     update_post_meta($id, 'sp_grouping', '0');
     update_post_meta($id, 'sp_order', 'DESC');
     if (is_object($performance_post)) {
         update_post_meta($id, 'sp_orderby', $performance_post->post_name);
     }
     /*
      * Update player list and league table per team
      */
     foreach ($inserted_ids['sp_team'] as $index => $team_id) {
         update_post_meta($team_id, 'sp_list', sp_array_value($inserted_ids['sp_list'], $index, 0));
         update_post_meta($team_id, 'sp_table', sp_array_value($inserted_ids['sp_table'], 0));
     }
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     update_post_meta($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array()));
     update_post_meta($post_id, 'sp_grouping', sp_array_value($_POST, 'sp_grouping', array()));
     update_post_meta($post_id, 'sp_orderby', sp_array_value($_POST, 'sp_orderby', array()));
     update_post_meta($post_id, 'sp_order', sp_array_value($_POST, 'sp_order', array()));
     update_post_meta($post_id, 'sp_select', sp_array_value($_POST, 'sp_select', array()));
     sp_update_post_meta_recursive($post_id, 'sp_player', sp_array_value($_POST, 'sp_player', array()));
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     update_post_meta($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array()));
     wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_league', 0), 'sp_league');
     wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_season', 0), 'sp_season');
     update_post_meta($post_id, 'sp_grouping', sp_array_value($_POST, 'sp_grouping', array()));
     update_post_meta($post_id, 'sp_orderby', sp_array_value($_POST, 'sp_orderby', array()));
     update_post_meta($post_id, 'sp_order', sp_array_value($_POST, 'sp_order', array()));
     sp_update_post_meta_recursive($post_id, 'sp_player', sp_array_value($_POST, 'sp_player', array()));
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_league', 0), 'sp_league');
     wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_season', 0), 'sp_season');
     sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array()));
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     update_post_meta($post_id, 'sp_caption', esc_attr(sp_array_value($_POST, 'sp_caption', 0)));
     update_post_meta($post_id, 'sp_status', sp_array_value($_POST, 'sp_status', 0));
     update_post_meta($post_id, 'sp_date', sp_array_value($_POST, 'sp_date', 0));
     update_post_meta($post_id, 'sp_date_from', sp_array_value($_POST, 'sp_date_from', null));
     update_post_meta($post_id, 'sp_date_to', sp_array_value($_POST, 'sp_date_to', null));
     update_post_meta($post_id, 'sp_day', sp_array_value($_POST, 'sp_day', null));
     update_post_meta($post_id, 'sp_orderby', sp_array_value($_POST, 'sp_orderby', null));
     update_post_meta($post_id, 'sp_order', sp_array_value($_POST, 'sp_order', null));
     sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array()));
 }
 /**
  * Save meta box data
  */
 public static function save($post_id, $post)
 {
     sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array()));
     $tabs = array();
     $sections = get_option('sportspress_event_performance_sections', -1);
     if (-1 == $sections) {
         sp_update_post_meta_recursive($post_id, 'sp_player', sp_array_value($_POST, 'sp_player', array()));
     } else {
         $players = array_merge(sp_array_value($_POST, 'sp_offense', array()), sp_array_value($_POST, 'sp_defense', array()));
         sp_update_post_meta_recursive($post_id, 'sp_offense', sp_array_value($_POST, 'sp_offense', array()));
         sp_update_post_meta_recursive($post_id, 'sp_defense', sp_array_value($_POST, 'sp_defense', array()));
         sp_update_post_meta_recursive($post_id, 'sp_player', $players);
     }
     sp_update_post_meta_recursive($post_id, 'sp_staff', sp_array_value($_POST, 'sp_staff', array()));
 }
 /**
  * Save meta boxes data
  */
 public static function save($post_id)
 {
     // Format
     update_post_meta($post_id, 'sp_format', sp_array_value($_POST, 'sp_format', 'bracket'));
     // Rounds
     $limit = intval(get_option('sportspress_tournament_rounds', '6'));
     $rounds = sp_array_value($_POST, 'sp_rounds', 1);
     if ($rounds < 1) {
         $rounds = 1;
     } elseif ($rounds > $limit) {
         $rounds = $limit;
     }
     update_post_meta($post_id, 'sp_rounds', $rounds);
     // Winner
     update_post_meta($post_id, 'sp_winner', sp_array_value($_POST, 'sp_winner'));
     // Labels
     update_post_meta($post_id, 'sp_labels', sp_array_value($_POST, 'sp_labels', array()));
     // Get main result option
     $main_result = sp_get_main_result_option();
     // Get terms
     $tax_input = sp_array_value($_POST, 'tax_input', array());
     $leagues = array_map('intval', sp_array_value($tax_input, 'sp_league', array()));
     $seasons = array_map('intval', sp_array_value($tax_input, 'sp_season', array()));
     // Events
     $events = sp_array_value($_POST, 'sp_event', array());
     ksort($events);
     $event_ids = array();
     foreach ($events as $event) {
         // Get details
         $id = sp_array_value($event, 'id', 0);
         $teams = sp_array_value($event, 'teams', array());
         $results = sp_array_value($event, 'results', array());
         $date = sp_array_value($event, 'date', '');
         $h = sp_array_value($event, 'hh', '');
         $m = sp_array_value($event, 'mm', '00');
         // Update or add new event
         if (strlen($date)) {
             // Add time to date if given
             if (strlen($h)) {
                 $h = substr(str_pad($h, 2, '0', STR_PAD_LEFT), 0, 2);
                 $m = substr(str_pad($m, 2, '0', STR_PAD_LEFT), 0, 2);
                 $time = $h . ':' . $m;
                 $date .= ' ' . trim($time);
             }
             // Generate title
             $team_names = array();
             foreach ($teams as $team) {
                 if (!$team) {
                     continue;
                 }
                 $team_names[] = get_the_title($team);
             }
             $new_title = implode(' ' . get_option('sportspress_event_teams_delimiter', 'vs') . ' ', $team_names);
             // Update or add new event
             if ($id) {
                 $post = array('ID' => $id, 'post_date' => $date);
                 // Update title if not set
                 $title = get_the_title($id);
                 if (!strlen($title)) {
                     $post['post_title'] = $new_title;
                     wp_update_post($post);
                 }
             } else {
                 $args = array('post_type' => 'sp_event', 'post_title' => $new_title, 'post_status' => 'publish', 'post_date' => $date);
                 $id = wp_insert_post($args);
                 // Update league
                 if (array_filter($leagues)) {
                     wp_set_object_terms($id, $leagues, 'sp_league', false);
                 }
                 // Update season
                 if (array_filter($seasons)) {
                     wp_set_object_terms($id, $seasons, 'sp_season', false);
                 }
             }
             // Update teams
             delete_post_meta($id, 'sp_team');
             foreach ($teams as $team) {
                 add_post_meta($id, 'sp_team', $team);
             }
             // Update results
             if (sizeof($results) && sizeof($teams)) {
                 $results = array_combine($teams, $results);
                 if ($results) {
                     sp_update_main_results($id, $results);
                 }
             }
             // Update event format
             update_post_meta($id, 'sp_format', 'tournament');
         }
         // Add to event IDs
         $event_ids[] = $id;
     }
     update_post_meta($post_id, 'sp_events', $events);
     sp_update_post_meta_recursive($post_id, 'sp_event', $event_ids);
 }