Zap Calendar Recurring Date Helper Class
Class to expand recurring rule to a list of dates
Properties |
public array $byday = []
|
public array $byhour = []
|
public array $byminute = []
|
public array $bymonth = []
|
public array $bymonthday = []
|
public array $bysecond = []
|
public array $bysetpos = []
|
public array $byyear = []
|
public int $count = 0
|
public int $debug = 0
|
public string $error = ''
|
public array $exdates = []
|
public ?string $freq = NULL repeating frequency type (i.e. 'y' for yearly, 'm' for monthly) |
public int $interval = 1 inteval of repeating event (i.e. every 2 weeks, every 6 months) |
public ?string $repeatmode = NULL repeat mode ('c': count, 'u': until) |
public string $rules = '' rules string |
public ?int $startdate = NULL start date in Unix Timestamp format (local timezone) |
public ?string $tzid = NULL timezone of event (using PHP timezones) |
public ?int $until = NULL repeat until date (in UTC Unix Timestamp format)
|
public ?int $weekstart = NULL start of week number (i.e. 0 for Sunday, 5 for Friday)
|
Methods |
public __construct(string $rules, int $startdate, array $exdates = [], string $tzid = 'UTC') Expand recurring rule to a list of dates
|
public bySetPos(array $bytype, array $bysetpos) : array bysetpos rule support
|
public debug(int $level, string $msg) : self display debug message |
public getDates(?int $maxdate = NULL) : array Get array of dates from recurring rule
|
public getError() : string get error message
|
public setDebug(int $level) : self set debug level (0: none, 1: minimal, 2: more output) |
public setError(string $msg) : self save error |
Properties |
private int $maxYear Max year supported |
Methods |
private byDay(int $startdate, int $enddate, array $rdates, string $tzid = 'UTC') : int Get repeating dates by day
|
private byHour(int $startdate, int $enddate, array $rdates, string $tzid = 'UTC') : int Get repeating dates by hour
|
private byMinute(int $startdate, int $enddate, array $rdates, string $tzid = 'UTC') : int Get repeating dates by minute
|
private byMonth(int $startdate, int $enddate, array $rdates, string $tzid = 'UTC') : int Get repeating dates by month
|
private byMonthDay(int $startdate, int $enddate, array $rdates, string $tzid = 'UTC') : int Get repeating dates by month day
|
private bySecond(int $startdate, int $enddate, array $rdates, string $tzid = 'UTC') : int Get repeating dates by second
|
private byYear(int $startdate, int $enddate, array $rdates, string $tzid = 'UTC') : int Get repeating dates by year
|
private maxDates(array $rdates) : bool Determine if the loop has reached the end date
|