steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr resmgr.php, 1.39, 1.40
cvs at intevation.de
cvs at intevation.de
Wed Oct 27 08:11:35 CEST 2004
Author: steffen
Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr
In directory doto:/tmp/cvs-serv18369/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.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- resmgr.php 27 Oct 2004 03:52:12 -0000 1.39
+++ resmgr.php 27 Oct 2004 06:11:33 -0000 1.40
@@ -876,6 +876,14 @@
// Recurrence
$rrule_str = $itip->getAttribute('RRULE');
if( !is_a( $rrule_str, 'PEAR_Error' ) ) {
+ $kolab_days = array( 'MO' => 'monday',
+ 'TU' => 'tuesday',
+ 'WE' => 'wednesday',
+ 'TH' => 'thursday',
+ 'FR' => 'friday',
+ 'SA' => 'saturday',
+ 'SO' => 'sunday');
+
$rrule_list = split(';', $rrule_str);
$rrule = array();
foreach( $rrule_list as $r ) {
@@ -891,19 +899,33 @@
break;
case 'weekly':
$days = split(',', $rrule['BYDAY']);
- $kolab_days = array( 'MO' => 'monday',
- 'TU' => 'tuesday',
- 'WE' => 'wednesday',
- 'TH' => 'thursday',
- 'FR' => 'friday',
- 'SA' => 'saturday',
- 'SO' => 'sunday');
foreach( $days as $day ) {
$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':
- // PENDING(steffen)
+ if( $rrule['BYDAY'] ) {
+ $recur_node->append_child( $kolab_xml->create_attribute( 'type', 'weekday' ));
+ $wdays = split(',', $rrule['BYDAY']);
+ foreach( $wdays as $wday ) {
+ if( ereg('([+-]?[0-9])(.*)', $wday, $regs ) ) {
+ $daynumber_node = $recur_node->append_child( $kolab_xml->create_element( 'daynumber'));
+ $daynumber_node->append_child($kolab_xml->create_text_node( $regs[1] ));
+ $day_node = $recur_node->append_child( $kolab_xml->create_element( 'day'));
+ $day_node->append_child($kolab_xml->create_text_node( $kolab_days[$regs[2]] ));
+ } else {
+ $day_node = $recur_node->append_child( $kolab_xml->create_element( 'day'));
+ $day_node->append_child($kolab_xml->create_text_node( $wday ));
+ }
+ }
+ } else if( $rrule['BYMONTHDAY'] ) {
+ $recur_node->append_child( $kolab_xml->create_attribute( 'type', 'daynumber' ));
+ $daynumbers = split(',', $rrule['BYMONTHDAY']);
+ foreach( $daynumbers as $daynumber ) {
+ $daynumber_node = $recur_node->append_child( $kolab_xml->create_element( 'daynumber'));
+ $daynumber_node->append_child($kolab_xml->create_text_node( $daynumber ));
+ }
+ }
case 'yearly':
// PENDING(steffen)
default:
More information about the commits
mailing list