Summary | Bug In SyncML calendar for Nokia devices |
Queue | Horde Base |
Queue Version | 3.3.9 |
Type | Bug |
State | Not A Bug |
Priority | 1. Low |
Owners | mrubinsk (at) horde (dot) org |
Requester | fabio.bas (at) officineinformatiche (dot) net |
Created | 09/30/2010 (5375 days ago) |
Due | |
Updated | 10/06/2010 (5369 days ago) |
Assigned | 10/05/2010 (5370 days ago) |
Resolved | 10/06/2010 (5369 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | Yes |
State ⇒ Not A Bug
creates non-numeric values here also. Closing, this is not a bug.
not an issue.
I was currently testing using the dummy "Sql" Syncml backend included
in horde, using numerical suids.
State ⇒ Feedback
are the array keys getting "cleared and renumbered"? array_merge
should not reorder the keys unless they are numeric, which guids are
not. The tasks and the calendar entries shouldn't have equal guids
either, so there should be no overwriting. Or do I misunderstand the
issue?
State ⇒ Assigned
Assigned to Michael Rubinsky
sounds reasonable.
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ Bug In SyncML calendar for Nokia devices
Queue ⇒ Horde Base
Milestone ⇒
Patch ⇒ Yes
State ⇒ Unconfirmed
$this->_server_adds, $this->_server_replaces and
$this->_server_deletes contains arrays mapping suids (array keys) to
cuids (array values), like this:
---
array (
suid1 => cuid1,
suid2 => cuid2
);
---
If $device->handleTasksInCalendar() is true and the current database
being synced is "calendar", those array will be merged to the
corrispective add, replace and delete arrays for the "tasks" database.
The merge is made using array_merge, that clears the keys re-numbering
them; this causes the wrong suids being retrieved from the database.
Merging the arrays using the += operator solves the issue (if the
device is reported to handle tasks in calendar, no key collision is
supposed to be possible)
---
$this->_server_adds += $this->_server_task_adds;
$this->_server_replaces += $this->_server_replaces;
$this->_server_deletes += $this->_server_deletes;
---
---