Merge branch 'master' into patch-19

This commit is contained in:
Brian Miyaji
2020-03-30 15:29:11 +11:00
committed by GitHub
25 changed files with 228 additions and 121 deletions

View File

@@ -1,5 +1,19 @@
== SportsPress Changelog == == SportsPress Changelog ==
= 2.7 =
* Feature - New bulk actions to postpone and cancel multiple events.
* Feature - Add date of birth to player importer.
* Feature - Automatically select the home team's venue as the default venue when importing fixtures.
* Feature - Add ability to turn on comment for team profiles.
* Feature - Filter league tables by event status.
* Tweak - When an icon is used for player performance, display the icon in player lists and profiles.
* Tweak - Add title attribute for player statistic icons.
* Tweak - Default stylesheet sorting icon width.
* Fix - Icon color picker rendering issue.
* Fix - Image selector not working for player statistics.
* Fix - Enqueue scripts and styles for OpenStreetMap when used in shortcodes.
* Localization - Add translation options for countdown units.
= 2.6.20 = = 2.6.20 =
* Tweak - Improve compatibility with volleyball for checkbox performance. * Tweak - Improve compatibility with volleyball for checkbox performance.
* Preset - Update volleyball preset with additional options. * Preset - Update volleyball preset with additional options.

View File

@@ -479,7 +479,7 @@ if ( class_exists( 'WP_Importer' ) ) {
<?php <?php
} }
?> ?>
<br> </ul>
</fieldset> </fieldset>
</td> </td>
</tr> </tr>

View File

@@ -5,7 +5,7 @@
* @author ThemeBoy * @author ThemeBoy
* @category Admin * @category Admin
* @package SportsPress/Admin/Importers * @package SportsPress/Admin/Importers
* @version 2.5 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

View File

@@ -5,7 +5,7 @@
* @author ThemeBoy * @author ThemeBoy
* @category Admin * @category Admin
* @package SportsPress/Admin/Importers * @package SportsPress/Admin/Importers
* @version 2.6.9 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

View File

@@ -5,7 +5,7 @@
* @author ThemeBoy * @author ThemeBoy
* @category Admin * @category Admin
* @package SportsPress/Admin/Post_Types * @package SportsPress/Admin/Post_Types
* @version 2.6.5 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
@@ -45,6 +45,9 @@ class SP_Admin_CPT_Event extends SP_Admin_CPT {
add_action( 'restrict_manage_posts', array( $this, 'filters' ) ); add_action( 'restrict_manage_posts', array( $this, 'filters' ) );
add_filter( 'parse_query', array( $this, 'filters_query' ) ); add_filter( 'parse_query', array( $this, 'filters_query' ) );
// Post states
add_filter( 'display_post_states', array( $this, 'post_states' ), 10, 2 );
// Call SP_Admin_CPT constructor // Call SP_Admin_CPT constructor
parent::__construct(); parent::__construct();
} }
@@ -315,6 +318,26 @@ class SP_Admin_CPT_Event extends SP_Admin_CPT {
} }
} }
} }
/**
* Replace displayed post state for events
*
* @param array $post_states
* @param object $post
*/
public function post_states( $post_states, $post ) {
$status = get_post_meta( $post->ID, 'sp_status', true );
if ( 'postponed' == $status ) {
$post_states = array( __( 'Postponed', 'sportspress' ) );
} elseif ( 'cancelled' == $status ) {
$post_states = array( __( 'Canceled', 'sportspress' ) );
} elseif ( 'tbd' == $status ) {
$post_states = array( __( 'TBD', 'sportspress' ) );
}
return $post_states;
}
} }
endif; endif;

View File

@@ -5,7 +5,7 @@
* @author ThemeBoy * @author ThemeBoy
* @category Admin * @category Admin
* @package SportsPress/Admin/Meta_Boxes * @package SportsPress/Admin/Meta_Boxes
* @version 2.5.5 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

View File

@@ -5,7 +5,7 @@
* @author ThemeBoy * @author ThemeBoy
* @category Admin * @category Admin
* @package SportsPress/Admin * @package SportsPress/Admin
* @version 2.6 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

View File

