Index: publicbookings.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/publicbookings/publicbookings.admin.inc,v
retrieving revision 1.15.2.3
diff -u -p -r1.15.2.3 publicbookings.admin.inc
--- publicbookings.admin.inc	26 Jun 2009 15:01:29 -0000	1.15.2.3
+++ publicbookings.admin.inc	14 Aug 2009 13:27:38 -0000
@@ -342,8 +342,8 @@ function publicbookings_availability_for
     }
   }
   $form['#base'] = 'publicbookings_availability_form';
-  $form['#submit'] = array('publicbookings_availability_form_submit');
-  $form['#validate'][] = 'publicbookingsavailability_form_validate';
+  $form['#submit'][] = 'publicbookings_availability_form_submit';
+  $form['#validate'][] = 'publicbookings_availability_form_validate';
   return $form;
 }
 
@@ -351,11 +351,13 @@ function publicbookings_availability_for
 function publicbookings_availability_form_validate($form, &$form_state) {
   // If we're deleting, conflicts and validity don't matter.
   if ($form_state['values']['op'] == t('Delete')) return;
-
-  if (!empty($form_state['values']['ical_rrule'])) {
-    $form_state['values']['ical_rrule_until'] = bookingsapi_rrule_until_as_dt($form_state['values']['ical_rrule']);
-    if(empty($form_state['values']['ical_rrule_until'])) {
-      form_set_error('ical_rrule', t('Recurrences must have an end date.'));
+  if ( $form_state['values']['INTERVAL'] != 0 ) {
+    $form_state['values']['rrule_until'] = $form_state['values']['UNTIL']['datetime'];
+    if (empty($form_state['values']['rrule_until'])) {
+      form_set_error('UNTIL', t('Recurrences must have an end date.'));
+    } 
+    else {
+      $form_state['values']['rrule'] = date_api_ical_build_rrule($form_state['values']);
     }
   }
   if ($form_state['values']['type'] == BOOKINGSAPI_UNA_R) {
