[Tickets #13706] syncML Calendar sync broken

noreply at bugs.horde.org noreply at bugs.horde.org
Thu Nov 20 11:42:03 UTC 2014


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: https://bugs.horde.org/ticket/13706
------------------------------------------------------------------------------
  Ticket             | 13706
  Created By         | horde at albasoft.com
  Summary            | syncML Calendar sync broken
  Queue              | Synchronization
  Version            | Git master
  Type               | Bug
  State              | Unconfirmed
  Priority           | 2. Medium
  Milestone          |
  Patch              | 1
  Owners             |
------------------------------------------------------------------------------


horde at albasoft.com (2014-11-20 11:42) wrote:

I get this error when sending a new event from syncML Funambol client  
to Horde:

2014-11-20T11:02:56+01:00 ERR: HORDE Unable to find addition timestamp  
for server id Array at 0 [pid 7208 on line 322 of  
"Horde/SyncMl/Sync.php"]
2014-11-20T11:02:56+01:00 WARN: HORDE PHP ERROR: PDO::quote() expects  
parameter 1 to be string, array given [pid 7208 on line 308 of  
"Horde/Db/Adapter/Pdo/Base.php"]
2014-11-20T11:02:56+01:00 ERR: HORDE SQL QUERY FAILED:  
SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near ","
LINE 1: ...tner, syncml_db, syncml_uid, syncml_cuid) VALUES (, 0, 'fmz-...
                                                              ^
         INSERT INTO horde_syncml_map (syncml_suid, syncml_timestamp,
           syncml_syncpartner, syncml_db, syncml_uid, syncml_cuid) VALUES (, 0,
           'fmz-l6IH/XXXXXXXXXX==', 'calendar', 'xxxxx',
           'XXXXXXXXXXXXXXXXXXX') [pid 7208 on line 204 of  
"Horde/Db/Adapter/Pdo/Base.php"]

The new event is created at Horde database. But all sync is lost, and  
any editing will create a new event.

Searching into code, I've found that new events are added one by one  
to Horde backend using "import" from Kronolith/lib/Api.php.
That call returns an array of suid, while just a string is expected at  
"addEntry" in Horde/SyncMl/Backend/Horde.php.

The attached patch avoids that, because it never imports more than one  
element at a time, although I guess it has to be fixed somewhere else:
- All other "import" API calls return a string, but Kronolith and Nag.
- Nag "import" returns an array, or a string for a single element .
- Kronolith "import" returns an array.





More information about the bugs mailing list