steffen: server/kolab-resource-handlers/kolab-resource-handlers/freebusy freebusy.class.php, 1.11, 1.12

cvs at intevation.de cvs at intevation.de
Wed Oct 27 16:32:04 CEST 2004


Author: steffen

Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/freebusy
In directory doto:/tmp/cvs-serv25613/kolab-resource-handlers/freebusy

Modified Files:
	freebusy.class.php 
Log Message:
more recurrence improvements

Index: freebusy.class.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/freebusy/freebusy.class.php,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- freebusy.class.php	26 Oct 2004 13:44:21 -0000	1.11
+++ freebusy.class.php	27 Oct 2004 14:32:02 -0000	1.12
@@ -177,6 +177,41 @@
 	  }
 	case 'monthly':
 	  // TODO
+	  $interval = (int)$rec['interval'];
+	  if( !$interval ) $interval = 1;
+	  $count = 0;
+	  for( $t = $initial_start; $t < $endstamp; $t = strtotime( "+$interval months", $t) ) {
+	    if( $rec['type'] == 'daynumber') {
+	      foreach( $rec['daynumber'] as $dayno ) {
+		$tmp = strtotime( "+$dayno days", $t);
+		if( $tmp < $endstamp ) {
+		  myLog("Adding recurrence $tmp -> ".($tmp+$duration), RM_LOG_DEBUG );
+		  $vFb->addBusyPeriod('BUSY', $tmp, null, $duration, $extra);	      
+		} else {
+		  break;
+		}
+	      }
+	      $count++;
+	    } else if( $rec['type'] == 'weekday' ) {
+	      for( $i = 0; $i < count($rec['daynumber']); $i++ ) {
+		$dayno = $rec['daynumber'][$i];
+		$wday  = $rec['day'][$i];
+		$tmp = strtotime( "+$dayno $wday", $t);
+		if( $tmp < $endstamp ) {
+		  myLog("Adding recurrence $tmp -> ".($tmp+$duration), RM_LOG_DEBUG );
+		  $vFb->addBusyPeriod('BUSY', $tmp, null, $duration, $extra);	      
+		} else {
+		  break;
+		}
+	      }
+	      $count++;
+	    }
+	    if( $rangetype == 'number' && $count > $range ) {
+	      break;
+	    } else if( $rangetype == 'date' && $t > strtotime( '+1 day',$range ) ) {
+	      break;
+	    }
+	  }
 	case 'yearly':
 	  // TODO
 	}





More information about the commits mailing list