Summary | Problems when synchronizing SE W880i calendar |
Queue | Synchronization |
Type | Bug |
State | Resolved |
Priority | 1. Low |
Owners | karsten (at) horde (dot) org |
Requester | hordesync (at) dk-tietze (dot) dk |
Created | 09/27/2007 (6516 days ago) |
Due | |
Updated | 10/03/2007 (6510 days ago) |
Assigned | 09/27/2007 (6516 days ago) |
Resolved | 10/03/2007 (6510 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
State ⇒ Resolved
Assigned to Karsten Fourmont
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ Problems when synchronizing SE W880i calendar
Queue ⇒ Synchronization
State ⇒ Unconfirmed
If I add some calendar entries in the kronolith calendar, I am able to
synchronize the calendar with my phone, but if I add/modify an entry
in my phone calendar and try to synchronize that the phone reports
"illegal answer from server" and the following lines are printed in
the php error log.
[26-aug-2007 10:55:08] PHP Fatal error: Call to undefined method
PEAR_Error::getUID() in /horde/kronolith/lib/Driver/sql.php on line 630
In the Horde log I have found the log output from the Kronolith delete
method where the PEAR_error occur. From the log output it seems like
the value of
"$this->_calendar" is set to a wrong calendar id, in this case an other user's
calendar(userB@example.com), and therefore "getEvent" returns a
invalid event. The event_id is ok for the given "user" value.
Aug 27 21:21:39 HORDE [debug] [kronolith]
Kronolith_Driver_sql::getByUID(): user =
"userA@example.com"; query = "SELECT event_id, event_uid, calendar_id,
event_description, event_location, event_private, event_status,
event_attendees,
event_keywords, event_title, event_category, event_recurcount,
event_recurtype,
event_recurenddate, event_recurinterval, event_recurdays, event_start,
event_end,
event_alarm, event_modified, event_exceptions, event_creator_id FROM
kronolith_events
WHERE event_uid = ?"; values = "" [on line 405 of
"/horde/kronolith/lib/Driver/sql.php"]
Aug 27 21:21:39 HORDE [debug] [kronolith] SQL Query by
DataTree_sql::getByAttributes(): SELECT c.datatree_id, c.datatree_name FROM
horde_datatree c LEFT JOIN horde_datatree_attributes a1 ON a1.datatree_id =
c.datatree_id LEFT JOIN horde_datatree_attributes a2 ON a2.datatree_id
= c.datatree_id
WHERE c.group_uid = ? AND (((a1.attribute_name = ? AND
a1.attribute_value = ?) OR
(a1.attribute_name = ? AND a1.attribute_key = ? AND a1.attribute_value
\& ?) OR
(a1.attribute_name = ? AND a1.attribute_value \& ?) OR
(a1.attribute_name = ? AND
a1.attribute_value \& ?)) AND a2.attribute_name = ? AND
a2.attribute_value = ?) AND
a1.datatree_id = a2.datatree_id GROUP BY c.datatree_id, c.datatree_name,
c.datatree_order ORDER BY c.datatree_order, c.datatree_name,
c.datatree_id [on line
1247 of "/usr/lib/php/Horde/DataTree/sql.php"]
Aug 27 21:21:39 HORDE [debug] [kronolith]
Kronolith_Driver_sql::getEvent(): user =
"userA@example.com"; query = "SELECT event_id, event_uid, event_description,
event_location, event_private, event_status, event_attendees, event_keywords,
event_title, event_category, event_recurcount, event_recurtype,
event_recurenddate,
event_recurinterval, event_recurdays, event_start, event_end, event_alarm,
event_modified, event_exceptions, event_creator_id FROM kronolith_events WHERE
event_id = ? AND calendar_id = ?"; values =
"372f25a888e61523ce131b8d4e9df255,userB@example.com" [on line 375 of
"/horde/kronolith/lib/Driver/sql.php"]
Aug 27 21:21:39 HORDE [debug] [kronolith]
Kronolith_Driver_sql::deleteEvent(): user =
"userA@example.com"; query = "DELETE FROM kronolith_events WHERE
event_id = ? AND
calendar_id = ?"; values =
"372f25a888e61523ce131b8d4e9df255,userB@example.com" [on
line 621 of "/horde/kronolith/lib/Driver/sql.php"]
As a temporary hack, I have added this line
"$this->_calendar=Auth::getAuth();" to the
function "getEvent" in Kronolith/lib/Driver/sql.php, and this seems to
solve the issue.