2 commits - plugins/libkolab plugins/tasklist

Thomas Brüderli bruederli at kolabsys.com
Thu Jan 8 18:28:51 CET 2015


 plugins/libkolab/lib/kolab_storage_config.php            |   18 ++++
 plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php |   21 -----
 plugins/tasklist/tasklist.js                             |   59 +++++++++------
 3 files changed, 56 insertions(+), 42 deletions(-)

New commits:
commit 0efcfbfa07ffcdd7d9af186f84300a21cb2451bb
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Thu Jan 8 18:28:42 2015 +0100

    Assign dialog button classes directly (not on dialog open event)

diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index 9f02353..ed1972e 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -1937,7 +1937,7 @@ function rcube_tasklist_ui(settings)
 
             buttons.push({
                 text: rcmail.gettext('delete','tasklist'),
-                'class':'delete',
+                'class': 'delete',
                 click: function() {
                     if (delete_task(me.selected_task.id))
                         $dialog.dialog('close');
@@ -2127,8 +2127,11 @@ function rcube_tasklist_ui(settings)
         $('#taskedit').tabs('option', 'active', 0);
 
         // define dialog buttons
-        var buttons = {};
-        buttons[rcmail.gettext('save', 'tasklist')] = function() {
+        var buttons = [];
+        buttons.push({
+            text: rcmail.gettext('save', 'tasklist'),
+            'class': 'mainaction',
+            click: function() {
             var data = me.selected_task;
             data._status_before = me.selected_task.status + '';
 
@@ -2222,18 +2225,26 @@ function rcube_tasklist_ui(settings)
 
             if (save_task(data, action))
                 $dialog.dialog('close');
-        };
+        }  // end click:
+        });
 
         if (action != 'new') {
-            buttons[rcmail.gettext('delete', 'tasklist')] = function() {
-                if (delete_task(rec.id))
-                    $dialog.dialog('close');
-            };
+            buttons.push({
+                text: rcmail.gettext('delete', 'tasklist'),
+                'class': 'delete',
+                click: function() {
+                    if (delete_task(rec.id))
+                        $dialog.dialog('close');
+                }
+            });
         }
 
-        buttons[rcmail.gettext('cancel', 'tasklist')] = function() {
-            $dialog.dialog('close');
-        };
+        buttons.push({
+            text: rcmail.gettext('cancel', 'tasklist'),
+            click: function() {
+                $dialog.dialog('close');
+            }
+        });
 
         // open jquery UI dialog
         $dialog.dialog({
@@ -2241,9 +2252,6 @@ function rcube_tasklist_ui(settings)
           resizable: (!bw.ie6 && !bw.ie7),  // disable for performance reasons
           closeOnEscape: false,
           title: rcmail.gettext((action == 'edit' ? 'edittask' : 'newtask'), 'tasklist'),
-          open: function() {
-              $dialog.parent().find('.ui-button:not(.ui-dialog-titlebar-close)').first().addClass('mainaction');
-          },
           close: function() {
               rcmail.ksearch_blur();
               editform.hide().appendTo(document.body);
@@ -2465,6 +2473,7 @@ function rcube_tasklist_ui(settings)
             html = rcmail.gettext('deletetasktconfirm','tasklist');
             buttons.push({
                 text: rcmail.gettext('delete','tasklist'),
+                'class': 'delete',
                 click: function() {
                     _delete_task(id, 0);
                     $(this).dialog('close');
@@ -2653,9 +2662,12 @@ function rcube_tasklist_ui(settings)
         });
 
         // dialog buttons
-        var buttons = {};
+        var buttons = [];
 
-        buttons[rcmail.gettext('save','tasklist')] = function() {
+        buttons.push({
+            text: rcmail.gettext('save','tasklist'),
+            'class': 'mainaction',
+            click: function() {
             // do some input validation
             if (!name.val() || name.val().length < 2) {
                 alert(rcmail.gettext('invalidlistproperties', 'tasklist'));
@@ -2673,11 +2685,15 @@ function rcube_tasklist_ui(settings)
             saving_lock = rcmail.set_busy(true, 'tasklist.savingdata');
             rcmail.http_post('tasklist', { action:(list.id ? 'edit' : 'new'), l:data });
             $dialog.dialog('close');
-        };
+        }  // end click:
+        });
 
-        buttons[rcmail.gettext('cancel','tasklist')] = function() {
-            $dialog.dialog('close');
-        };
+        buttons.push({
+            text: rcmail.gettext('cancel','tasklist'),
+            click: function() {
+                $dialog.dialog('close');
+            }
+        });
 
         // open jquery UI dialog
         $dialog.dialog({
@@ -2685,9 +2701,6 @@ function rcube_tasklist_ui(settings)
             resizable: true,
             closeOnEscape: false,
             title: rcmail.gettext((list.id ? 'editlist' : 'createlist'), 'tasklist'),
-            open: function() {
-                $dialog.parent().find('.ui-dialog-buttonset .ui-button').first().addClass('mainaction');
-            },
             close: function() {
                 $dialog.dialog('destroy').hide();
             },


commit 854779406d8678bee5cbf2ae12d36f66e6d813f4
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Thu Jan 8 18:22:59 2015 +0100

    Move utility function to libkolab for common use

diff --git a/plugins/libkolab/lib/kolab_storage_config.php b/plugins/libkolab/lib/kolab_storage_config.php
index d58e3c0..59c191d 100644
--- a/plugins/libkolab/lib/kolab_storage_config.php
+++ b/plugins/libkolab/lib/kolab_storage_config.php
@@ -356,6 +356,24 @@ class kolab_storage_config
     }
 
     /**
+     * Simplify the given message URI by converting the mailbox
+     * part into a relative IMAP path valid for the current user.
+     */
+    public static function local_message_uri($uri)
+    {
+        if (strpos($uri, 'imap:///') === 0) {
+            $linkref = kolab_storage_config::parse_member_url($uri);
+
+            return 'imap:///' . implode('/', array_map('rawurlencode', explode('/', $linkref['folder']))) .
+                '/' . $linkref['uid'] .
+                '?' . http_build_query($linkref['params'], '', '&');
+        }
+
+        return $uri;
+    }
+
+
+    /**
      * Build array of member URIs from set of messages
      *
      * @param string $folder   Folder name
diff --git a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
index 97cdb63..6c9f418 100644
--- a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
+++ b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
@@ -825,7 +825,7 @@ class tasklist_kolab_driver extends tasklist_driver
     private function get_links($uid)
     {
         $config = kolab_storage_config::get_instance();
-        return array_map(array($this, '_convert_message_uri'), $config->get_object_links($uid));
+        return array_map(array('kolab_storage_config','local_message_uri'), $config->get_object_links($uid));
     }
 
     /**
@@ -856,23 +856,6 @@ class tasklist_kolab_driver extends tasklist_driver
     }
 
     /**
-     * Simplify the given message URI by converting the mailbox
-     * part into a relative IMAP path valid for the current user.
-     */
-    protected function _convert_message_uri($uri)
-    {
-        if (strpos($uri, 'imap:///') === 0) {
-            $linkref = kolab_storage_config::parse_member_url($uri);
-
-            return 'imap:///' . implode('/', array_map('rawurlencode', explode('/', $linkref['folder']))) .
-                '/' . $linkref['uid'] .
-                '?' . http_build_query($linkref['params'], '', '&');
-        }
-
-        return $uri;
-    }
-
-    /**
      * Extract uid + list identifiers from the given input
      *
      * @param mixed array or string with task identifier(s)
@@ -1296,7 +1279,7 @@ class tasklist_kolab_driver extends tasklist_driver
     public function get_message_uri($headers, $folder)
     {
         $uri = kolab_storage_config::get_message_uri($headers, $folder);
-        return $this->_convert_message_uri($uri);
+        return kolab_storage_config::local_message_uri($uri);
     }
 
     /**




More information about the commits mailing list