From a2e2c5f797fb86706effc80322f2b033f6c69611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Lehrke?= Date: Tue, 27 Apr 2010 11:47:56 +0000 Subject: [PATCH] Fix mounthly by day recurrence issues --- calendar/inc/class.calendar_rrule.inc.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/calendar/inc/class.calendar_rrule.inc.php b/calendar/inc/class.calendar_rrule.inc.php index 8a6dca8629..95691b8d7e 100644 --- a/calendar/inc/class.calendar_rrule.inc.php +++ b/calendar/inc/class.calendar_rrule.inc.php @@ -313,7 +313,7 @@ class calendar_rrule implements Iterator { list($year,$month) = explode('-',$time->format('Y-m')); $last_day = new egw_time(); - $last_day->setDate($year,$month-1,0); + $last_day->setDate($year,$month+1,0); return (int)$last_day->format('d'); } @@ -568,8 +568,9 @@ class calendar_rrule implements Iterator break; case self::MONTHLY_WDAY: // weekday of the month: BDAY={1..5}+ {MO..SO} - $rrule['BYDAY'] = $this->monthly_byday_num . '+ ' . - strtoupper(substr($this->time->format('l'),0,2)); + $rrule['BYDAY'] = abs($this->monthly_byday_num); + $rrule['BYDAY'] .= ($this->monthly_byday_num < 0) ? '- ' : '+ '; + $rrule['BYDAY'] .= strtoupper(substr($this->time->format('l'),0,2)); $rrule['FREQ'] = $rrule['FREQ'].' '.$rrule['BYDAY']; break; }