forked from extern/egroupware
fix regression of #9810077: CalDAV PUT of unlimited recurring event run until max_execution_time
This commit is contained in:
parent
9df24e2316
commit
dbd808745c
@ -131,6 +131,24 @@ class calendar_rrule implements Iterator
|
|||||||
*/
|
*/
|
||||||
public $enddate;
|
public $enddate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enddate of recurring event, as Ymd integer (eg. 20091111)
|
||||||
|
*
|
||||||
|
* Or 5 years in future, if no enddate. So iterator is always limited.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
public $enddate_ymd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enddate of recurring event, as timestamp
|
||||||
|
*
|
||||||
|
* Or 5 years in future, if no enddate. So iterator is always limited.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
public $enddate_ts;
|
||||||
|
|
||||||
const SUNDAY = 1;
|
const SUNDAY = 1;
|
||||||
const MONDAY = 2;
|
const MONDAY = 2;
|
||||||
const TUESDAY = 4;
|
const TUESDAY = 4;
|
||||||
@ -289,6 +307,8 @@ class calendar_rrule implements Iterator
|
|||||||
{
|
{
|
||||||
$enddate->setTimezone($this->time->getTimezone());
|
$enddate->setTimezone($this->time->getTimezone());
|
||||||
}
|
}
|
||||||
|
$this->enddate_ymd = (int)$enddate->format('Ymd');
|
||||||
|
$this->enddate_ts = $enddate->format('ts');
|
||||||
|
|
||||||
// if no valid weekdays are given for weekly repeating, we use just the current weekday
|
// if no valid weekdays are given for weekly repeating, we use just the current weekday
|
||||||
if (!($this->weekdays = (int)$weekdays) && ($type == self::WEEKLY || $type == self::MONTHLY_WDAY))
|
if (!($this->weekdays = (int)$weekdays) && ($type == self::WEEKLY || $type == self::MONTHLY_WDAY))
|
||||||
@ -535,15 +555,11 @@ class calendar_rrule implements Iterator
|
|||||||
*/
|
*/
|
||||||
public function valid($use_just_date=false)
|
public function valid($use_just_date=false)
|
||||||
{
|
{
|
||||||
if (!$this->enddate)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if ($use_just_date)
|
if ($use_just_date)
|
||||||
{
|
{
|
||||||
return $this->current->format('Ymd') <= $this->enddate->format('Ymd');
|
return $this->current->format('Ymd') <= $this->enddate_ymd;
|
||||||
}
|
}
|
||||||
return $this->current->format('ts') < $this->enddate->format('ts');
|
return $this->current->format('ts') < $this->enddate_ts;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user