steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr resmgr.php, 1.37, 1.38
cvs at intevation.de
cvs at intevation.de
Wed Oct 27 05:28:57 CEST 2004
Author: steffen
Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr
In directory doto:/tmp/cvs-serv15048/kolab-resource-handlers/resmgr
Modified Files:
resmgr.php
Log Message:
more recurrence improvements
Index: resmgr.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/resmgr.php,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- resmgr.php 26 Oct 2004 02:03:56 -0000 1.37
+++ resmgr.php 27 Oct 2004 03:28:55 -0000 1.38
@@ -813,11 +813,16 @@
$kolab_node->append_child($kolab_xml->create_text_node($uid));
$kolab_node = $kolab_event->append_child($kolab_xml->create_element('organizer'));
- $orgnzr_node = $kolab_node->append_child($kolab_xml->create_element('display-name'));
+ $org_params = $itip->getAttribute('ORGANIZER', true);
+ if( !is_a( $org_params, 'PEAR_Error' ) ) {
+ $orgcn = $org_params['CN'];
+ $orgnzr_node = $kolab_node->append_child($kolab_xml->create_element('display-name'));
+ $orgnzr_node->append_child($kolab_xml->create_text_node($orgcn));
+ }
$orgnzr_node = $kolab_node->append_child($kolab_xml->create_element('smtp-address'));
- $orgnzr_node->append_child($kolab_xml->create_text_node(
- $itip->getAttributeDefault('ORGANIZER', '')
- ));
+ $orgemail = $itip->getAttributeDefault('ORGANIZER', '');
+ if( eregi('mailto:(.*)', $orgemail, $regs ) ) $orgemail = $regs[1];
+ $orgnzr_node->append_child($kolab_xml->create_text_node( $orgemail ));
$kolab_node = $kolab_event->append_child($kolab_xml->create_element('summary'));
$kolab_node->append_child($kolab_xml->create_text_node(
@@ -847,15 +852,20 @@
if( !is_array( $attendees_params ) ) $attendees_params = array( $attendees_params );
for( $i = 0; $i < count($attendees); $i++ ) {
$attendee_node = $kolab_event->append_child($kolab_xml->create_element('attendee'));
+ $dispname_node = $attendee_node->append_child($kolab_xml->create_element('display-name'));
+ $dispname_node->append_child($kolab_xml->create_text_node($attendees_params[$i]['CN']));
$kolab_node = $attendee_node->append_child($kolab_xml->create_element('smtp-address'));
- $kolab_node->append_child($kolab_xml->create_text_node($attendees[$i]));
+ $attendeeemail = $attendees[$i];
+ if( eregi('mailto:(.*)',$attendeeemail,$regs) ) {
+ $attendeeemail = $regs[1];
+ }
+ $kolab_node->append_child($kolab_xml->create_text_node($attendeeemail));
$kolab_node = $attendee_node->append_child($kolab_xml->create_element('status'));
$kolab_node->append_child($kolab_xml->create_text_node(strtolower($attendees_params[$i]['PARTSTAT'])));
+ $kolab_node = $attendee_node->append_child($kolab_xml->create_element('request-response'));
if( $attendees_params[$i]['RSVP'] == 'FALSE' ) {
- $kolab_node = $attendee_node->append_child($kolab_xml->create_element('status'));
$kolab_node->append_child($kolab_xml->create_text_node('false'));
} else {
- $kolab_node = $attendee_node->append_child($kolab_xml->create_element('status'));
$kolab_node->append_child($kolab_xml->create_text_node('true'));
}
$kolab_node = $attendee_node->append_child($kolab_xml->create_element('role'));
@@ -871,14 +881,15 @@
foreach( $rrule_list as $r ) {
list( $k, $v ) = split( '=', $r );
$rrule[$k]=$v;
+ myLog('RRULE['.$k.']='.$v, RM_LOG_DEBUG);
}
$recur_node = $kolab_event->append_child($kolab_xml->create_element('recurrence'));
$freq = strtolower($rrule['FREQ']);
$recur_node->append_child( $kolab_xml->create_attribute( 'cycle', $freq ));
switch( $freq ) {
- case 'DAILY':
+ case 'daily':
break;
- case 'WEEKLY':
+ case 'weekly':
$days = split(',', $rrule['BYDAY']);
$kolab_days = array( 'MO' => 'monday',
'TU' => 'tuesday',
@@ -891,9 +902,9 @@
$day_node = $recur_node->append_child( $kolab_xml->create_element( 'day'));
$day_node->append_child($kolab_xml->create_text_node($kolab_days[$day]));
}
- case 'MONTHLY':
+ case 'monthly':
// PENDING(steffen)
- case 'YEARLY':
+ case 'yearly':
// PENDING(steffen)
default:
// Not supported
@@ -903,8 +914,15 @@
// PENDING(steffen): Implement ranges
$range_node = $recur_node->append_child( $kolab_xml->create_element( 'range' ));
- $range_node->append_child( $kolab_xml->create_attribute( 'type', 'none' ));
- $range_node->append_child($kolab_xml->create_text_node(''));
+ if( $rrule['COUNT'] ) {
+ $range_node->append_child( $kolab_xml->create_attribute( 'type', 'number' ));
+ $range_node->append_child($kolab_xml->create_text_node($rrule['COUNT']));
+ } else if( $rrule['UNTIL'] ) {
+ $range_node->append_child( $kolab_xml->create_attribute( 'type', 'date' ));
+ $range_node->append_child($kolab_xml->create_text_node($rrule['UNTIL']));
+ } else {
+ $range_node->append_child( $kolab_xml->create_attribute( 'type', 'none' ));
+ }
}
More information about the commits
mailing list