Tag version 2.6-RC1
This commit is contained in:
118
changelog.txt
118
changelog.txt
@@ -1,5 +1,123 @@
|
|||||||
== SportsPress Changelog ==
|
== SportsPress Changelog ==
|
||||||
|
|
||||||
|
= 2.6 =
|
||||||
|
* Feature - Add custom details to events using event specs.
|
||||||
|
* Feature - Conditional equations for variables.
|
||||||
|
* Feature - Display the next opponent in league tables.
|
||||||
|
* Feature - Short name option added to teams.
|
||||||
|
* Feature - Automatic event titles using short name when available.
|
||||||
|
* Feature - Display featured image in countdown widget.
|
||||||
|
* Tweak - Relative date option added to editor shortcodes.
|
||||||
|
* Tweak - Display only current team in player list.
|
||||||
|
* Tweak - Filter players dropdown by current team only.
|
||||||
|
* Tweak - Allow 0 as a squad number when importing players.
|
||||||
|
* Tweak - Prevent filtering through empty results.
|
||||||
|
* Fix - Interpreting non-integer substitution times.
|
||||||
|
* Fix - Warning when sorting terms without order.
|
||||||
|
* Localization - Add WPML support to staff header.
|
||||||
|
* Localization - Fix RTL not being applied in league tables.
|
||||||
|
|
||||||
|
= 2.5.10 =
|
||||||
|
* Fix - Date ranges not being applied to calendars.
|
||||||
|
|
||||||
|
= 2.5.9 =
|
||||||
|
* Fix - Unpublished posts being displayed in some themes.
|
||||||
|
|
||||||
|
= 2.5.8 =
|
||||||
|
* Fix - Display scheduled events using default permalinks via archives and third-party widgets.
|
||||||
|
|
||||||
|
= 2.5.7 =
|
||||||
|
* Fix - Blank general settings screen on WordPress versions prior to 4.9.
|
||||||
|
* Fix - Revert responsive table behavior to prevent display issues on mobile.
|
||||||
|
|
||||||
|
= 2.5.6 =
|
||||||
|
* Tweak - Adjust player-related hooks.
|
||||||
|
* Fix - Turn off responsive tables by default.
|
||||||
|
|
||||||
|
= 2.5.5 =
|
||||||
|
* Feature - Main league and current season settings.
|
||||||
|
* Feature - New shortcode including full staff profile.
|
||||||
|
* Feature - Add code highlighting to custom CSS field.
|
||||||
|
* Feature - Add responsive layout option to tables.
|
||||||
|
* Feature - Add filters to REST API players endpoint.
|
||||||
|
* Feature - Option to merge duplicate teams, players, and staff.
|
||||||
|
* Feature - Option to display specific event in event blocks.
|
||||||
|
* Feature - Option to sort player checklist by name and squad number in events.
|
||||||
|
* Feature - Option to filter player lists by team.
|
||||||
|
* Feature - Option to link staff members.
|
||||||
|
* Feature - Filter countdown by calendar.
|
||||||
|
* Fix - Calculate column totals in box score.
|
||||||
|
* Fix - Mismatched encoding of included library.
|
||||||
|
* Localization - Fix translation function missing around string.
|
||||||
|
|
||||||
|
= 2.5.4 =
|
||||||
|
* Fix - Error when editing league table using older versions of WordPress.
|
||||||
|
|
||||||
|
= 2.5.3 =
|
||||||
|
* Fix - Calendar templates not loading when timezone setting is relative to UTC.
|
||||||
|
|
||||||
|
= 2.5.2 =
|
||||||
|
* Feature - Add match day to REST API.
|
||||||
|
* Tweak - Add order to positions during preset installation.
|
||||||
|
* Tweak - Display links to add new duties and officials if empty.
|
||||||
|
* Tweak - Add linebreaks to substitute dropdowns.
|
||||||
|
* Fix - Use default full time minutes in REST API.
|
||||||
|
* Fix - Uploading custom images as performance icons.
|
||||||
|
* Fix - Displaying timed performance with custom images.
|
||||||
|
|
||||||
|
= 2.5.1 =
|
||||||
|
* Feature - Officials importer.
|
||||||
|
* Feature - Officials added to dashboard glance items.
|
||||||
|
* Feature - Order setting added to staff jobs for custom sorting.
|
||||||
|
* Tweak - Display only the highest order job in staff profiles.
|
||||||
|
* Tweak - Require box score importer to be accessed from within an event.
|
||||||
|
* Tweak - Add hook to declare importable post types.
|
||||||
|
* Fix - Officials meta box in events when module is inactive.
|
||||||
|
* Fix - Issues when timezone is not set.
|
||||||
|
|
||||||
|
= 2.5 =
|
||||||
|
* Feature - Player of the match and star numbers added to box scores.
|
||||||
|
* Feature - Officials module for displaying referee appointments in matches.
|
||||||
|
* Feature - New player performance icons to choose from.
|
||||||
|
* Feature - Schema microdata added to event calendars, lists, and blocks.
|
||||||
|
* Feature - Box score importer for updating existing events.
|
||||||
|
* Feature - Order setting added to taxonomies for custom sorting.
|
||||||
|
* Feature - New relative date range options in event calendars.
|
||||||
|
* Feature - Date range options added to league tables and player lists.
|
||||||
|
* Feature - Option to hide players with zero statistics in player list.
|
||||||
|
* Tweak - Allow staff members to have multiple jobs.
|
||||||
|
* Tweak - Indicator dots added to calendars with events in frontend stylesheet.
|
||||||
|
* Tweak - Box score columns are now selected by default when adding new events.
|
||||||
|
* Tweak - Events made sortable by match day in admin.
|
||||||
|
* Tweak - Competitions renamed to leagues.
|
||||||
|
* Fix - Quick edit teams not showing when filtering players by team.
|
||||||
|
* Fix - Calendar feeds not updating without E-tag.
|
||||||
|
* Fix - Admin table cells wrapping.
|
||||||
|
* Fix - Timezone issues in calendars.
|
||||||
|
|
||||||
|
= 2.4.3 =
|
||||||
|
* Fix - Substitute Typo.
|
||||||
|
* Fix - WordPay image trailing slash.
|
||||||
|
|
||||||
|
= 2.4.2 =
|
||||||
|
* Feature - Add visibility option to player metrics.
|
||||||
|
* Fix - Remove protocol from default Gravatar images to prevent mix content warnings.
|
||||||
|
|
||||||
|
= 2.4.1 =
|
||||||
|
* Fix - Static function displaying notice in header.
|
||||||
|
|
||||||
|
= 2.4 =
|
||||||
|
* Feature - Integration with WordPay to allow paid team and player registrations.
|
||||||
|
* Feature - New team gallery shortcode and widget for displaying a gallery of team logos.
|
||||||
|
* Feature - Added support for player career totals based on calculated averages.
|
||||||
|
* Tweak - Allow competitions to be selected for friendly matches.
|
||||||
|
* Tweak - Added columns selector to gallery shortcodes.
|
||||||
|
* Fix - Full time defaulting to 90 minutes.
|
||||||
|
* Fix - Statistic format not reflected in meta box.
|
||||||
|
* Fix - Shortcode button hook timing conflicts.
|
||||||
|
* Preset - Swap par and score in golf preset.
|
||||||
|
* Preset - Update all presets to reflect new career total type.
|
||||||
|
|
||||||
= 2.3.2 =
|
= 2.3.2 =
|
||||||
* Fix - Team in player statistics total row displaying as zero.
|
* Fix - Team in player statistics total row displaying as zero.
|
||||||
* Fix - Notice when no sendoffs are available during minutes played calculation.
|
* Fix - Notice when no sendoffs are available during minutes played calculation.
|
||||||
|
|||||||
@@ -6,10 +6,10 @@
|
|||||||
*
|
*
|
||||||
* Adapted from code in EDD (Copyright (c) 2012, Pippin Williamson) and WP.
|
* Adapted from code in EDD (Copyright (c) 2012, Pippin Williamson) and WP.
|
||||||
*
|
*
|
||||||
* @author ThemeBoy
|
* @author ThemeBoy
|
||||||
* @category Admin
|
* @category Admin
|
||||||
* @package SportsPress/Admin
|
* @package SportsPress/Admin
|
||||||
* @version 2.5
|
* @version 2.6
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||||
@@ -19,412 +19,394 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|||||||
*/
|
*/
|
||||||
class SP_Admin_Welcome {
|
class SP_Admin_Welcome {
|
||||||
|
|
||||||
private $plugin;
|
private $plugin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* __construct function.
|
* __construct function.
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->plugin = 'sportspress/sportspress.php';
|
$this->plugin = 'sportspress/sportspress.php';
|
||||||
|
|
||||||
add_action( 'admin_menu', array( $this, 'admin_menus') );
|
add_action( 'admin_menu', array( $this, 'admin_menus') );
|
||||||
add_action( 'admin_head', array( $this, 'admin_head' ) );
|
add_action( 'admin_head', array( $this, 'admin_head' ) );
|
||||||
add_action( 'admin_init', array( $this, 'welcome' ) );
|
add_action( 'admin_init', array( $this, 'welcome' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add admin menus/screens
|
* Add admin menus/screens
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function admin_menus() {
|
public function admin_menus() {
|
||||||
if ( empty( $_GET['page'] ) ) {
|
if ( empty( $_GET['page'] ) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$welcome_page_name = __( 'About SportsPress', 'sportspress' );
|
$welcome_page_name = __( 'About SportsPress', 'sportspress' );
|
||||||
$welcome_page_title = __( 'Welcome to SportsPress', 'sportspress' );
|
$welcome_page_title = __( 'Welcome to SportsPress', 'sportspress' );
|
||||||
|
|
||||||
switch ( $_GET['page'] ) {
|
switch ( $_GET['page'] ) {
|
||||||
case 'sp-about' :
|
case 'sp-about' :
|
||||||
$page = add_dashboard_page( $welcome_page_title, $welcome_page_name, 'manage_options', 'sp-about', array( $this, 'about_screen' ) );
|
$page = add_dashboard_page( $welcome_page_title, $welcome_page_name, 'manage_options', 'sp-about', array( $this, 'about_screen' ) );
|
||||||
add_action( 'admin_print_styles-'. $page, array( $this, 'admin_css' ) );
|
add_action( 'admin_print_styles-'. $page, array( $this, 'admin_css' ) );
|
||||||
break;
|
break;
|
||||||
case 'sp-credits' :
|
case 'sp-credits' :
|
||||||
$page = add_dashboard_page( $welcome_page_title, $welcome_page_name, 'manage_options', 'sp-credits', array( $this, 'credits_screen' ) );
|
$page = add_dashboard_page( $welcome_page_title, $welcome_page_name, 'manage_options', 'sp-credits', array( $this, 'credits_screen' ) );
|
||||||
add_action( 'admin_print_styles-'. $page, array( $this, 'admin_css' ) );
|
add_action( 'admin_print_styles-'. $page, array( $this, 'admin_css' ) );
|
||||||
break;
|
break;
|
||||||
case 'sp-translators' :
|
case 'sp-translators' :
|
||||||
$page = add_dashboard_page( $welcome_page_title, $welcome_page_name, 'manage_options', 'sp-translators', array( $this, 'translators_screen' ) );
|
$page = add_dashboard_page( $welcome_page_title, $welcome_page_name, 'manage_options', 'sp-translators', array( $this, 'translators_screen' ) );
|
||||||
add_action( 'admin_print_styles-'. $page, array( $this, 'admin_css' ) );
|
add_action( 'admin_print_styles-'. $page, array( $this, 'admin_css' ) );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* admin_css function.
|
* admin_css function.
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function admin_css() {
|
public function admin_css() {
|
||||||
wp_enqueue_style( 'sportspress-activation', plugins_url( '/assets/css/activation.css', SP_PLUGIN_FILE ), array(), SP_VERSION );
|
wp_enqueue_style( 'sportspress-activation', plugins_url( '/assets/css/activation.css', SP_PLUGIN_FILE ), array(), SP_VERSION );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add styles just for this page, and remove dashboard page links.
|
* Add styles just for this page, and remove dashboard page links.
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function admin_head() {
|
public function admin_head() {
|
||||||
remove_submenu_page( 'index.php', 'sp-about' );
|
remove_submenu_page( 'index.php', 'sp-about' );
|
||||||
remove_submenu_page( 'index.php', 'sp-credits' );
|
remove_submenu_page( 'index.php', 'sp-credits' );
|
||||||
remove_submenu_page( 'index.php', 'sp-translators' );
|
remove_submenu_page( 'index.php', 'sp-translators' );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Into text/links shown on all about pages.
|
* Into text/links shown on all about pages.
|
||||||
*
|
*
|
||||||
* @access private
|
* @access private
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function intro() {
|
private function intro() {
|
||||||
|
|
||||||
// Flush after upgrades
|
// Flush after upgrades
|
||||||
if ( ! empty( $_GET['sp-updated'] ) || ! empty( $_GET['sp-installed'] ) )
|
if ( ! empty( $_GET['sp-updated'] ) || ! empty( $_GET['sp-installed'] ) )
|
||||||
flush_rewrite_rules();
|
flush_rewrite_rules();
|
||||||
|
|
||||||
// Get major version number
|
// Get major version number
|
||||||
$version = explode( '.', SP()->version, 3 );
|
$version = explode( '.', SP()->version, 3 );
|
||||||
unset( $version[2] );
|
unset( $version[2] );
|
||||||
$display_version = implode( '.', $version );
|
$display_version = implode( '.', $version );
|
||||||
?>
|
?>
|
||||||
<h1 class="sp-welcome-logo"><?php echo apply_filters( 'sportspress_logo', '<img src="' . plugin_dir_url( SP_PLUGIN_FILE ) . 'assets/images/welcome/sportspress' . ( class_exists( 'SportsPress_Pro' ) ? '-pro' : '' ) . '.png" alt="' . __( 'SportsPress', 'sportspress' ) . '">' ); ?></h1>
|
<h1 class="sp-welcome-logo"><?php echo apply_filters( 'sportspress_logo', '<img src="' . plugin_dir_url( SP_PLUGIN_FILE ) . 'assets/images/welcome/sportspress' . ( class_exists( 'SportsPress_Pro' ) ? '-pro' : '' ) . '.png" alt="' . __( 'SportsPress', 'sportspress' ) . '">' ); ?></h1>
|
||||||
|
|
||||||
<div class="sp-badge"><?php printf( __( 'Version %s', 'sportspress' ), SP()->version ); ?></div>
|
<div class="sp-badge"><?php printf( __( 'Version %s', 'sportspress' ), SP()->version ); ?></div>
|
||||||
|
|
||||||
<div class="about-text sp-about-text">
|
<div class="about-text sp-about-text">
|
||||||
<?php
|
<?php
|
||||||
if ( ! empty( $_GET['sp-installed'] ) )
|
if ( ! empty( $_GET['sp-installed'] ) )
|
||||||
$message = __( 'Thanks, all done!', 'sportspress' );
|
$message = __( 'Thanks, all done!', 'sportspress' );
|
||||||
elseif ( ! empty( $_GET['sp-updated'] ) )
|
elseif ( ! empty( $_GET['sp-updated'] ) )
|
||||||
$message = __( 'Thank you for updating to the latest version!', 'sportspress' );
|
$message = __( 'Thank you for updating to the latest version!', 'sportspress' );
|
||||||
else
|
else
|
||||||
$message = __( 'Thanks for installing!', 'sportspress' );
|
$message = __( 'Thanks for installing!', 'sportspress' );
|
||||||
|
|
||||||
printf( __( '%s SportsPress %s has lots of refinements we think you’ll love.', 'sportspress' ), $message, $display_version );
|
printf( __( '%s SportsPress %s has lots of refinements we think you’ll love.', 'sportspress' ), $message, $display_version );
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="sportspress-actions">
|
<p class="sportspress-actions">
|
||||||
<a href="<?php echo admin_url( add_query_arg( array( 'page' => 'sportspress', 'tab' => 'general' ), 'admin.php' ) ); ?>" class="button button-primary"><?php _e( 'Settings', 'sportspress' ); ?></a>
|
<a href="<?php echo admin_url( add_query_arg( array( 'page' => 'sportspress', 'tab' => 'general' ), 'admin.php' ) ); ?>" class="button button-primary"><?php _e( 'Settings', 'sportspress' ); ?></a>
|
||||||
<a href="<?php echo esc_url( apply_filters( 'sportspress_docs_url', 'http://tboy.co/docs', 'sportspress' ) ); ?>" class="docs button button-primary"><?php _e( 'Docs', 'sportspress' ); ?></a>
|
<a href="<?php echo esc_url( apply_filters( 'sportspress_docs_url', 'http://tboy.co/docs', 'sportspress' ) ); ?>" class="docs button button-primary"><?php _e( 'Docs', 'sportspress' ); ?></a>
|
||||||
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://wordpress.org/plugins/sportspress" data-text="An open-source (free) #WordPress plugin that helps you build professional league websites" data-via="ThemeBoy" data-size="large" data-hashtags="SportsPress">Tweet</a>
|
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://wordpress.org/plugins/sportspress" data-text="An open-source (free) #WordPress plugin that helps you build professional league websites" data-via="ThemeBoy" data-size="large" data-hashtags="SportsPress">Tweet</a>
|
||||||
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2 class="nav-tab-wrapper">
|
<h2 class="nav-tab-wrapper">
|
||||||
<a class="nav-tab <?php if ( $_GET['page'] == 'sp-about' ) echo 'nav-tab-active'; ?>" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sp-about' ), 'index.php' ) ) ); ?>">
|
<a class="nav-tab <?php if ( $_GET['page'] == 'sp-about' ) echo 'nav-tab-active'; ?>" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sp-about' ), 'index.php' ) ) ); ?>">
|
||||||
<?php _e( 'Welcome', 'sportspress' ); ?>
|
<?php _e( 'Welcome', 'sportspress' ); ?>
|
||||||
</a><a class="nav-tab <?php if ( $_GET['page'] == 'sp-credits' ) echo 'nav-tab-active'; ?>" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sp-credits' ), 'index.php' ) ) ); ?>">
|
</a><a class="nav-tab <?php if ( $_GET['page'] == 'sp-credits' ) echo 'nav-tab-active'; ?>" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sp-credits' ), 'index.php' ) ) ); ?>">
|
||||||
<?php _e( 'Credits', 'sportspress' ); ?>
|
<?php _e( 'Credits', 'sportspress' ); ?>
|
||||||
</a><a class="nav-tab <?php if ( $_GET['page'] == 'sp-translators' ) echo 'nav-tab-active'; ?>" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sp-translators' ), 'index.php' ) ) ); ?>">
|
</a><a class="nav-tab <?php if ( $_GET['page'] == 'sp-translators' ) echo 'nav-tab-active'; ?>" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sp-translators' ), 'index.php' ) ) ); ?>">
|
||||||
<?php _e( 'Translators', 'sportspress' ); ?>
|
<?php _e( 'Translators', 'sportspress' ); ?>
|
||||||
</a>
|
</a>
|
||||||
</h2>
|
</h2>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Output the about screen.
|
* Output the about screen.
|
||||||
*/
|
*/
|
||||||
public function about_screen() {
|
public function about_screen() {
|
||||||
include_once( 'class-sp-admin-settings.php' );
|
include_once( 'class-sp-admin-settings.php' );
|
||||||
$class = 'chosen-select' . ( is_rtl() ? ' chosen-rtl' : '' );
|
$class = 'chosen-select' . ( is_rtl() ? ' chosen-rtl' : '' );
|
||||||
?>
|
?>
|
||||||
<div class="wrap about-wrap about-sportspress-wrap">
|
<div class="wrap about-wrap about-sportspress-wrap">
|
||||||
|
|
||||||
<?php $this->intro(); ?>
|
<?php $this->intro(); ?>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// Save settings
|
// Save settings
|
||||||
if ( isset( $_POST['timezone_string'] ) ):
|
if ( isset( $_POST['timezone_string'] ) ):
|
||||||
update_option( 'timezone_string', $_POST['timezone_string'] );
|
update_option( 'timezone_string', $_POST['timezone_string'] );
|
||||||
update_option( 'sportspress_basic_setup', 1 );
|
update_option( 'sportspress_basic_setup', 1 );
|
||||||
endif;
|
endif;
|
||||||
if ( isset( $_POST['sportspress_sport'] ) && ! empty( $_POST['sportspress_sport'] ) ):
|
if ( isset( $_POST['sportspress_sport'] ) && ! empty( $_POST['sportspress_sport'] ) ):
|
||||||
$sport = $_POST['sportspress_sport'];
|
$sport = $_POST['sportspress_sport'];
|
||||||
SP_Admin_Sports::apply_preset( $sport );
|
SP_Admin_Sports::apply_preset( $sport );
|
||||||
update_option( 'sportspress_sport', $_POST['sportspress_sport'] );
|
update_option( 'sportspress_sport', $_POST['sportspress_sport'] );
|
||||||
delete_option( '_sp_needs_welcome' );
|
delete_option( '_sp_needs_welcome' );
|
||||||
update_option( 'sportspress_installed', 1 );
|
update_option( 'sportspress_installed', 1 );
|
||||||
?>
|
?>
|
||||||
<div id="message" class="updated sportspress-message">
|
<div id="message" class="updated sportspress-message">
|
||||||
<p><strong><?php _e( 'Your settings have been saved.', 'sportspress' ); ?></strong></p>
|
<p><strong><?php _e( 'Your settings have been saved.', 'sportspress' ); ?></strong></p>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
endif;
|
endif;
|
||||||
if ( isset( $_POST['add_sample_data'] ) ):
|
if ( isset( $_POST['add_sample_data'] ) ):
|
||||||
SP_Admin_Sample_Data::delete_posts();
|
SP_Admin_Sample_Data::delete_posts();
|
||||||
SP_Admin_Sample_Data::insert_posts();
|
SP_Admin_Sample_Data::insert_posts();
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
do_action( 'sportspress_before_welcome_features' );
|
do_action( 'sportspress_before_welcome_features' );
|
||||||
?>
|
?>
|
||||||
<div class="feature-section one-col">
|
<div class="feature-section one-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h2>New Features 🌟</h2>
|
<h2>New Features 🌟</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="feature-section two-col">
|
<div class="feature-section two-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<img src="<?php echo plugin_dir_url( SP_PLUGIN_FILE ); ?>assets/images/welcome/screenshot-officials.png" alt="Officials Module">
|
<h3>Conditional Equations</h3>
|
||||||
<h3>Officials Module</h3>
|
<p></p>
|
||||||
<p>Manage referees, umpires, judges, timekeepers, and other officials. Don't forget to enable the <strong>Officials</strong> module from <a href="<?php echo add_query_arg( array( 'page' => 'sportspress' ), admin_url( 'admin.php' ) ); ?>">SportsPress Settings</a> to start using this feature.</p>
|
</div>
|
||||||
</div>
|
<div class="col">
|
||||||
<div class="col">
|
<h3>Event Specs</h3>
|
||||||
<img src="<?php echo plugin_dir_url( SP_PLUGIN_FILE ); ?>assets/images/welcome/screenshot-awards.png" alt="Player of the Match">
|
<p></p>
|
||||||
<h3>Player of the Match</h3>
|
</div>
|
||||||
<p>Select player(s) or a star number for certain players in events. Stars can be displayed as icons or with a number. To enable this feature, choose an <strong>Awards</strong> type from the <strong>Box Score</strong> section in <a href="<?php echo add_query_arg( array( 'page' => 'sportspress' ), admin_url( 'admin.php' ) ); ?>">Event Settings</a>.</p>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="feature-section two-col">
|
<div class="feature-section two-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<img src="<?php echo plugin_dir_url( SP_PLUGIN_FILE ); ?>assets/images/welcome/screenshot-event-performance-importer.png" alt="Box Score Importer">
|
<h3>Countdown Images</h3>
|
||||||
<h3>Box Score Importer</h3>
|
<p></p>
|
||||||
<p>A new importer has been added to each event. Upload a CSV file and instantly update the player performance for the selected team.</p>
|
</div>
|
||||||
</div>
|
<div class="col">
|
||||||
<div class="col">
|
<h3>Next Team Column</h3>
|
||||||
<img src="<?php echo plugin_dir_url( SP_PLUGIN_FILE ); ?>assets/images/welcome/screenshot-performance-icons.png" alt="New Performance Icons">
|
<p><p>
|
||||||
<h3>New Performance Icons</h3>
|
</div>
|
||||||
<p>A set of new icons have been added to <strong>Player Performance</strong>, giving you more options to choose from.<p>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php if ( ! class_exists( 'SportsPress_Pro' ) ) { ?>
|
<?php if ( ! class_exists( 'SportsPress_Pro' ) ) { ?>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div class="feature-section one-col">
|
<div class="feature-section one-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h2>SportsPress Pro Updates 🏆</h2>
|
<h2>SportsPress Pro Updates 🏆</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="feature-section two-col">
|
<div class="feature-section two-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<img src="<?php echo plugin_dir_url( SP_PLUGIN_FILE ); ?>assets/images/welcome/screenshot-group-stages.png" alt="Tournament Group Stages">
|
<h3>Results Matrix</h3>
|
||||||
<h3>Tournament Group Stages</h3>
|
<p></p>
|
||||||
<p>Support for group stages have been added natively to tournaments, allowing you to create and attach league tables to be displayed directly below tournament brackets.</p>
|
</div>
|
||||||
</div>
|
<div class="col">
|
||||||
<div class="col">
|
<h3>Vertical Timelines</h3>
|
||||||
<img src="<?php echo plugin_dir_url( SP_PLUGIN_FILE ); ?>assets/images/welcome/screenshot-sponsor-levels.png" alt="Sponsorship Levels">
|
<p><p>
|
||||||
<h3>Sponsorship Levels</h3>
|
</div>
|
||||||
<p>Assign levels to sponsors based on their contribution or other factors. Sponsors can now be filtered based on their sponsorship level within widgets, allowing for level-specific sponsor treament.<p>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a class="button button-primary button-hero" href="<?php echo esc_url( apply_filters( 'sportspress_pro_url', 'http://tboy.co/pro' ) ); ?>"><?php _e( 'Upgrade to Pro', 'sportspress' ); ?></a>
|
<a class="button button-primary button-hero" href="<?php echo esc_url( apply_filters( 'sportspress_pro_url', 'http://tboy.co/pro' ) ); ?>"><?php _e( 'Upgrade to Pro', 'sportspress' ); ?></a>
|
||||||
|
|
||||||
<p><?php _e( 'Get SportsPress Pro to get access to all modules. You can upgrade any time without losing any of your data.','sportspress' ); ?></p>
|
<p><?php _e( 'Get SportsPress Pro to get access to all modules. You can upgrade any time without losing any of your data.','sportspress' ); ?></p>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div class="feature-section one-col">
|
<div class="feature-section one-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h2>Improved Usability and Control</h2>
|
<h2>Data Accuracy and Flexibility</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="feature-section three-col">
|
<div class="feature-section three-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3>Custom Taxonomy Order</h3>
|
<h3>Relative Date in Shortcodes</h3>
|
||||||
<p>A new setting has been added to leagues, seasons, and positions, allowing you to define a customer order of terms.</p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3>Filtering Player Lists</h3>
|
<h3>Current Team in Player Lists</h3>
|
||||||
<p>Player lists can now be configured to skip players that don't have a particular statistic, allowing you to create more specific lists.</p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3>Multiple Jobs</h3>
|
<h3>Squad Number Zero</h3>
|
||||||
<p>Staff members can now be assigned multiple jobs, which are displayed consecutively in their profiles.</p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
</div>
|
||||||
<h3>Event Calendar Indicators</h3>
|
|
||||||
<p>With the frontend stylesheet enabled, days with events will now be displayed with a filled circle to indicate an event on that day.</p>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<h3>Relative Ranges</h3>
|
|
||||||
<p>Additional options now allow you to select events within a particular range, from last week, next week, yesterday, or tomorrow.</p>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<h3>Sort by Match Day</h3>
|
|
||||||
<p>Use the columns in the admin to sort events by match day. A search bar has also been added to filter events by match day.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div class="feature-section one-col">
|
<div class="feature-section one-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h2>Other Notes</h2>
|
<h2>Other Notes</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="feature-section three-col">
|
<div class="feature-section three-col">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3>Schema Microdata</h3>
|
<h3>Short Names</h3>
|
||||||
<p>We've complied with schema.org's microdata formats by adding these attributes to event calendars, blocks, and lists throughout.</p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3>Competitions Are Now Leagues</h3>
|
<h3>Calculating Substitution Time</h3>
|
||||||
<p>The competitions taxonomy has been renamed to leagues, which still work in the exact same way.</p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3>Calendar Caching</h3>
|
<h3>Localization Improvements</h3>
|
||||||
<p>To prevent event calendars from caching in third-party apps, an E-Tag header has been added to these feeds.</p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php do_action( 'sportspress_after_welcome_features' ); ?>
|
<?php do_action( 'sportspress_after_welcome_features' ); ?>
|
||||||
|
|
||||||
<a href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sportspress', 'tab' => 'general' ), 'admin.php' ) ) ); ?>"><?php _e( 'Go to SportsPress Settings', 'sportspress' ); ?></a>
|
<a href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sportspress', 'tab' => 'general' ), 'admin.php' ) ) ); ?>"><?php _e( 'Go to SportsPress Settings', 'sportspress' ); ?></a>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Output the credits.
|
* Output the credits.
|
||||||
*/
|
*/
|
||||||
public function credits_screen() {
|
public function credits_screen() {
|
||||||
?>
|
?>
|
||||||
<div class="wrap about-wrap about-sportspress-wrap">
|
<div class="wrap about-wrap about-sportspress-wrap">
|
||||||
<?php $this->intro(); ?>
|
<?php $this->intro(); ?>
|
||||||
|
|
||||||
<p class="about-description"><?php printf( __( 'SportsPress is developed and maintained by a worldwide team of passionate individuals and backed by an awesome developer community. Want to see your name? <a href="%s">Contribute to SportsPress</a>.', 'sportspress' ), 'https://github.com/ThemeBoy/SportsPress/blob/master/CONTRIBUTING.md' ); ?></p>
|
<p class="about-description"><?php printf( __( 'SportsPress is developed and maintained by a worldwide team of passionate individuals and backed by an awesome developer community. Want to see your name? <a href="%s">Contribute to SportsPress</a>.', 'sportspress' ), 'https://github.com/ThemeBoy/SportsPress/blob/master/CONTRIBUTING.md' ); ?></p>
|
||||||
|
|
||||||
<div class="sp-feature feature-section col one-col">
|
<div class="sp-feature feature-section col one-col">
|
||||||
<?php echo $this->contributors(); ?>
|
<?php echo $this->contributors(); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Output the translators screen
|
* Output the translators screen
|
||||||
*/
|
*/
|
||||||
public function translators_screen() {
|
public function translators_screen() {
|
||||||
?>
|
?>
|
||||||
<div class="wrap about-wrap about-sportspress-wrap">
|
<div class="wrap about-wrap about-sportspress-wrap">
|
||||||
|
|
||||||
<?php $this->intro(); ?>
|
<?php $this->intro(); ?>
|
||||||
|
|
||||||
<p class="about-description"><?php printf( __( 'SportsPress has been kindly translated into several other languages thanks to our translation team. Want to see your name? <a href="%s">Translate SportsPress</a>.', 'sportspress' ), 'https://translate.wordpress.org/projects/wp-plugins/sportspress' ); ?></p>
|
<p class="about-description"><?php printf( __( 'SportsPress has been kindly translated into several other languages thanks to our translation team. Want to see your name? <a href="%s">Translate SportsPress</a>.', 'sportspress' ), 'https://translate.wordpress.org/projects/wp-plugins/sportspress' ); ?></p>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render Contributors List
|
* Render Contributors List
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @return string $contributor_list HTML formatted list of contributors.
|
* @return string $contributor_list HTML formatted list of contributors.
|
||||||
*/
|
*/
|
||||||
public function contributors() {
|
public function contributors() {
|
||||||
$contributors = $this->get_contributors();
|
$contributors = $this->get_contributors();
|
||||||
|
|
||||||
if ( empty( $contributors ) ) {
|
if ( empty( $contributors ) ) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$contributor_list = '<ul class="wp-people-group">';
|
$contributor_list = '<ul class="wp-people-group">';
|
||||||
|
|
||||||
foreach ( $contributors as $contributor ) {
|
foreach ( $contributors as $contributor ) {
|
||||||
$contributor_list .= '<li class="wp-person">';
|
$contributor_list .= '<li class="wp-person">';
|
||||||
$contributor_list .= sprintf( '<a href="%s" title="%s">',
|
$contributor_list .= sprintf( '<a href="%s" title="%s">',
|
||||||
esc_url( 'https://github.com/' . $contributor->login ),
|
esc_url( 'https://github.com/' . $contributor->login ),
|
||||||
esc_html( sprintf( __( 'View %s', 'sportspress' ), $contributor->login ) )
|
esc_html( sprintf( __( 'View %s', 'sportspress' ), $contributor->login ) )
|
||||||
);
|
);
|
||||||
$contributor_list .= sprintf( '<img src="%s" width="64" height="64" class="gravatar" alt="%s" />', esc_url( $contributor->avatar_url ), esc_html( $contributor->login ) );
|
$contributor_list .= sprintf( '<img src="%s" width="64" height="64" class="gravatar" alt="%s" />', esc_url( $contributor->avatar_url ), esc_html( $contributor->login ) );
|
||||||
$contributor_list .= '</a>';
|
$contributor_list .= '</a>';
|
||||||
$contributor_list .= sprintf( '<a class="web" href="%s">%s</a>', esc_url( 'https://github.com/' . $contributor->login ), esc_html( $contributor->login ) );
|
$contributor_list .= sprintf( '<a class="web" href="%s">%s</a>', esc_url( 'https://github.com/' . $contributor->login ), esc_html( $contributor->login ) );
|
||||||
$contributor_list .= '</a>';
|
$contributor_list .= '</a>';
|
||||||
$contributor_list .= '</li>';
|
$contributor_list .= '</li>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$contributor_list .= '</ul>';
|
$contributor_list .= '</ul>';
|
||||||
|
|
||||||
return $contributor_list;
|
return $contributor_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve list of contributors from GitHub.
|
* Retrieve list of contributors from GitHub.
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function get_contributors() {
|
public function get_contributors() {
|
||||||
$contributors = get_transient( 'sportspress_contributors' );
|
$contributors = get_transient( 'sportspress_contributors' );
|
||||||
|
|
||||||
if ( false !== $contributors ) {
|
if ( false !== $contributors ) {
|
||||||
return $contributors;
|
return $contributors;
|
||||||
}
|
}
|
||||||
|
|
||||||
$response = wp_remote_get( 'https://api.github.com/repos/ThemeBoy/SportsPress/contributors', array( 'sslverify' => false ) );
|
$response = wp_remote_get( 'https://api.github.com/repos/ThemeBoy/SportsPress/contributors', array( 'sslverify' => false ) );
|
||||||
|
|
||||||
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
|
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
$contributors = json_decode( wp_remote_retrieve_body( $response ) );
|
$contributors = json_decode( wp_remote_retrieve_body( $response ) );
|
||||||
|
|
||||||
if ( ! is_array( $contributors ) ) {
|
if ( ! is_array( $contributors ) ) {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
set_transient( 'sportspress_contributors', $contributors, HOUR_IN_SECONDS );
|
set_transient( 'sportspress_contributors', $contributors, HOUR_IN_SECONDS );
|
||||||
|
|
||||||
return $contributors;
|
return $contributors;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends user to the welcome page on first activation
|
* Sends user to the welcome page on first activation
|
||||||
*/
|
*/
|
||||||
public function welcome() {
|
public function welcome() {
|
||||||
|
|
||||||
// Bail if no activation redirect transient is set
|
// Bail if no activation redirect transient is set
|
||||||
if ( ! get_transient( '_sp_activation_redirect' ) )
|
if ( ! get_transient( '_sp_activation_redirect' ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Delete the redirect transient
|
// Delete the redirect transient
|
||||||
delete_transient( '_sp_activation_redirect' );
|
delete_transient( '_sp_activation_redirect' );
|
||||||
|
|
||||||
// Bail if we are waiting to install or update via the interface update/install links
|
// Bail if we are waiting to install or update via the interface update/install links
|
||||||
if ( get_option( '_sp_needs_update' ) == 1 || get_option( '_sp_needs_pages' ) == 1 )
|
if ( get_option( '_sp_needs_update' ) == 1 || get_option( '_sp_needs_pages' ) == 1 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Bail if activating from network, or bulk, or within an iFrame
|
// Bail if activating from network, or bulk, or within an iFrame
|
||||||
if ( is_network_admin() || isset( $_GET['activate-multi'] ) || defined( 'IFRAME_REQUEST' ) )
|
if ( is_network_admin() || isset( $_GET['activate-multi'] ) || defined( 'IFRAME_REQUEST' ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( ( isset( $_GET['action'] ) && 'upgrade-plugin' == $_GET['action'] ) && ( isset( $_GET['plugin'] ) && strstr( $_GET['plugin'], 'sportspress.php' ) ) )
|
if ( ( isset( $_GET['action'] ) && 'upgrade-plugin' == $_GET['action'] ) && ( isset( $_GET['plugin'] ) && strstr( $_GET['plugin'], 'sportspress.php' ) ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( ! get_option( 'sportspress_completed_setup' ) ) {
|
if ( ! get_option( 'sportspress_completed_setup' ) ) {
|
||||||
wp_redirect( admin_url( 'admin.php?page=sp-setup' ) );
|
wp_redirect( admin_url( 'admin.php?page=sp-setup' ) );
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
wp_redirect( admin_url( 'index.php?page=sp-about' ) );
|
wp_redirect( admin_url( 'index.php?page=sp-about' ) );
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
new SP_Admin_Welcome();
|
new SP_Admin_Welcome();
|
||||||
|
|||||||
19
readme.txt
19
readme.txt
@@ -4,7 +4,7 @@ Tags: calendars, club, club management, esports, events, fixtures, leagues, leag
|
|||||||
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: 4.9
|
Tested up to: 4.9
|
||||||
Stable tag: 2.5.10
|
Stable tag: 2.6-RC1
|
||||||
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
|
||||||
|
|
||||||
@@ -237,6 +237,23 @@ When you upgrade to one of the SportsPress Pro licenses, you can simply activate
|
|||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
|
= 2.6 =
|
||||||
|
* Feature - Add custom details to events using event specs.
|
||||||
|
* Feature - Conditional equations for variables.
|
||||||
|
* Feature - Display the next opponent in league tables.
|
||||||
|
* Feature - Short name option added to teams.
|
||||||
|
* Feature - Automatic event titles using short name when available.
|
||||||
|
* Feature - Display featured image in countdown widget.
|
||||||
|
* Tweak - Relative date option added to editor shortcodes.
|
||||||
|
* Tweak - Display only current team in player list.
|
||||||
|
* Tweak - Filter players dropdown by current team only.
|
||||||
|
* Tweak - Allow 0 as a squad number when importing players.
|
||||||
|
* Tweak - Prevent filtering through empty results.
|
||||||
|
* Fix - Interpreting non-integer substitution times.
|
||||||
|
* Fix - Warning when sorting terms without order.
|
||||||
|
* Localization - Add WPML support to staff header.
|
||||||
|
* Localization - Fix RTL not being applied in league tables.
|
||||||
|
|
||||||
= 2.5.10 =
|
= 2.5.10 =
|
||||||
* Fix - Date ranges not being applied to calendars.
|
* Fix - Date ranges not being applied to calendars.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* 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.5.10
|
* Version: 2.6-RC1
|
||||||
* Author: ThemeBoy
|
* Author: ThemeBoy
|
||||||
* Author URI: http://themeboy.com
|
* Author URI: http://themeboy.com
|
||||||
* Requires at least: 3.8
|
* Requires at least: 3.8
|
||||||
@@ -26,14 +26,14 @@ if ( ! class_exists( 'SportsPress' ) ) :
|
|||||||
* Main SportsPress Class
|
* Main SportsPress Class
|
||||||
*
|
*
|
||||||
* @class SportsPress
|
* @class SportsPress
|
||||||
* @version 2.5.10
|
* @version 2.6-RC1
|
||||||
*/
|
*/
|
||||||
final class SportsPress {
|
final class SportsPress {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $version = '2.5.10';
|
public $version = '2.6-RC1';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var SportsPress The single instance of the class
|
* @var SportsPress The single instance of the class
|
||||||
|
|||||||
Reference in New Issue
Block a user