晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/public_html/crm/modules/Mobile/third-party/qCal/qCal/Property/ |
Upload File : |
<?php
/**
* Recurrence Rule Property
* @package qCal
* @copyright Luke Visinoni (luke.visinoni@gmail.com)
* @author Luke Visinoni (luke.visinoni@gmail.com)
* @license GNU Lesser General Public License
* @todo Make sure allowedCompoents is correct. The RFC isn't dead clear
* @todo There are a lot of rules for this guy. Make sure you take them all
* into consideration and conform to the shit below.
* @todo This property doesn't require a value. Make sure it is possible to
* render the property without the colon that comes between name, params and value
*
* RFC 2445 Definition
*
* Property Name: RRULE
*
* Purpose: This property defines a rule or repeating pattern for
* recurring events, to-dos, or time zone definitions.
*
* Value Type: RECUR
*
* Property Parameters: Non-standard property parameters can be
* specified on this property.
*
* Conformance: This property can be specified one or more times in
* recurring "VEVENT", "VTODO" and "VJOURNAL" calendar components. It
* can also be specified once in each STANDARD or DAYLIGHT sub-component
* of the "VTIMEZONE" calendar component.
*
* Description: The recurrence rule, if specified, is used in computing
* the recurrence set. The recurrence set is the complete set of
* recurrence instances for a calendar component. The recurrence set is
* generated by considering the initial "DTSTART" property along with
* the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
* within the iCalendar object. The "DTSTART" property defines the first
* instance in the recurrence set. Multiple instances of the "RRULE" and
* "EXRULE" properties can also be specified to define more
* sophisticated recurrence sets. The final recurrence set is generated
* by gathering all of the start date/times generated by any of the
* specified "RRULE" and "RDATE" properties, and excluding any start
* date/times which fall within the union of start date/times generated
* by any specified "EXRULE" and "EXDATE" properties. This implies that
* start date/times within exclusion related properties (i.e., "EXDATE"
* and "EXRULE") take precedence over those specified by inclusion
* properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
* generated by the "RRULE" and "RDATE" properties, only one recurrence
* is considered. Duplicate instances are ignored.
*
*
*
* The "DTSTART" and "DTEND" property pair or "DTSTART" and "DURATION"
* property pair, specified within the iCalendar object defines the
* first instance of the recurrence. When used with a recurrence rule,
* the "DTSTART" and "DTEND" properties MUST be specified in local time
* and the appropriate set of "VTIMEZONE" calendar components MUST be
* included. For detail on the usage of the "VTIMEZONE" calendar
* component, see the "VTIMEZONE" calendar component definition.
*
* Any duration associated with the iCalendar object applies to all
* members of the generated recurrence set. Any modified duration for
* specific recurrences MUST be explicitly specified using the "RDATE"
* property.
*
* Format Definition: This property is defined by the following
* notation:
*
* rrule = "RRULE" rrulparam ":" recur CRLF
*
* rrulparam = *(";" xparam)
*
* Example: All examples assume the Eastern United States time zone.
*
* Daily for 10 occurrences:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=DAILY;COUNT=10
*
* ==> (1997 9:00 AM EDT)September 2-11
*
* Daily until December 24, 1997:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=DAILY;UNTIL=19971224T000000Z
*
* ==> (1997 9:00 AM EDT)September 2-30;October 1-25
* (1997 9:00 AM EST)October 26-31;November 1-30;December 1-23
*
* Every other day - forever:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=DAILY;INTERVAL=2
* ==> (1997 9:00 AM EDT)September2,4,6,8...24,26,28,30;
* October 2,4,6...20,22,24
* (1997 9:00 AM EST)October 26,28,30;November 1,3,5,7...25,27,29;
* Dec 1,3,...
*
* Every 10 days, 5 occurrences:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=DAILY;INTERVAL=10;COUNT=5
*
* ==> (1997 9:00 AM EDT)September 2,12,22;October 2,12
*
* Everyday in January, for 3 years:
*
* DTSTART;TZID=US-Eastern:19980101T090000
* RRULE:FREQ=YEARLY;UNTIL=20000131T090000Z;
* BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
* or
* RRULE:FREQ=DAILY;UNTIL=20000131T090000Z;BYMONTH=1
*
* ==> (1998 9:00 AM EDT)January 1-31
* (1999 9:00 AM EDT)January 1-31
* (2000 9:00 AM EDT)January 1-31
*
* Weekly for 10 occurrences
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=WEEKLY;COUNT=10
*
* ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
* (1997 9:00 AM EST)October 28;November 4
*
* Weekly until December 24, 1997
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z
*
* ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
* (1997 9:00 AM EST)October 28;November 4,11,18,25;
* December 2,9,16,23
* Every other week - forever:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU
*
* ==> (1997 9:00 AM EDT)September 2,16,30;October 14
* (1997 9:00 AM EST)October 28;November 11,25;December 9,23
* (1998 9:00 AM EST)January 6,20;February
* ...
*
* Weekly on Tuesday and Thursday for 5 weeks:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
* or
* RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH
*
* ==> (1997 9:00 AM EDT)September 2,4,9,11,16,18,23,25,30;October 2
*
* Every other week on Monday, Wednesday and Friday until December 24,
* 1997, but starting on Tuesday, September 2, 1997:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;
* BYDAY=MO,WE,FR
* ==> (1997 9:00 AM EDT)September 2,3,5,15,17,19,29;October
* 1,3,13,15,17
* (1997 9:00 AM EST)October 27,29,31;November 10,12,14,24,26,28;
* December 8,10,12,22
*
* Every other week on Tuesday and Thursday, for 8 occurrences:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH
*
* ==> (1997 9:00 AM EDT)September 2,4,16,18,30;October 2,14,16
*
* Monthly on the 1st Friday for ten occurrences:
*
* DTSTART;TZID=US-Eastern:19970905T090000
* RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
*
* ==> (1997 9:00 AM EDT)September 5;October 3
* (1997 9:00 AM EST)November 7;Dec 5
* (1998 9:00 AM EST)January 2;February 6;March 6;April 3
* (1998 9:00 AM EDT)May 1;June 5
*
* Monthly on the 1st Friday until December 24, 1997:
*
* DTSTART;TZID=US-Eastern:19970905T090000
* RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR
*
* ==> (1997 9:00 AM EDT)September 5;October 3
* (1997 9:00 AM EST)November 7;December 5
*
* Every other month on the 1st and last Sunday of the month for 10
* occurrences:
*
* DTSTART;TZID=US-Eastern:19970907T090000
* RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU
*
* ==> (1997 9:00 AM EDT)September 7,28
* (1997 9:00 AM EST)November 2,30
* (1998 9:00 AM EST)January 4,25;March 1,29
* (1998 9:00 AM EDT)May 3,31
*
* Monthly on the second to last Monday of the month for 6 months:
*
* DTSTART;TZID=US-Eastern:19970922T090000
* RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO
*
* ==> (1997 9:00 AM EDT)September 22;October 20
* (1997 9:00 AM EST)November 17;December 22
* (1998 9:00 AM EST)January 19;February 16
*
* Monthly on the third to the last day of the month, forever:
*
* DTSTART;TZID=US-Eastern:19970928T090000
* RRULE:FREQ=MONTHLY;BYMONTHDAY=-3
*
* ==> (1997 9:00 AM EDT)September 28
* (1997 9:00 AM EST)October 29;November 28;December 29
* (1998 9:00 AM EST)January 29;February 26
* ...
*
* Monthly on the 2nd and 15th of the month for 10 occurrences:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15
*
* ==> (1997 9:00 AM EDT)September 2,15;October 2,15
* (1997 9:00 AM EST)November 2,15;December 2,15
* (1998 9:00 AM EST)January 2,15
*
* Monthly on the first and last day of the month for 10 occurrences:
*
* DTSTART;TZID=US-Eastern:19970930T090000
* RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1
*
* ==> (1997 9:00 AM EDT)September 30;October 1
* (1997 9:00 AM EST)October 31;November 1,30;December 1,31
* (1998 9:00 AM EST)January 1,31;February 1
*
* Every 18 months on the 10th thru 15th of the month for 10
* occurrences:
*
* DTSTART;TZID=US-Eastern:19970910T090000
* RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,
* 15
*
* ==> (1997 9:00 AM EDT)September 10,11,12,13,14,15
* (1999 9:00 AM EST)March 10,11,12,13
*
* Every Tuesday, every other month:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU
*
* ==> (1997 9:00 AM EDT)September 2,9,16,23,30
* (1997 9:00 AM EST)November 4,11,18,25
* (1998 9:00 AM EST)January 6,13,20,27;March 3,10,17,24,31
* ...
*
* Yearly in June and July for 10 occurrences:
*
* DTSTART;TZID=US-Eastern:19970610T090000
* RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7
* ==> (1997 9:00 AM EDT)June 10;July 10
* (1998 9:00 AM EDT)June 10;July 10
* (1999 9:00 AM EDT)June 10;July 10
* (2000 9:00 AM EDT)June 10;July 10
* (2001 9:00 AM EDT)June 10;July 10
* Note: Since none of the BYDAY, BYMONTHDAY or BYYEARDAY components
* are specified, the day is gotten from DTSTART
*
* Every other year on January, February, and March for 10 occurrences:
*
* DTSTART;TZID=US-Eastern:19970310T090000
* RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3
*
* ==> (1997 9:00 AM EST)March 10
* (1999 9:00 AM EST)January 10;February 10;March 10
* (2001 9:00 AM EST)January 10;February 10;March 10
* (2003 9:00 AM EST)January 10;February 10;March 10
*
* Every 3rd year on the 1st, 100th and 200th day for 10 occurrences:
*
* DTSTART;TZID=US-Eastern:19970101T090000
* RRULE:FREQ=YEARLY;INTERVAL=3;COUNT=10;BYYEARDAY=1,100,200
*
* ==> (1997 9:00 AM EST)January 1
* (1997 9:00 AM EDT)April 10;July 19
* (2000 9:00 AM EST)January 1
* (2000 9:00 AM EDT)April 9;July 18
* (2003 9:00 AM EST)January 1
* (2003 9:00 AM EDT)April 10;July 19
* (2006 9:00 AM EST)January 1
*
* Every 20th Monday of the year, forever:
* DTSTART;TZID=US-Eastern:19970519T090000
* RRULE:FREQ=YEARLY;BYDAY=20MO
*
* ==> (1997 9:00 AM EDT)May 19
* (1998 9:00 AM EDT)May 18
* (1999 9:00 AM EDT)May 17
* ...
*
* Monday of week number 20 (where the default start of the week is
* Monday), forever:
*
* DTSTART;TZID=US-Eastern:19970512T090000
* RRULE:FREQ=YEARLY;BYWEEKNO=20;BYDAY=MO
*
* ==> (1997 9:00 AM EDT)May 12
* (1998 9:00 AM EDT)May 11
* (1999 9:00 AM EDT)May 17
* ...
*
* Every Thursday in March, forever:
*
* DTSTART;TZID=US-Eastern:19970313T090000
* RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH
*
* ==> (1997 9:00 AM EST)March 13,20,27
* (1998 9:00 AM EST)March 5,12,19,26
* (1999 9:00 AM EST)March 4,11,18,25
* ...
*
* Every Thursday, but only during June, July, and August, forever:
*
* DTSTART;TZID=US-Eastern:19970605T090000
* RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8
*
* ==> (1997 9:00 AM EDT)June 5,12,19,26;July 3,10,17,24,31;
* August 7,14,21,28
* (1998 9:00 AM EDT)June 4,11,18,25;July 2,9,16,23,30;
* August 6,13,20,27
* (1999 9:00 AM EDT)June 3,10,17,24;July 1,8,15,22,29;
* August 5,12,19,26
* ...
*
* Every Friday the 13th, forever:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* EXDATE;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13
*
* ==> (1998 9:00 AM EST)February 13;March 13;November 13
* (1999 9:00 AM EDT)August 13
* (2000 9:00 AM EDT)October 13
* ...
*
* The first Saturday that follows the first Sunday of the month,
* forever:
*
* DTSTART;TZID=US-Eastern:19970913T090000
* RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13
*
* ==> (1997 9:00 AM EDT)September 13;October 11
* (1997 9:00 AM EST)November 8;December 13
* (1998 9:00 AM EST)January 10;February 7;March 7
* (1998 9:00 AM EDT)April 11;May 9;June 13...
* ...
*
* Every four years, the first Tuesday after a Monday in November,
* forever (U.S. Presidential Election day):
*
* DTSTART;TZID=US-Eastern:19961105T090000
* RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,
* 5,6,7,8
*
* ==> (1996 9:00 AM EST)November 5
* (2000 9:00 AM EST)November 7
* (2004 9:00 AM EST)November 2
* ...
*
* The 3rd instance into the month of one of Tuesday, Wednesday or
* Thursday, for the next 3 months:
*
* DTSTART;TZID=US-Eastern:19970904T090000
* RRULE:FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3
*
* ==> (1997 9:00 AM EDT)September 4;October 7
* (1997 9:00 AM EST)November 6
*
* The 2nd to last weekday of the month:
*
* DTSTART;TZID=US-Eastern:19970929T090000
* RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2
*
* ==> (1997 9:00 AM EDT)September 29
* (1997 9:00 AM EST)October 30;November 27;December 30
* (1998 9:00 AM EST)January 29;February 26;March 30
* ...
*
* Every 3 hours from 9:00 AM to 5:00 PM on a specific day:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=HOURLY;INTERVAL=3;UNTIL=19970902T170000Z
*
* ==> (September 2, 1997 EDT)09:00,12:00,15:00
*
* Every 15 minutes for 6 occurrences:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=MINUTELY;INTERVAL=15;COUNT=6
*
* ==> (September 2, 1997 EDT)09:00,09:15,09:30,09:45,10:00,10:15
*
* Every hour and a half for 4 occurrences:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=MINUTELY;INTERVAL=90;COUNT=4
*
* ==> (September 2, 1997 EDT)09:00,10:30;12:00;13:30
*
* Every 20 minutes from 9:00 AM to 4:40 PM every day:
*
* DTSTART;TZID=US-Eastern:19970902T090000
* RRULE:FREQ=DAILY;BYHOUR=9,10,11,12,13,14,15,16;BYMINUTE=0,20,40
* or
* RRULE:FREQ=MINUTELY;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16
*
* ==> (September 2, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
* ... 16:00,16:20,16:40
* (September 3, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
* ...16:00,16:20,16:40
* ...
*
* An example where the days generated makes a difference because of
* WKST:
*
* DTSTART;TZID=US-Eastern:19970805T090000
* RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO
*
* ==> (1997 EDT)Aug 5,10,19,24
*
* changing only WKST from MO to SU, yields different results...
*
* DTSTART;TZID=US-Eastern:19970805T090000
* RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
* ==> (1997 EDT)August 5,17,19,31
*/
class qCal_Property_Rrule extends qCal_Property {
protected $type = 'RECUR';
protected $allowedComponents = array('VEVENT','VTODO','VJOURNAL','VTIMEZONE','DAYLIGHT','STANDARD');
protected $allowMultiple = true;
}