diff --git a/functions.php b/functions.php index 5ac80c87..35cc6064 100644 --- a/functions.php +++ b/functions.php @@ -1,4 +1,94 @@ invert ? '-' : '+') . $this->y, $format); + $format = str_replace('%R%m', + ($this->invert ? '-' : '+') . $this->m, $format); + $format = str_replace('%R%d', + ($this->invert ? '-' : '+') . $this->d, $format); + $format = str_replace('%R%h', + ($this->invert ? '-' : '+') . $this->h, $format); + $format = str_replace('%R%i', + ($this->invert ? '-' : '+') . $this->i, $format); + $format = str_replace('%R%s', + ($this->invert ? '-' : '+') . $this->s, $format); + + $format = str_replace('%y', $this->y, $format); + $format = str_replace('%m', $this->m, $format); + $format = str_replace('%d', $this->d, $format); + $format = str_replace('%h', $this->h, $format); + $format = str_replace('%i', $this->i, $format); + $format = str_replace('%s', $this->s, $format); + + return $format; + } + } + + function date_diff(DateTime $date1, DateTime $date2) { + + $diff = new DateInterval(); + + if($date1 > $date2) { + $tmp = $date1; + $date1 = $date2; + $date2 = $tmp; + $diff->invert = 1; + } else { + $diff->invert = 0; + } + + $diff->y = ((int) $date2->format('Y')) - ((int) $date1->format('Y')); + $diff->m = ((int) $date2->format('n')) - ((int) $date1->format('n')); + if($diff->m < 0) { + $diff->y -= 1; + $diff->m = $diff->m + 12; + } + $diff->d = ((int) $date2->format('j')) - ((int) $date1->format('j')); + if($diff->d < 0) { + $diff->m -= 1; + $diff->d = $diff->d + ((int) $date1->format('t')); + } + $diff->h = ((int) $date2->format('G')) - ((int) $date1->format('G')); + if($diff->h < 0) { + $diff->d -= 1; + $diff->h = $diff->h + 24; + } + $diff->i = ((int) $date2->format('i')) - ((int) $date1->format('i')); + if($diff->i < 0) { + $diff->h -= 1; + $diff->i = $diff->i + 60; + } + $diff->s = ((int) $date2->format('s')) - ((int) $date1->format('s')); + if($diff->s < 0) { + $diff->i -= 1; + $diff->s = $diff->s + 60; + } + + $start_ts = $date1->format('U'); + $end_ts = $date2->format('U'); + $days = $end_ts - $start_ts; + $diff->days = round($days / 86400); + + if (($diff->h > 0 || $diff->i > 0 || $diff->s > 0)) + $diff->days += ((bool) $diff->invert) + ? 1 + : -1; + + return $diff; + } +} + if ( !function_exists( 'sportspress_nonce' ) ) { function sportspress_nonce() { echo ''; diff --git a/readme.txt b/readme.txt index 4d9a3c3e..438a7ee7 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: sports, sports journalism, teams, team management, fixtures, results, stan Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=support@themeboy.com&item_name=Donation+for+SportsPress Requires at least: 3.8 Tested up to: 3.8.1 -Stable tag: 0.4 +Stable tag: 0.4.1 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html diff --git a/sportspress.php b/sportspress.php index 3df21df2..cd90b9c5 100644 --- a/sportspress.php +++ b/sportspress.php @@ -6,7 +6,7 @@ Plugin Name: SportsPress Plugin URI: http://themeboy.com/sportspress Description: Manage your club and its players, staff, events, league tables, and player lists. -Version: 0.4 +Version: 0.4.1 Author: ThemeBoy Author URI: http://themeboy.com/ License: GPLv3 @@ -18,7 +18,7 @@ if ( !function_exists( 'add_action' ) ): exit; endif; -define( 'SPORTSPRESS_VERSION', '0.4' ); +define( 'SPORTSPRESS_VERSION', '0.4.1' ); define( 'SPORTSPRESS_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); define( 'SPORTSPRESS_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); define( 'SPORTSPRESS_PLUGIN_FILE', __FILE__ );