@@ -8,7 +8,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
* AJAX Event Handler * AJAX Event Handler
* *
* @class SP_AJAX * @class SP_AJAX
* @version 2.6.15 * @version 2.7
* @package SportsPress/Classes * @package SportsPress/Classes
* @category Class * @category Class
* @author ThemeBoy * @author ThemeBoy

View File

@@ -5,7 +5,7 @@
* The SportsPress league table class handles individual league table data. * The SportsPress league table class handles individual league table data.
* *
* @class SP_League_Table * @class SP_League_Table
* @version 2.6.15 * @version 2.7
* @package SportsPress/Classes * @package SportsPress/Classes
* @category Class * @category Class
* @author ThemeBoy * @author ThemeBoy

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 2.6.19 * @version 2.7
* @package SportsPress/Classes * @package SportsPress/Classes
* @category Class * @category Class
* @author ThemeBoy * @author ThemeBoy

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 2.6.19 * @version 2.7
* @package SportsPress/Classes * @package SportsPress/Classes
* @category Class * @category Class
* @author ThemeBoy * @author ThemeBoy

View File

@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
* Registers post types and taxonomies * Registers post types and taxonomies
* *
* @class SP_Post_types * @class SP_Post_types
* @version 2.6.13 * @version 2.7
* @package SportsPress/Classes * @package SportsPress/Classes
* @category Class * @category Class
* @author ThemeBoy * @author ThemeBoy

View File

@@ -7,7 +7,7 @@
* @author ThemeBoy * @author ThemeBoy
* @category Core * @category Core
* @package SportsPress/Functions * @package SportsPress/Functions
* @version 2.6.6 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

View File

@@ -7,7 +7,7 @@
* @author ThemeBoy * @author ThemeBoy
* @category Core * @category Core
* @package SportsPress/Functions * @package SportsPress/Functions
* @version 2.6.19 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

View File

