mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-01-27 00:33:34 +00:00
replace RRule with RRule-v2
This commit is contained in:
parent
2a64f0be84
commit
eaef540766
2
debian/copyright
vendored
2
debian/copyright
vendored
@ -12,7 +12,7 @@ License: GPL-2+
|
||||
|
||||
Files: dba/caldav_functions.sql htdocs/public.php htdocs/tools.php
|
||||
inc/pubsub.php inc/caldav-MKCOL.php inc/log_caldav_action.php
|
||||
inc/caldav-ACL.php inc/caldav-PROPPATCH.php inc/RRule.php
|
||||
inc/caldav-ACL.php inc/caldav-PROPPATCH.php
|
||||
inc/HTTPAuthSession.php inc/caldav-client.php inc/DAViCalSession.php
|
||||
inc/caldav-REPORT.php inc/caldav-MOVE.php
|
||||
Copyright: 2006 - 2013, Andrew McMillan <andrew@mcmillan.net.nz>
|
||||
|
||||
3
debian/ignore_these_files
vendored
3
debian/ignore_these_files
vendored
@ -1,3 +0,0 @@
|
||||
htdocs/.gitignore
|
||||
inc/test-RRULE.php
|
||||
inc/test-RRULE-v2.php
|
||||
@ -99,7 +99,7 @@ function caldav_get_feed( $request, $collection ) {
|
||||
$feed_description = $collection->GetProperty('description');
|
||||
if ( isset($feed_description) && $feed_description != '' ) $feed->setDescription($feed_description);
|
||||
|
||||
require_once('RRule-v2.php');
|
||||
require_once('RRule.php');
|
||||
|
||||
$need_zones = array();
|
||||
$timezones = array();
|
||||
|
||||
1517
inc/RRule-v2.php
1517
inc/RRule-v2.php
File diff suppressed because it is too large
Load Diff
2375
inc/RRule.php
2375
inc/RRule.php
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,7 @@ require_once('vCalendar.php');
|
||||
require_once('WritableCollection.php');
|
||||
require_once('schedule-functions.php');
|
||||
include_once('iSchedule.php');
|
||||
include_once('RRule-v2.php');
|
||||
include_once('RRule.php');
|
||||
|
||||
$bad_events = null;
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ dbg_error_log("REPORT", "method handler");
|
||||
require_once("XMLDocument.php");
|
||||
require_once('DAVResource.php');
|
||||
|
||||
require_once('RRule-v2.php');
|
||||
require_once('RRule.php');
|
||||
|
||||
if ( ! ini_get('open_basedir') && (isset($c->dbg['ALL']) || (isset($c->dbg['report']) && $c->dbg['report'])) ) {
|
||||
$fh = fopen('/var/log/davical/REPORT.debug','w');
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
include_once('vCalendar.php');
|
||||
include_once('RRule-v2.php');
|
||||
include_once('RRule.php');
|
||||
|
||||
|
||||
function get_freebusy( $path_match, $range_start, $range_end, $bin_privs = null ) {
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
|
||||
require_once('vCalendar.php');
|
||||
require_once('WritableCollection.php');
|
||||
require_once('RRule-v2.php');
|
||||
require_once('RRule.php');
|
||||
|
||||
/**
|
||||
* Entry point for scheduling on DELETE, for which there are thee outcomes:
|
||||
|
||||
@ -1,96 +0,0 @@
|
||||
<?php
|
||||
require_once("../htdocs/always.php");
|
||||
require_once("RRule.php");
|
||||
|
||||
header("Content-type: text/plain");
|
||||
|
||||
echo <<<EOTXT
|
||||
Testing the RRule Library
|
||||
|
||||
EOTXT;
|
||||
|
||||
class RRuleTest {
|
||||
var $dtstart;
|
||||
var $recur;
|
||||
var $description;
|
||||
var $result_description;
|
||||
|
||||
function RRuleTest( $description, $start, $recur, $result_description = null ) {
|
||||
$this->description = $description;
|
||||
$this->dtstart = $start;
|
||||
$this->recur = $recur;
|
||||
$this->result_description = $result_description;
|
||||
}
|
||||
|
||||
function PHPTest() {
|
||||
$result = '';
|
||||
$rule = new RRule( new iCalDate($this->dtstart), $this->recur );
|
||||
$i = 0;
|
||||
do {
|
||||
$date = $rule->GetNext();
|
||||
if ( isset($date) ) {
|
||||
if ( ($i++ % 4) == 0 ) $result .= "\n";
|
||||
$result .= " " . $date->Render();
|
||||
}
|
||||
}
|
||||
while( isset($date) && $i < 30 );
|
||||
return $result;
|
||||
}
|
||||
|
||||
function SQLTest() {
|
||||
$result = '';
|
||||
$sql = "SELECT event_instances::timestamp AS event_date FROM event_instances(?,?) LIMIT 30;";
|
||||
$qry = new AwlQuery($sql, $this->dtstart, $this->recur);
|
||||
// printf( "%s\n", $qry->querystring);
|
||||
if ( $qry->Exec("test") && $qry->rows > 0 ) {
|
||||
$i = 0;
|
||||
while( $row = $qry->Fetch() ) {
|
||||
if ( ($i++ % 4) == 0 ) $result .= "\n";
|
||||
$result .= " " . $row->event_date;
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$tests = array(
|
||||
new RRuleTest( "Daily for 7 days", "20061103T073000", "RRULE:FREQ=DAILY;COUNT=7" )
|
||||
, new RRuleTest( "Weekly for 26 weeks", "20061102T100000", "RRULE:FREQ=WEEKLY;COUNT=26;INTERVAL=1;BYDAY=TH" )
|
||||
, new RRuleTest( "Fortnightly for 28 events", "20061103T160000", "RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20071122T235900" )
|
||||
, new RRuleTest( "3/wk for 5 weeks", "20081101T160000", "RRULE:FREQ=WEEKLY;COUNT=15;INTERVAL=1;BYDAY=MO,WE,FR" )
|
||||
, new RRuleTest( "Monthly forever", "20061104T073000", "RRULE:FREQ=MONTHLY" )
|
||||
, new RRuleTest( "Monthly, on the 1st monday, 2nd wednesday, 3rd friday and last sunday, forever", "20061117T073000", "RRULE:FREQ=MONTHLY;BYDAY=1MO,2WE,3FR,-1SU" )
|
||||
, new RRuleTest( "The last working day of each month", "20061107T113000", "RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1" )
|
||||
, new RRuleTest( "Every working day", "20081020T103000", "RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR" )
|
||||
, new RRuleTest( "Every working day", "20081020T110000", "RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR" )
|
||||
, new RRuleTest( "1st Tuesday, 2nd Wednesday, 3rd Thursday & 4th Friday, every March, June, September, October and December", "20081001T133000", "RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1TU,2WE,3TH,4FR;BYMONTH=3,6,9,10,12" )
|
||||
, new RRuleTest( "Every tuesday and friday", "20081017T084500", "RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,FR" )
|
||||
, new RRuleTest( "Every tuesday and friday", "20081017T084500", "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TU,FR" )
|
||||
, new RRuleTest( "Every tuesday and friday", "20081017T084500", "RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=TU,FR" )
|
||||
, new RRuleTest( "Time zone 1", "19700315T030000", "FREQ=YEARLY;INTERVAL=1;BYDAY=3SU;BYMONTH=3" )
|
||||
, new RRuleTest( "Time zone 2", "19700927T020000", "FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=9" )
|
||||
, new RRuleTest( "Time zone 3", "19810329T030000", "FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU" )
|
||||
, new RRuleTest( "Time zone 4", "20000404T020000", "FREQ=YEARLY;BYDAY=1SU;BYMONTH=4" )
|
||||
);
|
||||
|
||||
foreach( $tests AS $k => $test ) {
|
||||
echo "=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=\n";
|
||||
echo "$test->dtstart - $test->recur\n";
|
||||
echo "$test->description\n";
|
||||
$php_result = $test->PHPTest();
|
||||
/*
|
||||
$sql_result = $test->SQLTest();
|
||||
if ( $php_result == $sql_result ) {
|
||||
echo "PHP & SQL results are identical :-)\n";
|
||||
}
|
||||
else {
|
||||
echo "PHP & SQL results differ :-(\n";
|
||||
}
|
||||
*/
|
||||
echo "PHP Result:\n$php_result\n\n";
|
||||
// echo "SQL Result:\n$sql_result\n\n"; // Still under development
|
||||
}
|
||||
|
||||
|
||||
exit(0);
|
||||
@ -10,7 +10,7 @@
|
||||
*/
|
||||
|
||||
require_once('vCalendar.php');
|
||||
require_once('RRule-v2.php');
|
||||
require_once('RRule.php');
|
||||
|
||||
if ( empty($format) ) $format = 'text/calendar';
|
||||
if ( $format != 'text/calendar' ) {
|
||||
|
||||
@ -93,7 +93,7 @@ if ( $args->debug && is_array($debugging )) {
|
||||
require_once("./always.php");
|
||||
require_once('AwlQuery.php');
|
||||
require_once('AwlCache.php');
|
||||
require_once('RRule-v2.php');
|
||||
require_once('RRule.php');
|
||||
require_once('vCalendar.php');
|
||||
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ if ( $args->slow_query_threshold !== false ) {
|
||||
$c->default_query_warning_threshold = $args->slow_query_threshold;
|
||||
}
|
||||
require_once('AwlQuery.php');
|
||||
require_once('RRule-v2.php');
|
||||
require_once('RRule.php');
|
||||
require_once('vCalendar.php');
|
||||
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ if ( isset($argv[2]) ) {
|
||||
|
||||
require_once('vCalendar.php');
|
||||
require_once('XMLDocument.php');
|
||||
require_once('RRule-v2.php');
|
||||
require_once('RRule.php');
|
||||
|
||||
chdir($original_dir);
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ else {
|
||||
}
|
||||
require_once("always.php");
|
||||
$c->dbg = array();
|
||||
require_once("RRule-v2.php");
|
||||
require_once("RRule.php");
|
||||
require_once('AwlQuery.php');
|
||||
|
||||
@header("Content-Type: text/plain");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user