From 531132d64f7eab2e5f175164b0b0c6d322145d10 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Sat, 9 Jun 2012 15:14:49 +0200 Subject: [PATCH] fix a bug in when --- 3rdparty/when/When.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/3rdparty/when/When.php b/3rdparty/when/When.php index 5f97f0eb9bf..185836bf0c5 100644 --- a/3rdparty/when/When.php +++ b/3rdparty/when/When.php @@ -586,7 +586,7 @@ class When } } } - elseif($this->gobyday || $interval == "month") + elseif($this->gobyday && $interval == "month") { $_mdays = range(1, date('t',mktime(0,0,0,$month,1,$year))); foreach($_mdays as $_mday) @@ -621,7 +621,13 @@ class When if($interval == "month") { - $this->try_date->modify('last day of ' . $this->interval . ' ' . $interval); + + $this->try_date->modify('first day of next month'); + if((int) date('t', $this->try_date->format('U')) > (int) $this->start_date->format('j')){ + $this->try_date->modify('+' . (int) $this->start_date->format('j') - 1 . ' day'); + }else{ + $this->try_date->modify('+' . (int) date('t', $this->try_date->format('U')) - 1 . ' day'); + } } else { @@ -722,4 +728,4 @@ class When } } } -} +} \ No newline at end of file -- 2.39.5