@@ -1,6 +1,6 @@
SportsPress SportsPress
Copyright 2019 by the contributors Copyright 2020 by the contributors
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@@ -5,7 +5,7 @@ Plugin URI: http://themeboy.com/
Description: Add bulk actions to SportsPress. Description: Add bulk actions to SportsPress.
Author: ThemeBoy Author: ThemeBoy
Author URI: http://themeboy.com/ Author URI: http://themeboy.com/
Version: 2.2 Version: 2.7
*/ */
// Exit if accessed directly // Exit if accessed directly
@@ -17,7 +17,7 @@ if ( ! class_exists( 'SportsPress_Bulk_Actions' ) ) :
* Main SportsPress Bulk Actions Class * Main SportsPress Bulk Actions Class
* *
* @class SportsPress_Bulk_Actions * @class SportsPress_Bulk_Actions
* @version 2.2 * @version 2.7
*/ */
class SportsPress_Bulk_Actions { class SportsPress_Bulk_Actions {
@@ -31,6 +31,12 @@ class SportsPress_Bulk_Actions {
// Teams // Teams
add_filter( 'bulk_actions-edit-sp_team', array( $this, 'team_actions' ) ); add_filter( 'bulk_actions-edit-sp_team', array( $this, 'team_actions' ) );
add_filter( 'handle_bulk_actions-edit-sp_team', array( $this, 'team_actions_handler' ), 10, 3 ); add_filter( 'handle_bulk_actions-edit-sp_team', array( $this, 'team_actions_handler' ), 10, 3 );
// Events
add_filter( 'bulk_actions-edit-sp_event', array( $this, 'event_actions' ) );
add_filter( 'handle_bulk_actions-edit-sp_event', array( $this, 'event_actions_handler' ), 10, 3 );
// Notices
add_action( 'admin_notices', array( $this, 'admin_notices' ) ); add_action( 'admin_notices', array( $this, 'admin_notices' ) );
} }
@@ -39,7 +45,7 @@ class SportsPress_Bulk_Actions {
*/ */
private function define_constants() { private function define_constants() {
if ( !defined( 'SP_BULK_ACTIONS_VERSION' ) ) if ( !defined( 'SP_BULK_ACTIONS_VERSION' ) )
define( 'SP_BULK_ACTIONS_VERSION', '2.2' ); define( 'SP_BULK_ACTIONS_VERSION', '2.7' );
if ( !defined( 'SP_BULK_ACTIONS_URL' ) ) if ( !defined( 'SP_BULK_ACTIONS_URL' ) )
define( 'SP_BULK_ACTIONS_URL', plugin_dir_url( __FILE__ ) ); define( 'SP_BULK_ACTIONS_URL', plugin_dir_url( __FILE__ ) );
@@ -85,6 +91,38 @@ class SportsPress_Bulk_Actions {
return $redirect_to; return $redirect_to;
} }
/**
* Add option to the event bulk actions dropdown.
*/
public function event_actions( $bulk_actions ) {
$bulk_actions['sp_postpone'] = __( 'Postpone events', 'sportspress' );
$bulk_actions['sp_cancel'] = __( 'Cancel events', 'sportspress' );
return $bulk_actions;
}
/**
* Handle form submission for event bulk actions.
*/
public function event_actions_handler( $redirect_to, $doaction, $post_ids ) {
if ( ! in_array( $doaction, array( 'sp_postpone', 'sp_cancel' ) ) ) {
return $redirect_to;
}
if ( 'sp_postpone' == $doaction ) {
foreach ( $post_ids as $post_id ) {
update_post_meta( $post_id, 'sp_status', 'postponed' );
}
$redirect_to = add_query_arg( 'sp_bulk_postponed_events', count( $post_ids ), $redirect_to );
} elseif ( 'sp_cancel' == $doaction ) {
foreach ( $post_ids as $post_id ) {
update_post_meta( $post_id, 'sp_status', 'cancelled' );
}
$redirect_to = add_query_arg( 'sp_bulk_cancelled_events', count( $post_ids ), $redirect_to );
}
return $redirect_to;
}
/** /**
* Display notices after form submission. * Display notices after form submission.
*/ */
@@ -98,6 +136,24 @@ class SportsPress_Bulk_Actions {
$count, $count,
'sportspress' 'sportspress'
) . ' <a href="' . admin_url('edit.php?post_type=sp_calendar') . '">' . __( 'View', 'sportspress' ) . '</a></p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>', $count ); ) . ' <a href="' . admin_url('edit.php?post_type=sp_calendar') . '">' . __( 'View', 'sportspress' ) . '</a></p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>', $count );
} elseif ( ! empty( $_REQUEST['sp_bulk_postponed_events'] ) ) {
$count = intval( $_REQUEST['sp_bulk_postponed_events'] );
printf( '<div id="message" class="updated notice notice-success is-dismissible"><p>' .
_n( 'Postponed %s event.',
'Postponed %s events.',
$count,
'sportspress'
) . '</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>', $count );
} elseif ( ! empty( $_REQUEST['sp_bulk_cancelled_events'] ) ) {
$count = intval( $_REQUEST['sp_bulk_cancelled_events'] );
printf( '<div id="message" class="updated notice notice-success is-dismissible"><p>' .
_n( 'Canceled %s event.',
'Canceled %s events.',
$count,
'sportspress'
) . '</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>', $count );
} }
} }
} }

View File

