[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kolab-commits
Subject:    Branch 'kolab-syncroton-2.2' - lib/kolab_sync_data_calendar.php lib/kolab_sync_data.php lib/kolab_sy
From:       Aleksander Machniak <machniak () kolabsys ! com>
Date:       2013-09-27 8:45:13
Message-ID: 20130927084513.9142D3EF1B9 () app01 ! kolabsys ! com
[Download RAW message or body]

 lib/kolab_sync_data.php          |   20 +++++++++++++++++++-
 lib/kolab_sync_data_calendar.php |    2 +-
 lib/kolab_sync_data_tasks.php    |    6 +++---
 3 files changed, 23 insertions(+), 5 deletions(-)

New commits:
commit 7d4fe8abc0e8ffcd82167b6b698f743f5a7d800e
Author: Aleksander Machniak <alec@alec.pl>
Date:   Fri Sep 27 10:41:47 2013 +0200

    Fixed alarms synchronization in direction from device to server (Bug #2178)

diff --git a/lib/kolab_sync_data.php b/lib/kolab_sync_data.php
index bdfcbb7..eae8630 100644
--- a/lib/kolab_sync_data.php
+++ b/lib/kolab_sync_data.php
@@ -875,7 +875,7 @@ abstract class kolab_sync_data implements Syncroton_Data_IData
     /**
      * Returns ActiveSync settings of specified folder
      *
-     * @param string $name  Folder name (UTF7-IMAP)
+     * @param string $name Folder name (UTF7-IMAP)
      *
      * @return array Folder settings
      */
@@ -896,6 +896,24 @@ abstract class kolab_sync_data implements Syncroton_Data_IData
     }
 
     /**
+     * Returns real folder name for specified folder ID
+     */
+    protected function getFolderName($folderid)
+    {
+        if ($folderid == $this->defaultRootFolder) {
+            $default  = $this->getDefaultFolder();
+
+            if (!is_array($default)) {
+                return null;
+            }
+
+            $folderid = isset($default['realid']) ? $default['realid'] : \
$default['serverId']; +        }
+
+        return $this->backend->folder_id2name($folderid, $this->device->deviceid);
+    }
+
+    /**
      * Convert contact from xml to kolab format
      *
      * @param Syncroton_Model_IEntry $data     Contact data
diff --git a/lib/kolab_sync_data_calendar.php b/lib/kolab_sync_data_calendar.php
index 092f0e9..d305dde 100644
--- a/lib/kolab_sync_data_calendar.php
+++ b/lib/kolab_sync_data_calendar.php
@@ -326,8 +326,8 @@ class kolab_sync_data_calendar extends kolab_sync_data implements \
                Syncroton_Data
      */
     public function toKolab(Syncroton_Model_IEntry $data, $folderid, $entry = null, \
$timezone = null)  {
-        $foldername   = $this->backend->folder_id2name($folderid, \
$this->device->deviceid);  $event        = !empty($entry) ? $entry : array();
+        $foldername   = isset($event['_mailbox']) ? $event['_mailbox'] : \
$this->getFolderName($folderid);  $config       = \
$this->getFolderConfig($foldername);  $is_exception = $data instanceof \
Syncroton_Model_EventException;  
diff --git a/lib/kolab_sync_data_tasks.php b/lib/kolab_sync_data_tasks.php
index 608c808..bade8a6 100644
--- a/lib/kolab_sync_data_tasks.php
+++ b/lib/kolab_sync_data_tasks.php
@@ -108,7 +108,7 @@ class kolab_sync_data_tasks extends kolab_sync_data
      */
     public function getEntry(Syncroton_Model_SyncCollection $collection, $serverId, \
$as_array = false)  {
-        $task  = is_array($serverId) ? $serverId : \
$this->getObject($collection->collectionId, $serverId); +        $task   = \
is_array($serverId) ? $serverId : $this->getObject($collection->collectionId, \
$serverId);  $config = $this->getFolderConfig($task['_mailbox']);
         $result = array();
 
@@ -168,8 +168,8 @@ class kolab_sync_data_tasks extends kolab_sync_data
      */
     public function toKolab(Syncroton_Model_IEntry $data, $folderid, $entry = null)
     {
-        $foldername = $this->backend->folder_id2name($folderid, \
                $this->device->deviceid);
-        $task      = !empty($entry) ? $entry : array();
+        $task       = !empty($entry) ? $entry : array();
+        $foldername = isset($task['_mailbox']) ? $task['_mailbox'] : \
$this->getFolderName($folderid);  $config     = $this->getFolderConfig($foldername);
 
         $task['allday'] = 0;


_______________________________________________
commits mailing list
commits@lists.kolab.org
https://lists.kolab.org/mailman/listinfo/commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic