Summary | Failing to delete multiple contacts as requested by device |
Queue | Turba |
Queue Version | Git master |
Type | Bug |
State | Resolved |
Priority | 2. Medium |
Owners | mrubinsk (at) horde (dot) org |
Requester | carlos.velasco (at) nimastelecom (dot) com |
Created | 08/08/2013 (4346 days ago) |
Due | |
Updated | 08/08/2013 (4346 days ago) |
Assigned | |
Resolved | 08/08/2013 (4346 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
commit 2440279642f1892a1f7ac9dcb5e7466d283d3165
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date: Thu Aug 8 18:43:37 2013 -0400
Fix phpdoc related to
Bug: 12554.../Core/lib/Horde/Core/ActiveSync/Connector.php | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
http://git.horde.org/horde-git/-/commit/2440279642f1892a1f7ac9dcb5e7466d283d3165
method calls takes an array. The problem is since the driver's delete
method did not return a boolean, the Turba_Api::delete method would
exit after the first iteration.
I think the function deleteMessage in ActiveSync/Driver.php takes an array:
* @param array $ids The message ids to delete
public function deleteMessage($folderid, array $ids)
And in this case, as it is a contact delete:
case self::CONTACTS_FOLDER_UID:
try {
$this->_connector->contacts_delete($ids);
But param in connector function is string, not array:
* @param string $uid The UID of the contact to remove
public function contacts_delete($uid)
Queue ⇒ Turba
State ⇒ Resolved
commit 5777c51990f6b3406d05d29c2d4d8fd1ed3418b9
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date: Thu Aug 8 18:14:13 2013 -0400
Bug: 12554Turba_Driver::delete() does not return a boolean.turba/lib/Api.php | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
http://git.horde.org/horde-git/-/commit/5777c51990f6b3406d05d29c2d4d8fd1ed3418b9
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ Failing to delete multiple contacts as requested by device
Queue ⇒ Synchronization
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
1 contact only the first one in the input is removed (deleted).
Input is like:
2013-08-08T23:15:25+02:00 DEBUG: [6461] I <Remove>
2013-08-08T23:15:25+02:00 DEBUG: [6461] I <ServerEntryId>
2013-08-08T23:15:25+02:00 DEBUG: [6461] I
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2013-08-08T23:15:25+02:00 DEBUG: [6461] I </ServerEntryId>
2013-08-08T23:15:25+02:00 DEBUG: [6461] I </Remove>
2013-08-08T23:15:25+02:00 DEBUG: [6461] I <Remove>
2013-08-08T23:15:25+02:00 DEBUG: [6461] I <ServerEntryId>
2013-08-08T23:15:25+02:00 DEBUG: [6461] I
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
2013-08-08T23:15:25+02:00 DEBUG: [6461] I </ServerEntryId>
2013-08-08T23:15:25+02:00 DEBUG: [6461] I </Remove>
2013-08-08T23:15:25+02:00 INFO: [6461]
Horde_Core_ActiveSync_Driver::_smartStatMessage(@Contacts@, Array)
2013-08-08T23:15:25+02:00 INFO: [6461] Updating state during delete
2013-08-08T23:15:25+02:00 INFO: [6461]
Horde_Core_ActiveSync_Driver::_smartStatMessage(@Contacts@, Array)
2013-08-08T23:15:25+02:00 INFO: [6461] Updating state during delete
2013-08-08T23:15:25+02:00 INFO: [6461]
Horde_Core_ActiveSync_Driver::deleteMessage() @Contacts@: Array
(
[0] => xxxxxxxxxxxxxxxxxxxx
[1] => yyyyyyyyyyyyyyyyyyyy
)
In the debug logs of Horde, there is only *one* delete:
Aug 8 23:15:25 user:debug HORDE: HORDE: [turba] SQL (0.0403s)
SELECT object_id, owner_id, object_type, object_members, object_uid,
object_firstname, object_lastname, object_middlenames,
object_nameprefix, object_namesuffix, object_alias,
object_yomifirstname, object_yomilastname, object_bday,
object_anniversary, object_spouse, object_photo, object_phototype,
object_homestreet, object_homepob, object_homecity,
object_homeprovince, object_homepostalcode, object_homecountry,
object_workstreet, object_workpob, object_workcity,
object_workprovince, object_workpostalcode, object_workcountry,
object_otherstreet, object_otherpob, object_othercity,
object_otherprovince, object_otherpostalcode, object_othercountry,
object_department, object_manager, object_assistant, object_tz,
object_homeemail, object_homephone, object_homephone2,
object_homefax,
object_workphone, object_workphone2, object_cellphone,
object_carphone, object_radiophone, object_companyphone,
object_assistantphone, object_fax, object_pager, object_title,
object_role, object_company, object_logo, object_logotype,
object_category, object_notes, object_url, object_freebusyurl,
object_pgppublickey, object_smimepublickey, object_imaddress,
object_imaddress2, object_imaddress3, object_workemail FROM
turba_objects WHERE (object_uid =
'xxxxxxxxxxxxxxxxxxxxxxxxxxx' AND
owner_id = 'zzzzzzzzzzzzzzzzzzz') [pid 6461 on line 319 of
"/usr/share/pear/Horde/Db/Adapter/Mysqli.php"]
Aug 8 23:15:25 user:debug HORDE: HORDE: [turba] SQL (0.0019s)
SELECT object_id, owner_id, object_type, object_members, object_uid,
object_firstname, object_lastname, object_middlenames,
object_nameprefix, object_namesuffix, object_alias,
object_yomifirstname, object_yomilastname, object_bday,
object_anniversary, object_spouse, object_photo, object_phototype,
object_homestreet, object_homepob, object_homecity,
object_homeprovince, object_homepostalcode, object_homecountry,
object_workstreet, object_workpob, object_workcity,
object_workprovince, object_workpostalcode, object_workcountry,
object_otherstreet, object_otherpob, object_othercity,
object_otherprovince, object_otherpostalcode, object_othercountry,
object_department, object_manager, object_assistant, object_tz,
object_homeemail, object_homephone, object_homephone2,
object_homefax,
object_workphone, object_workphone2, object_cellphone,
object_carphone, object_radiophone, object_companyphone,
object_assistantphone, object_fax, object_pager, object_title,
object_role, object_company, object_logo, object_logotype,
object_category, object_notes, object_url, object_freebusyurl,
object_pgppublickey, object_smimepublickey, object_imaddress,
object_imaddress2, object_imaddress3, object_homeemail,
object_workemail FROM turba_objects WHERE object_id IN
('wwwwwwwwwwwwwwwww') AND owner_id =
'zzzzzzzzzzzzzzzzzzzzzzzzzzz' [pid 6461 on line 319 of
"/usr/share/pear/Horde/Db/Adapter/Mysqli.php"]
Aug 8 23:15:25 user:debug HORDE: HORDE: [turba] SQL (0.0028s)
DELETE FROM turba_objects WHERE object_id =
'wwwwwwwwwwwwwwww' [pid 6461 on line 319 of
"/usr/share/pear/Horde/Db/Adapter/Mysqli.php"]