@@ -5,7 +5,7 @@ Plugin URI: http://themeboy.com/
Description: Add countdown widgets to SportsPress. Description: Add countdown widgets to SportsPress.
Author: ThemeBoy Author: ThemeBoy
Author URI: http://themeboy.com/ Author URI: http://themeboy.com/
Version: 2.6 Version: 2.7
*/ */
// Exit if accessed directly // Exit if accessed directly
@@ -17,7 +17,7 @@ if ( ! class_exists( 'SportsPress_Countdowns' ) ) :
* Main SportsPress Countdowns Class * Main SportsPress Countdowns Class
* *
* @class SportsPress_Countdowns * @class SportsPress_Countdowns
* @version 2.6 * @version 2.7
*/ */
class SportsPress_Countdowns { class SportsPress_Countdowns {
@@ -42,7 +42,7 @@ class SportsPress_Countdowns {
*/ */
private function define_constants() { private function define_constants() {
if ( !defined( 'SP_COUNTDOWNS_VERSION' ) ) if ( !defined( 'SP_COUNTDOWNS_VERSION' ) )
define( 'SP_COUNTDOWNS_VERSION', '2.6' ); define( 'SP_COUNTDOWNS_VERSION', '2.7' );
if ( !defined( 'SP_COUNTDOWNS_URL' ) ) if ( !defined( 'SP_COUNTDOWNS_URL' ) )
define( 'SP_COUNTDOWNS_URL', plugin_dir_url( __FILE__ ) ); define( 'SP_COUNTDOWNS_URL', plugin_dir_url( __FILE__ ) );

View File

@@ -5,7 +5,7 @@ Plugin URI: http://themeboy.com/
Description: Add vector performance icons to SportsPress. Description: Add vector performance icons to SportsPress.
Author: ThemeBoy Author: ThemeBoy
Author URI: http://themeboy.com/ Author URI: http://themeboy.com/
Version: 2.6.8 Version: 2.7
*/ */
// Exit if accessed directly // Exit if accessed directly
@@ -17,7 +17,7 @@ if ( ! class_exists( 'SportsPress_Icons' ) ) :
* Main SportsPress Icons Class * Main SportsPress Icons Class
* *
* @class SportsPress_Icons * @class SportsPress_Icons
* @version 2.6.8 * @version 2.7
*/ */
class SportsPress_Icons { class SportsPress_Icons {
@@ -49,7 +49,7 @@ class SportsPress_Icons {
*/ */
private function define_constants() { private function define_constants() {
if ( !defined( 'SP_ICONS_VERSION' ) ) if ( !defined( 'SP_ICONS_VERSION' ) )
define( 'SP_ICONS_VERSION', '2.6.8' ); define( 'SP_ICONS_VERSION', '2.7' );
if ( !defined( 'SP_ICONS_URL' ) ) if ( !defined( 'SP_ICONS_URL' ) )
define( 'SP_ICONS_URL', plugin_dir_url( __FILE__ ) ); define( 'SP_ICONS_URL', plugin_dir_url( __FILE__ ) );

View File

@@ -5,7 +5,7 @@ Plugin URI: http://themeboy.com/
Description: Integrate OpenStreetMap to SportsPress. Description: Integrate OpenStreetMap to SportsPress.
Author: ThemeBoy Author: ThemeBoy
Author URI: http://themeboy.com/ Author URI: http://themeboy.com/
Version: 2.6.18 Version: 2.7
*/ */
// Exit if accessed directly // Exit if accessed directly
@@ -17,7 +17,7 @@ if ( ! class_exists( 'SportsPress_OpenStreetMap' ) ):
* Main SportsPress OpenStreetMap Class * Main SportsPress OpenStreetMap Class
* *
* @class SportsPress_OpenStreetMap * @class SportsPress_OpenStreetMap
* @version 2.6.18 * @version 2.7
*/ */
class SportsPress_OpenStreetMap { class SportsPress_OpenStreetMap {
@@ -45,7 +45,7 @@ if ( ! class_exists( 'SportsPress_OpenStreetMap' ) ):
*/ */
private function define_constants() { private function define_constants() {
if ( !defined( 'SP_OPENSTREETMAP_VERSION' ) ) if ( !defined( 'SP_OPENSTREETMAP_VERSION' ) )
define( 'SP_OPENSTREETMAP_VERSION', '2.6.18' ); define( 'SP_OPENSTREETMAP_VERSION', '2.7' );
if ( !defined( 'SP_OPENSTREETMAP_URL' ) ) if ( !defined( 'SP_OPENSTREETMAP_URL' ) )
define( 'SP_OPENSTREETMAP_URL', plugin_dir_url( __FILE__ ) ); define( 'SP_OPENSTREETMAP_URL', plugin_dir_url( __FILE__ ) );

View File

@@ -5,7 +5,7 @@ Plugin URI: http://themeboy.com/
Description: Add frontend styles to SportsPress. Description: Add frontend styles to SportsPress.
Author: ThemeBoy Author: ThemeBoy
Author URI: http://themeboy.com/ Author URI: http://themeboy.com/
Version: 2.3 Version: 2.7
*/ */
// Exit if accessed directly // Exit if accessed directly
@@ -17,7 +17,7 @@ if ( ! class_exists( 'SportsPress_Styles' ) ) :
* Main SportsPress Styles Class * Main SportsPress Styles Class
* *
* @class SportsPress_Styles * @class SportsPress_Styles
* @version 2.3 * @version 2.7
*/ */
class SportsPress_Styles { class SportsPress_Styles {
@@ -43,7 +43,7 @@ class SportsPress_Styles {
*/ */
private function define_constants() { private function define_constants() {
if ( !defined( 'SP_STYLES_VERSION' ) ) if ( !defined( 'SP_STYLES_VERSION' ) )
define( 'SP_STYLES_VERSION', '2.3' ); define( 'SP_STYLES_VERSION', '2.7' );
if ( !defined( 'SP_STYLES_URL' ) ) if ( !defined( 'SP_STYLES_URL' ) )
define( 'SP_STYLES_URL', plugin_dir_url( __FILE__ ) ); define( 'SP_STYLES_URL', plugin_dir_url( __FILE__ ) );

View File

@@ -3,8 +3,8 @@ Contributors: ThemeBoy, brianmiyaji, aylaview, savvasha, nabil_kadimi
Tags: calendars, club, club management, esports, events, fixtures, leagues, league management, sports, sports club, sports data, team rosters Tags: calendars, club, club management, esports, events, fixtures, leagues, league management, sports, sports club, sports data, team rosters
Donate link: http://tboy.co/donate Donate link: http://tboy.co/donate
Requires at least: 3.8 Requires at least: 3.8
Tested up to: 5.2 Tested up to: 5.3
Stable tag: 2.6.20 Stable tag: 2.7
License: GPLv3 License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -240,6 +240,20 @@ When you upgrade to one of the SportsPress Pro licenses, you can simply activate
== Changelog == == Changelog ==
= 2.7 =
* Feature - New bulk actions to postpone and cancel multiple events.
* Feature - Add date of birth to player importer.
* Feature - Automatically select the home team's venue as the default venue when importing fixtures.
* Feature - Add ability to turn on comment for team profiles.
* Feature - Filter league tables by event status.
* Tweak - When an icon is used for player performance, display the icon in player lists and profiles.
* Tweak - Add title attribute for player statistic icons.
* Tweak - Default stylesheet sorting icon width.
* Fix - Icon color picker rendering issue.
* Fix - Image selector not working for player statistics.
* Fix - Enqueue scripts and styles for OpenStreetMap when used in shortcodes.
* Localization - Add translation options for countdown units.
= 2.6.20 = = 2.6.20 =
* Tweak - Improve compatibility with volleyball for checkbox performance. * Tweak - Improve compatibility with volleyball for checkbox performance.
* Preset - Update volleyball preset with additional options. * Preset - Update volleyball preset with additional options.

View File

@@ -3,11 +3,11 @@
* Plugin Name: SportsPress * Plugin Name: SportsPress
* Plugin URI: http://themeboy.com/sportspress/ * Plugin URI: http://themeboy.com/sportspress/
* Description: Manage your club and its players, staff, events, league tables, and player lists. * Description: Manage your club and its players, staff, events, league tables, and player lists.
* Version: 2.6.20 * Version: 2.7
* Author: ThemeBoy * Author: ThemeBoy
* Author URI: http://themeboy.com * Author URI: http://themeboy.com
* Requires at least: 3.8 * Requires at least: 3.8
* Tested up to: 5.2 * Tested up to: 5.3
* *
* Text Domain: sportspress * Text Domain: sportspress
* Domain Path: /languages/ * Domain Path: /languages/
@@ -26,14 +26,14 @@ if ( ! class_exists( 'SportsPress' ) ) :
* Main SportsPress Class * Main SportsPress Class
* *
* @class SportsPress * @class SportsPress
* @version 2.6.20 * @version 2.7
*/ */
final class SportsPress { final class SportsPress {
/** /**
* @var string * @var string
*/ */
public $version = '2.6.20'; public $version = '2.7';
/** /**
* @var SportsPress The single instance of the class * @var SportsPress The single instance of the class

View File

@@ -4,7 +4,7 @@
* *
* @author ThemeBoy * @author ThemeBoy
* @package SportsPress/Templates * @package SportsPress/Templates
* @version 1.9 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

View File

@@ -4,7 +4,7 @@
* *
* @author ThemeBoy * @author ThemeBoy
* @package SportsPress/Templates * @package SportsPress/Templates
* @version 2.5.5 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

View File

@@ -4,7 +4,7 @@
* *
* @author ThemeBoy * @author ThemeBoy
* @package SportsPress/Templates * @package SportsPress/Templates
* @version 2.6.19 * @version 2.7
*/ */
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly