Add date_diff fallback for PHP < 5.3
This commit is contained in:
99
lib/fallbacks/date-diff.php
Normal file
99
lib/fallbacks/date-diff.php
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* A basic date_diff for PHP 5.2
|
||||||
|
*
|
||||||
|
* @author Michael Oldroyd <http://www.michaeloldroyd.co.uk/>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
if(!function_exists('date_diff')) {
|
||||||
|
class DateInterval {
|
||||||
|
public $y;
|
||||||
|
public $m;
|
||||||
|
public $d;
|
||||||
|
public $h;
|
||||||
|
public $i;
|
||||||
|
public $s;
|
||||||
|
public $invert;
|
||||||
|
public $days;
|
||||||
|
|
||||||
|
public function format($format) {
|
||||||
|
$format = str_replace('%R%y',
|
||||||
|
($this->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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
=== SportsPress - automated league statistics ===
|
=== SportsPress - automated league statistics ===
|
||||||
Contributors: themeboy
|
Contributors: ThemeBoy, aylaview, jenszackrisson
|
||||||
Tags: sports, sports journalism, teams, team management, fixtures, results, standings, league tables, leagues, reporting, themeboy, wordpress sports, configurable
|
Tags: sports, sports journalism, teams, team management, fixtures, results, standings, league tables, leagues, reporting, themeboy, wordpress sports, configurable
|
||||||
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=support@themeboy.com&item_name=Donation+for+SportsPress
|
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
|
Requires at least: 3.8
|
||||||
@@ -144,6 +144,11 @@ SportsPress is currently in beta and is undergoing testing. We are still activel
|
|||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
|
= 0.4.1 =
|
||||||
|
* Tweak - Activate checkbox when all players are added to player list.
|
||||||
|
* Fix - Function date_diff added for PHP < 5.3.
|
||||||
|
* Localization - Swedish translation by jenszackrisson.
|
||||||
|
|
||||||
= 0.4 =
|
= 0.4 =
|
||||||
* Feature - SportsPress Status dashboard widget added to display number of events and countdown in admin.
|
* Feature - SportsPress Status dashboard widget added to display number of events and countdown in admin.
|
||||||
* Feature - New dashboard menu icons.
|
* Feature - New dashboard menu icons.
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ define( 'SPORTSPRESS_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
|||||||
define( 'SPORTSPRESS_PLUGIN_FILE', __FILE__ );
|
define( 'SPORTSPRESS_PLUGIN_FILE', __FILE__ );
|
||||||
|
|
||||||
// Libraries
|
// Libraries
|
||||||
|
require_once dirname( __FILE__ ) . '/lib/fallbacks/date-diff.php' ;
|
||||||
require_once dirname( __FILE__ ) . '/lib/eos/eos.class.php' ;
|
require_once dirname( __FILE__ ) . '/lib/eos/eos.class.php' ;
|
||||||
|
|
||||||
// Globals
|
// Globals
|
||||||
|
|||||||
Reference in New Issue
Block a user