diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php index a3de2cbd..ecb58939 100644 --- a/plugins/calendar/drivers/kolab/kolab_calendar.php +++ b/plugins/calendar/drivers/kolab/kolab_calendar.php @@ -49,7 +49,7 @@ class kolab_calendar { if ($imap_folder) $this->imap_folder = $imap_folder; - + write_log('err_log',$imap_folder); // ID is derrived from folder name $this->id = strtolower(asciiwords(strtr($this->imap_folder, '/.', '--'))); @@ -212,11 +212,30 @@ class kolab_calendar return $updated; } + /** + * Delete an event record + * + * @see Driver:remove_event() + * @return boolean True on success, False on error + */ public function delete_event($event) { - return true; + $deleted = false; + $deleteme = $this->storage->delete($event['id']); + if (PEAR::isError($deleteme)) { + raise_error(array( + 'code' => 600, 'type' => 'php', + 'file' => __FILE__, 'line' => __LINE__, + 'message' => "Error saving contact object to Kolab server:" . $deleteme->getMessage()), + true, false); + } + else { + $deleted = true; + } + + return $deleted; } @@ -311,7 +330,7 @@ class kolab_calendar 'alarms' => $alarm_value . $alarm_unit, 'categories' => $rec['categories'], 'free_busy' => $rec['show-time-as'], - 'priority' => 1, // normal + 'priority' => $rec['priority'], // normal 'sensitivity' => $sensitivity_map[$rec['sensitivity']], 'calendar' => $this->id, ); @@ -335,12 +354,13 @@ class kolab_calendar 'end-date'=>$event['end'], 'sensitivity'=>$this->sensitivity_map[$event['sensitivity']], 'show-time-as' => $event['free_busy'], + 'priority' => $event['priority'] ); //handle alarms - if ($event['alarms']) - { + if ($event['alarms']) { + //get the value $alarmbase = explode(":",$event['alarms']); @@ -367,4 +387,6 @@ class kolab_calendar return $object; } + + } diff --git a/plugins/calendar/drivers/kolab/kolab_driver.php b/plugins/calendar/drivers/kolab/kolab_driver.php index 5cd177ea..3a54c455 100644 --- a/plugins/calendar/drivers/kolab/kolab_driver.php +++ b/plugins/calendar/drivers/kolab/kolab_driver.php @@ -64,7 +64,7 @@ class kolab_driver extends calendar_driver } else { foreach ($folders as $c_folder) { - $calendar = new kolab_calendar($c_folder->name); + $calendar = new kolab_calendar($c_folder->name); $this->folders[$calendar->id] = $calendar; if ($calendar->ready) { $this->calendars[$calendar->id] = array( @@ -128,7 +128,7 @@ class kolab_driver extends calendar_driver */ public function edit_calendar($prop) { - return false; + return false; } /** @@ -138,6 +138,7 @@ class kolab_driver extends calendar_driver */ public function remove_calendar($prop) { + return false; } @@ -207,6 +208,10 @@ class kolab_driver extends calendar_driver */ public function remove_event($event) { + if (($storage = $this->_get_storage($event['calendar'])) && ($ev = $storage->get_event($event['id']))) + $rt = $storage->delete_event($event + $ev); + if($rt==true) + $this->rc->output->show_message('calendar.successremoval', 'success'); return $rt; return false; } diff --git a/plugins/calendar/lib/calendar_ui.php b/plugins/calendar/lib/calendar_ui.php index 27fd3ae6..5c091933 100644 --- a/plugins/calendar/lib/calendar_ui.php +++ b/plugins/calendar/lib/calendar_ui.php @@ -190,6 +190,7 @@ class calendar_ui $select->add($this->calendar->gettext('free'), 'free'); $select->add($this->calendar->gettext('busy'), 'busy'); $select->add($this->calendar->gettext('outofoffice'), 'outofoffice'); + $select->add($this->calendar->gettext('tentative'), 'tentative'); return $select->show(null); } diff --git a/plugins/calendar/localization/en_US.inc b/plugins/calendar/localization/en_US.inc index 4afd60ca..c5b1c13c 100644 --- a/plugins/calendar/localization/en_US.inc +++ b/plugins/calendar/localization/en_US.inc @@ -40,12 +40,13 @@ $labels['date'] = 'Date'; $labels['start'] = 'Start'; $labels['end'] = 'End'; $labels['choose_date'] = 'Choose date'; -$labels['freebusy'] = 'Show as'; +$labels['freebusy'] = 'Show me as'; $labels['free'] = 'Free'; $labels['busy'] = 'Busy'; $labels['outofoffice'] = 'Out of Office'; +$labels['tentative'] = 'Tentative'; $labels['priority'] = 'Priority'; -$labels['sensitivity'] = 'Sensitivity'; +$labels['sensitivity'] = 'Privacy'; $labels['public'] = 'public'; $labels['private'] = 'private'; $labels['confidential'] = 'confidential'; @@ -98,6 +99,7 @@ $labels['operationfailed'] = "The requested operation failed"; $labels['invalideventdates'] = "Invalid dates entered! Please check your input."; $labels['invalidcalendarproperties'] = "Invalid calendar properties! Please set a valid name."; $labels['searchnoresults'] = 'No events found in the selected calendars'; +$labels['successremoval'] = "The event was deleted successfully"; // recurrence form $labels['repeat'] = 'Repeat';