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