One more fix for timezone database changes.

This commit is contained in:
Andrew McMillan 2011-09-18 17:03:37 +12:00
parent f9ad324ba1
commit 5f4b40a643
22 changed files with 163 additions and 113 deletions

View File

@ -182,35 +182,25 @@ class WritableCollection extends DAVResource {
$calitem_params[':class'] = $class;
/** Calculate what timezone to set, first, if possible */
$last_tz_locn = 'Turkmenikikamukau'; // I really hope this location doesn't exist!
$last_olson = 'Turkmenikikamukau'; // I really hope this location doesn't exist!
$tzid = self::GetTZID($first);
if ( !empty($tzid) ) {
$tz = $vcal->GetTimeZone($tzid);
$tz_locn = olson_from_tzstring($tzid);
if ( empty($tz_locn) ) {
$tz_locn = $tz->GetPValue('X-LIC-LOCATION');
if ( !empty($tz_locn) ) {
$tz_locn = olson_from_tzstring($tz_locn);
}
}
$olson = $vcal->GetOlsonName($tz);
dbg_error_log( 'PUT', ' Using TZID[%s] and location of [%s]', $tzid, (isset($tz_locn) ? $tz_locn : '') );
if ( !empty($tz_locn) && ($tz_locn != $last_tz_locn) && preg_match( $tz_regex, $tz_locn ) ) {
dbg_error_log( 'PUT', ' Setting timezone to %s', $tz_locn );
if ( $tz_locn != '' ) {
$qry->QDo('SET TIMEZONE TO \''.$tz_locn."'" );
}
$last_tz_locn = $tz_locn;
dbg_error_log( 'PUT', ' Using TZID[%s] and location of [%s]', $tzid, (isset($olson) ? $olson : '') );
if ( !empty($olson) && ($olson != $last_olson) && preg_match( $tz_regex, $olson ) ) {
dbg_error_log( 'PUT', ' Setting timezone to %s', $olson );
$qry->QDo('SET TIMEZONE TO \''.$olson."'" );
$last_olson = $olson;
}
$params = array( ':tzid' => $tzid);
$qry = new AwlQuery('SELECT tz_locn FROM time_zone WHERE tz_id = :tzid', $params );
$qry = new AwlQuery('SELECT 1 FROM timezones WHERE tzid = :tzid', $params );
if ( $qry->Exec('PUT',__LINE__,__FILE__) && $qry->rows() == 0 ) {
$params[':tzlocn'] = $tz_locn;
$params[':tzspec'] = (isset($tz) ? $tz->Render() : null );
$qry->QDo('INSERT INTO time_zone (tz_id, tz_locn, tz_spec) VALUES(:tzid,:tzlocn,:tzspec)', $params );
$params[':olson_name'] = $olson;
$params[':vtimezone'] = (isset($tz) ? $tz->Render() : null );
$qry->QDo('INSERT INTO timezones (tzid, olson_name, active, vtimezone) VALUES(:tzid,:olson_name,false,:vtimezone)', $params );
}
if ( !isset($tz_locn) || $tz_locn == '' ) $tz_locn = $tzid;
}
$created = $first->GetPValue('CREATED');

View File

@ -465,7 +465,7 @@ INSERT INTO calendar_item (user_no, dav_name, dav_id, dav_etag, uid, dtstamp, dt
:description, :rrule, :tzid, :modified, :url, :priority, :created, :due, :percent_complete, :status, :collection_id)
EOSQL;
$last_tz_locn = '';
$last_olson = '';
foreach( $resources AS $uid => $resource ) {
if ( isset($c->skip_bad_event_on_import) && $c->skip_bad_event_on_import ) $qry->Begin();
@ -552,39 +552,25 @@ EOSQL;
/** Calculate what timezone to set, first, if possible */
$tzid = GetTZID($first);
if ( !empty($tzid) ) {
if ( isset($resource[$tzid]) ) {
$tz = $resource[$tzid];
$tz_locn = $tz->GetPValue('X-LIC-LOCATION');
}
else {
unset($tz);
unset($tz_locn);
}
if ( ! isset($tz_locn) || ! preg_match( $tz_regex, $tz_locn ) ) {
if ( preg_match( '#([^/]+/[^/]+)$#', $tzid, $matches ) ) {
$tz_locn = $matches[1];
}
}
dbg_error_log( 'PUT', ' Using TZID[%s] and location of [%s]', $tzid, (isset($tz_locn) ? $tz_locn : '') );
if ( isset($tz_locn) && ($tz_locn != $last_tz_locn) && preg_match( $tz_regex, $tz_locn ) ) {
dbg_error_log( 'PUT', ' Setting timezone to %s', $tz_locn );
if ( $tz_locn != '' ) {
$qry->QDo('SET TIMEZONE TO \''.$tz_locn."'" );
}
$last_tz_locn = $tz_locn;
if ( !empty($tzid) && !empty($resource[$tzid]) ) {
$tz = $resource[$tzid];
$olson = $vcal->GetOlsonName($tz);
dbg_error_log( 'PUT', ' Using TZID[%s] and location of [%s]', $tzid, (isset($olson) ? $olson : '') );
if ( !empty($olson) && ($olson != $last_olson) && preg_match( $tz_regex, $olson ) ) {
dbg_error_log( 'PUT', ' Setting timezone to %s', $olson );
$qry->QDo('SET TIMEZONE TO \''.$olson."'" );
$last_olson = $olson;
}
$params = array( ':tzid' => $tzid);
$qry = new AwlQuery('SELECT 1 FROM timezones WHERE tzid = :tzid', $params );
if ( $qry->Exec('PUT',__LINE__,__FILE__) && $qry->rows() == 0 ) {
$params[':olson_name'] = $tz_locn;
$params[':olson_name'] = $olson;
$params[':vtimezone'] = (isset($tz) ? $tz->Render() : null );
$qry->QDo('INSERT INTO timezones (tzid, olson_name, active, vtimezone) VALUES(:tzid,:olson_name,false,:vtimezone)', $params );
}
if ( !isset($tz_locn) || $tz_locn == '' ) $tz_locn = $tzid;
}
else {
$tzid = null;
$tz = $olson = $tzid = null;
}
$sql = str_replace( '##dtend##', $dtend, $calitem_insert );
@ -872,7 +858,7 @@ function write_resource( DAVResource $resource, $caldav_data, DAVResource $colle
$calitem_params[':class'] = $class;
/** Calculate what timezone to set, first, if possible */
$last_tz_locn = 'Turkmenikikamukau'; // I really hope this location doesn't exist!
$last_olson = 'Turkmenikikamukau'; // I really hope this location doesn't exist!
$tzid = GetTZID($first);
if ( !empty($tzid) ) {
$timezones = $ic->GetComponents('VTIMEZONE');
@ -884,31 +870,31 @@ function write_resource( DAVResource $resource, $caldav_data, DAVResource $colle
dbg_error_log( 'ERROR', ' Event uses TZID[%s], skipping included TZID[%s]!', $tz->GetPValue('TZID'), $tzid );
continue;
}
$tz_locn = olson_from_tzstring($tzid);
if ( empty($tz_locn) ) {
$tz_locn = $tz->GetPValue('X-LIC-LOCATION');
if ( !empty($tz_locn) ) {
$tz_locn = olson_from_tzstring($tz_locn);
$olson = olson_from_tzstring($tzid);
if ( empty($olson) ) {
$olson = $tz->GetPValue('X-LIC-LOCATION');
if ( !empty($olson) ) {
$olson = olson_from_tzstring($olson);
}
}
}
dbg_error_log( 'PUT', ' Using TZID[%s] and location of [%s]', $tzid, (isset($tz_locn) ? $tz_locn : '') );
if ( !empty($tz_locn) && ($tz_locn != $last_tz_locn) && preg_match( $tz_regex, $tz_locn ) ) {
dbg_error_log( 'PUT', ' Setting timezone to %s', $tz_locn );
if ( $tz_locn != '' ) {
$qry->QDo('SET TIMEZONE TO \''.$tz_locn."'" );
dbg_error_log( 'PUT', ' Using TZID[%s] and location of [%s]', $tzid, (isset($olson) ? $olson : '') );
if ( !empty($olson) && ($olson != $last_olson) && preg_match( $tz_regex, $olson ) ) {
dbg_error_log( 'PUT', ' Setting timezone to %s', $olson );
if ( $olson != '' ) {
$qry->QDo('SET TIMEZONE TO \''.$olson."'" );
}
$last_tz_locn = $tz_locn;
$last_olson = $olson;
}
$params = array( ':tzid' => $tzid);
$qry = new AwlQuery('SELECT 1 FROM timezones WHERE tzid = :tzid', $params );
if ( $qry->Exec('PUT',__LINE__,__FILE__) && $qry->rows() == 0 ) {
$params[':olson_name'] = $tz_locn;
$params[':olson_name'] = $olson;
$params[':vtimezone'] = (isset($tz) ? $tz->Render() : null );
$qry->QDo('INSERT INTO timezones (tzid, olson_name, active, vtimezone) VALUES(:tzid,:olson_name,false,:vtimezone)', $params );
}
if ( !isset($tz_locn) || $tz_locn == '' ) $tz_locn = $tzid;
if ( !isset($olson) || $olson == '' ) $olson = $tzid;
}

View File

@ -228,7 +228,7 @@
<href>/caldav.php/user4/user2/56f0e0e0-f742-012d-680c-002421a2359e.ics</href>
<propstat>
<prop>
<getetag>"61b62070fcc4fe1881e6630f6409616e"</getetag>
<getetag>"e18c0d539b6dcb56df2d266dd4305008"</getetag>
<displayname>Willamette Valley Vineyards at the Oregon Truffle Festival</displayname>
<owner>
<href>/caldav.php/user2/</href>

View File

@ -81,7 +81,7 @@
<prop>
<getcontenttype>text/calendar</getcontenttype>
<resourcetype/>
<getetag>"61b62070fcc4fe1881e6630f6409616e"</getetag>
<getetag>"e18c0d539b6dcb56df2d266dd4305008"</getetag>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>

View File

@ -2,7 +2,7 @@ HTTP/1.1 200 OK
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, calendar-proxy, bind, addressbook, calendar-auto-schedule
Content-Length: 21609
Content-Length: 21618
Etag: "ae93907cb03bc025b8e733eb61f3a09e"
Content-Type: text/calendar; charset="utf-8"
@ -87,7 +87,7 @@ DESCRIPTION:The 6th Annual Oregon Truffle Festival will be held in and a
ival.com for more info and to purchase tickets.\n\n<img src="http://4.bp
.blogspot.com/_nunnaUzLU1w/S7FWYsdewdI/AAAAAAAACj4/92TfhNIHKQI/s1600/wvv
.jpg">
DTSTART;TZID=US/Pacific:20110128
DTSTART;TZID=America/Los_Angeles:20110128
CREATED:20101231T193025Z
DTSTAMP:20110101T005414Z
DURATION:P1D

View File

@ -2,7 +2,7 @@ HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, calendar-proxy, bind, addressbook, calendar-auto-schedule
ETag: "0d70494d992ba29a4785b464a6325784"
ETag: "53ade6e4324c9f7e2060a4e760bda6f5"
Content-Length: 2286
Content-Type: text/xml; charset="utf-8"
@ -57,7 +57,7 @@ Content-Type: text/xml; charset="utf-8"
<href>/caldav.php/user2/home/56f0e0e0-f742-012d-680c-002421a2359e.ics</href>
<propstat>
<prop>
<getetag>"61b62070fcc4fe1881e6630f6409616e"</getetag>
<getetag>"e18c0d539b6dcb56df2d266dd4305008"</getetag>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>

View File

@ -28,6 +28,11 @@
4
(1 row)
setval
--------
11
(1 row)
setval
--------
1000

View File

@ -28,6 +28,11 @@
5
(1 row)
setval
--------
11
(1 row)
setval
--------
1000

View File

@ -336,7 +336,7 @@ DESCRIPTION:The 6th Annual Oregon Truffle Festival will be held in and a
ival.com for more info and to purchase tickets.\n\n<img src="http://4.bp
.blogspot.com/_nunnaUzLU1w/S7FWYsdewdI/AAAAAAAACj4/92TfhNIHKQI/s1600/wvv
.jpg">
DTSTART;TZID=US/Pacific:20110128
DTSTART;TZID=America/Los_Angeles:20110128
CREATED:20101231T193025Z
DTSTAMP:20110101T005414Z
DURATION:P1D
@ -345,6 +345,38 @@ X-VENUE:
X-EMAIL-RSVP-UPDATES:true
RRULE:FREQ=DAILY;COUNT=3;INTERVAL=1
END:VEVENT
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
X-TZINFO:America/Los_Angeles[2007g/Partial@883612800000]
BEGIN:DAYLIGHT
TZOFFSETTO:-0700
TZOFFSETFROM:-0800
TZNAME:America/Los_Angeles(DST)
DTSTART:19980405T020000
RRULE:FREQ=YEARLY;UNTIL=20060403T100000Z;BYMONTH=4;BYDAY=1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:-0800
TZOFFSETFROM:-0700
TZNAME:America/Los_Angeles(STD)
DTSTART:19981025T020000
RRULE:FREQ=YEARLY;UNTIL=20061030T100000Z;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:-0700
TZOFFSETFROM:-0800
TZNAME:America/Los_Angeles(DST)
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:-0800
TZOFFSETFROM:-0700
TZNAME:America/Los_Angeles(STD)
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
<
caldav_type: >VEVENT<
@ -366,7 +398,7 @@ The theme for 2011 is "Slow Food", and Willamette Valley Vineyards will be hosti
status: >NULL<
summary: >Willamette Valley Vineyards at the Oregon Truffle Festival<
transp: >NULL<
tz_id: >US/Pacific<
tz_id: >America/Los_Angeles<
uid: >56f0e0e0-f742-012d-680c-002421a2359e<
url: >http://www.oregontrufflefestival.com<
user_no: >11<

View File

@ -73,33 +73,6 @@ DTEND;TZID=Pacific/Auckland:20081024T150000
X-MOZ-GENERATION:2
END:VEVENT
BEGIN:VEVENT
LAST-MODIFIED:20080303T015422Z
SEQUENCE:5
UID:7d729xc0-0895-012d-124e-002421a2359e
SUMMARY:1st Monday, 2nd Tuesday, 3rd Thursday & Last Friday
RRULE:FREQ=MONTHLY;BYDAY=1MO,2TU,3TH,-1FR;INTERVAL=1
DESCRIPTION:An all day event on various days.
DTSTART;TZID=America/Los_Angeles:20081006T000000
CREATED:20080303T015329Z
DTSTAMP:20080303T015422Z
DURATION:P1D
END:VEVENT
BEGIN:VEVENT
LAST-MODIFIED:20081123T210725Z
SEQUENCE:6
UID:bd262d20-1cdb-012d-1264-002421a2359e
SUMMARY:Afternoon run
DESCRIPTION:
DTSTART;TZID=America/Los_Angeles:20081123T150000
CREATED:20081123T210644Z
DTSTAMP:20081123T210725Z
DURATION:PT1H
LOCATION:
RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=SU
END:VEVENT
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
X-TZINFO:America/Los_Angeles[2007g/Partial@883612800000]
@ -133,6 +106,33 @@ RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
LAST-MODIFIED:20080303T015422Z
SEQUENCE:5
UID:7d729xc0-0895-012d-124e-002421a2359e
SUMMARY:1st Monday, 2nd Tuesday, 3rd Thursday & Last Friday
RRULE:FREQ=MONTHLY;BYDAY=1MO,2TU,3TH,-1FR;INTERVAL=1
DESCRIPTION:An all day event on various days.
DTSTART;TZID=America/Los_Angeles:20081006T000000
CREATED:20080303T015329Z
DTSTAMP:20080303T015422Z
DURATION:P1D
END:VEVENT
BEGIN:VEVENT
LAST-MODIFIED:20081123T210725Z
SEQUENCE:6
UID:bd262d20-1cdb-012d-1264-002421a2359e
SUMMARY:Afternoon run
DESCRIPTION:
DTSTART;TZID=America/Los_Angeles:20081123T150000
CREATED:20081123T210644Z
DTSTAMP:20081123T210725Z
DURATION:PT1H
LOCATION:
RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=SU
END:VEVENT
BEGIN:VEVENT
LAST-MODIFIED:20110101T005414Z
SEQUENCE:12
@ -150,7 +150,7 @@ DESCRIPTION:The 6th Annual Oregon Truffle Festival will be held in and arou
the festival. Please visit www.oregontrufflefestival.com for more info and
to purchase tickets.\n\n<img src="http://4.bp.blogspot.com/_nunnaUzLU1w/S7F
WYsdewdI/AAAAAAAACj4/92TfhNIHKQI/s1600/wvv.jpg">
DTSTART;TZID=US/Pacific:20110128
DTSTART;TZID=America/Los_Angeles:20110128
CREATED:20101231T193025Z
DTSTAMP:20110101T005414Z
DURATION:P1D
@ -169,7 +169,7 @@ SELECT caldav_data.user_no, caldav_type, logged_user,
description, priority, class, transp, rrule, url,
percent_complete, tz_id, status,
caldav_data AS "A1 CalDAV DATA"
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid)
WHERE caldav_data.dav_name ~ '^/user2/home/'
ENDQUERY

View File

@ -2,7 +2,7 @@ HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, calendar-proxy, bind, addressbook, calendar-auto-schedule
ETag: "b3ace8dea004efa048f0e7db51448bf2"
ETag: "b11fc11a4033759ef4a7694f058b95cc"
Content-Length: 3932
Content-Type: text/xml; charset="utf-8"
@ -37,7 +37,7 @@ Content-Type: text/xml; charset="utf-8"
<href>/caldav.php/user2/home/</href>
<propstat>
<prop>
<C:getctag>"6151ba0f3b42abe18dd6d3958447bce6"</C:getctag>
<C:getctag>"2b0f71bb9f856c9bb9a2b43bc777a3c9"</C:getctag>
<displayname>User 2's Calendar, as uploaded by Admin</displayname>
<resourcetype>
<collection/>

View File

@ -2,7 +2,7 @@ HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, calendar-proxy, bind, addressbook, calendar-auto-schedule
ETag: "17b67d2a565c04828c7cba1a6c1e3ae4"
ETag: "d3dbd013e5ed484aa137ab06522c37bf"
Content-Length: 522
Content-Type: text/xml; charset="utf-8"
@ -13,7 +13,7 @@ Content-Type: text/xml; charset="utf-8"
<propstat>
<prop>
<displayname>User 2's Calendar, as uploaded by Admin</displayname>
<C:getctag>"6151ba0f3b42abe18dd6d3958447bce6"</C:getctag>
<C:getctag>"2b0f71bb9f856c9bb9a2b43bc777a3c9"</C:getctag>
<resourcetype>
<collection/>
<C1:calendar/>

View File

@ -2,7 +2,7 @@ HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, calendar-proxy, bind, addressbook, calendar-auto-schedule
ETag: "0574cf5138d12579c1210b476e5a6440"
ETag: "aebcb9df386edb20a7196bae7ee9f68c"
Content-Length: 2763
Content-Type: text/xml; charset="utf-8"
@ -12,7 +12,7 @@ Content-Type: text/xml; charset="utf-8"
<href>/caldav.php/user2/home/</href>
<propstat>
<prop>
<C:getctag>"6151ba0f3b42abe18dd6d3958447bce6"</C:getctag>
<C:getctag>"2b0f71bb9f856c9bb9a2b43bc777a3c9"</C:getctag>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
@ -108,7 +108,7 @@ Content-Type: text/xml; charset="utf-8"
<href>/caldav.php/user2/home/56f0e0e0-f742-012d-680c-002421a2359e.ics</href>
<propstat>
<prop>
<getetag>"61b62070fcc4fe1881e6630f6409616e"</getetag>
<getetag>"e18c0d539b6dcb56df2d266dd4305008"</getetag>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>

View File

@ -62,7 +62,7 @@
<href>/public.php/user2/home/56f0e0e0-f742-012d-680c-002421a2359e.ics</href>
<propstat>
<prop>
<getetag>"61b62070fcc4fe1881e6630f6409616e"</getetag>
<getetag>"e18c0d539b6dcb56df2d266dd4305008"</getetag>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>

View File

@ -58,7 +58,7 @@ END:VCALENDAR
class: >PRIVATE<
dav_name: >/user1/anotherone/20060803T084628Z-6040-1000-1-6@lamb.ics<
finish: >20060802T093456Z<
finish: >20060802T003456Z<
rrule: >FREQ=YEARLY;INTERVAL=1<
start: >20060801T093456Z<
start: >20060801T003456Z<

View File

@ -40,15 +40,17 @@ END:VCALENDAR
class: >PUBLIC<
dav_name: >/user1/anotherone/86203AFD481A6C42892013E6E0C4845D039A2543@AKEXBE02.telecom.tcnz.net.ics<
finish: >20070120T053000Z<
finish: >20070119T203000Z<
rrule: >NULL<
start: >20070120T053000Z<
start: >20070119T203000Z<
summary: >Reminder for Mark for Absolom Livasathan's PGP WF Services cost request<
tz_id: >NULL<
class: >PRIVATE<
dav_name: >/user1/anotherone/20060803T084628Z-6040-1000-1-6@lamb.ics<
finish: >20060802T093456Z<
finish: >20060802T003456Z<
rrule: >FREQ=YEARLY;INTERVAL=1<
start: >20060801T093456Z<
start: >20060801T003456Z<
summary: >Steve's Private Birthday<
tz_id: >NULL<

View File

@ -36,7 +36,8 @@ SELECT calendar_item.rrule,
to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS finish,
class,
calendar_item.dav_name,
calendar_item.summary
calendar_item.summary,
calendar_item.tz_id
FROM usr INNER JOIN collection USING (user_no)
INNER JOIN caldav_data USING (collection_id)
INNER JOIN calendar_item USING(dav_id)

View File

@ -66,7 +66,7 @@ QUERY
SELECT caldav_data.user_no, caldav_data.dav_name,
caldav_type, logged_user, caldav_data.caldav_data,
summary
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN time_zone USING (tz_id)
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid)
WHERE calendar_item.uid = 'PUT-attendees';
ENDQUERY

View File

@ -28,6 +28,11 @@
7
(1 row)
setval
--------
11
(1 row)
setval
--------
1000

View File

@ -28,6 +28,11 @@
7
(1 row)
setval
--------
11
(1 row)
setval
--------
1000

View File

@ -0,0 +1,14 @@
Supported locales updated.
Updated view: dav_principal.sql applied.
CalDAV functions updated.
RRULE functions updated.
Database permissions updated.
NOTE
====
* The password for the 'admin' user has been set to 'nimda'
Thanks for trying DAViCal! Check in /usr/share/doc/davical/examples/ for
some configuration examples. For help, visit #davical on irc.oftc.net.

View File

@ -0,0 +1,5 @@
Supported locales updated.
Updated view: dav_principal.sql applied.
CalDAV functions updated.
RRULE functions updated.
Database permissions updated.