diff --git a/htdocs/caldav.php b/htdocs/caldav.php index b36200d2..1d41f82f 100644 --- a/htdocs/caldav.php +++ b/htdocs/caldav.php @@ -31,6 +31,8 @@ switch ( $request->method ) { case 'LOCK': include_once("caldav-LOCK.php"); break; case 'UNLOCK': include_once("caldav-LOCK.php"); break; + case 'TESTRRULE': include_once("test-RRULE.php"); break; + default: dbg_error_log( "caldav", "Unhandled request method >>%s<<", $request->method ); dbg_log_array( "caldav", '_SERVER', $_SERVER, true ); diff --git a/inc/test-RRULE.php b/inc/test-RRULE.php new file mode 100644 index 00000000..4692c1db --- /dev/null +++ b/inc/test-RRULE.php @@ -0,0 +1,37 @@ + "RRULE:FREQ=DAILY;COUNT=7" + , "20061102T100000" => "RRULE:FREQ=WEEKLY;COUNT=26;INTERVAL=1;BYDAY=TH" + , "20061103T160000" => "RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20071222T235900" + , "20061103T073000" => "RRULE:FREQ=MONTHLY" +); + +foreach( $tests AS $start => $rrule ) { + echo "$start - $rrule\n"; + + $rule = new RRule( $start, $rrule ); + $i = 0; + do { + if ( ($i % 4) == 0 ) echo "\n"; + $date = $rule->GetNext(); + if ( isset($date) ) { + echo " " . $date->Render(); + } + } + while( isset($date) && $i++ < 50 ); + + echo "\n\n\n"; +} + +exit(0); +?>