plugins/calendar plugins/libcalendaring plugins/tasklist
Thomas Brüderli
bruederli at kolabsys.com
Thu Nov 15 15:03:13 CET 2012
plugins/calendar/drivers/calendar_driver.php | 1 +
plugins/calendar/drivers/kolab/kolab_driver.php | 5 +++++
plugins/calendar/lib/calendar_ui.php | 2 +-
plugins/libcalendaring/libcalendaring.php | 7 +++++--
plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php | 4 ++++
plugins/tasklist/drivers/tasklist_driver.php | 1 +
plugins/tasklist/tasklist_ui.php | 2 +-
7 files changed, 18 insertions(+), 4 deletions(-)
New commits:
commit 32d64e419e5fe2a1df4025603f86495981325bd6
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Thu Nov 15 15:03:00 2012 +0100
Reduce alarm settings UI to the capabilities of the Kolab 2 format
diff --git a/plugins/calendar/drivers/calendar_driver.php b/plugins/calendar/drivers/calendar_driver.php
index 88c7f45..deb7502 100644
--- a/plugins/calendar/drivers/calendar_driver.php
+++ b/plugins/calendar/drivers/calendar_driver.php
@@ -87,6 +87,7 @@ abstract class calendar_driver
public $undelete = false; // event undelete action
public $categoriesimmutable = false;
public $alarm_types = array('DISPLAY');
+ public $alarm_absolute = true;
public $last_error;
/**
diff --git a/plugins/calendar/drivers/kolab/kolab_driver.php b/plugins/calendar/drivers/kolab/kolab_driver.php
index 4bc1f63..05a2bf4 100644
--- a/plugins/calendar/drivers/kolab/kolab_driver.php
+++ b/plugins/calendar/drivers/kolab/kolab_driver.php
@@ -55,6 +55,11 @@ class kolab_driver extends calendar_driver
$this->cal->register_action('calendar-acl', array($this, 'calendar_acl'));
$this->freebusy_trigger = $this->rc->config->get('calendar_freebusy_trigger', false);
+
+ if (kolab_storage::$version == 2.0) {
+ $this->alarm_types = array('DISPLAY');
+ $this->alarm_absolute = false;
+ }
}
diff --git a/plugins/calendar/lib/calendar_ui.php b/plugins/calendar/lib/calendar_ui.php
index 8e91e68..6a8966d 100644
--- a/plugins/calendar/lib/calendar_ui.php
+++ b/plugins/calendar/lib/calendar_ui.php
@@ -327,7 +327,7 @@ class calendar_ui
*/
function alarm_select($attrib = array())
{
- return $this->cal->lib->alarm_select($attrib, $this->cal->driver->alarm_types);
+ return $this->cal->lib->alarm_select($attrib, $this->cal->driver->alarm_types, $this->cal->driver->alarm_absolute);
}
/**
diff --git a/plugins/libcalendaring/libcalendaring.php b/plugins/libcalendaring/libcalendaring.php
index ea174f2..9ad6602 100644
--- a/plugins/libcalendaring/libcalendaring.php
+++ b/plugins/libcalendaring/libcalendaring.php
@@ -239,7 +239,7 @@ class libcalendaring extends rcube_plugin
/**
* Render HTML form for alarm configuration
*/
- public function alarm_select($attrib, $alarm_types)
+ public function alarm_select($attrib, $alarm_types, $absolute_time = true)
{
unset($attrib['name']);
$select_type = new html_select(array('name' => 'alarmtype[]', 'class' => 'edit-alarm-type'));
@@ -252,9 +252,12 @@ class libcalendaring extends rcube_plugin
$input_time = new html_inputfield(array('name' => 'alarmtime[]', 'class' => 'edit-alarm-time', 'size' => 6));
$select_offset = new html_select(array('name' => 'alarmoffset[]', 'class' => 'edit-alarm-offset'));
- foreach (array('-M','-H','-D','+M','+H','+D','@') as $trigger)
+ foreach (array('-M','-H','-D','+M','+H','+D') as $trigger)
$select_offset->add($this->gettext('trigger' . $trigger), $trigger);
+ if ($absolute_time)
+ $select_offset->add($this->gettext('trigger@'), '@');
+
// pre-set with default values from user settings
$preset = self::parse_alaram_value($this->rc->config->get('calendar_default_alarm_offset', '-15M'));
$hidden = array('style' => 'display:none');
diff --git a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
index 8e9e062..49b6917 100644
--- a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
+++ b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
@@ -46,6 +46,10 @@ class tasklist_kolab_driver extends tasklist_driver
$this->plugin = $plugin;
$this->_read_lists();
+
+ if (kolab_storage::$version == 2.0) {
+ $this->alarm_absolute = false;
+ }
}
/**
diff --git a/plugins/tasklist/drivers/tasklist_driver.php b/plugins/tasklist/drivers/tasklist_driver.php
index 99e5453..40d0d9b 100644
--- a/plugins/tasklist/drivers/tasklist_driver.php
+++ b/plugins/tasklist/drivers/tasklist_driver.php
@@ -58,6 +58,7 @@ abstract class tasklist_driver
public $undelete = false; // task undelete action
public $sortable = false;
public $alarm_types = array('DISPLAY');
+ public $alarm_absolute = true;
public $last_error;
/**
diff --git a/plugins/tasklist/tasklist_ui.php b/plugins/tasklist/tasklist_ui.php
index 2b7cfe0..7df8bcc 100644
--- a/plugins/tasklist/tasklist_ui.php
+++ b/plugins/tasklist/tasklist_ui.php
@@ -173,7 +173,7 @@ class tasklist_ui
*/
function alarm_select($attrib = array())
{
- return $this->plugin->lib->alarm_select($attrib, $this->plugin->driver->alarm_types);
+ return $this->plugin->lib->alarm_select($attrib, $this->plugin->driver->alarm_types, $this->plugin->driver->alarm_absolute);
}
/**
More information about the commits
mailing list