From: Georg Ehrke Date: Sat, 9 Jun 2012 13:14:49 +0000 (+0200) Subject: fix a bug in when X-Git-Tag: v4.5.0beta1~74^2~422^2~18 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=531132d64f7eab2e5f175164b0b0c6d322145d10;p=nextcloud-server.git fix a bug in when --- 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