[Tickets #12480] Re: Autocomplete includes all addresses for a user where any of them match

noreply at bugs.horde.org noreply at bugs.horde.org
Thu Jul 25 11:33:07 UTC 2013


Ticket URL: http://bugs.horde.org/ticket/12480
  Ticket             | 12480
  Updated By         | simon at simonandkate.net
  Summary            | Autocomplete includes all addresses for a user where
                     | any of them match
  Queue              | IMP
  Version            | 6.1.3
  Type               | Enhancement
  State              | Feedback
  Priority           | 1. Low
  Milestone          |
  Patch              |
  Owners             |

simon at simonandkate.net (2013-07-25 11:33) wrote:

I got it...

I see this when typing "simona" in for AC:

2013-07-25T10:56:12+00:00 DEBUG: HORDE [turba] SQL  (0.0023s)
	SELECT object_id, object_type, owner_id, object_members,
	  object_lastname, object_firstname, object_middlenames,
	  object_namesuffix, object_email FROM turba_objects WHERE (owner_id =
	  'simon' AND ((LOWER(object_lastname) LIKE LOWER('%simona%') OR
	  LOWER(object_firstname) LIKE LOWER('%simona%') OR
	  LOWER(object_middlenames) LIKE LOWER('%simona%') OR
	  LOWER(object_namesuffix) LIKE LOWER('%simona%')) OR
	  LOWER(object_email) LIKE LOWER('%simona%') OR LOWER(object_email2)
	  LIKE LOWER('%simona%') OR LOWER(object_email3) LIKE
	  LOWER('%simona%'))) [pid 12252 on line 558 of  
2013-07-25T10:56:12+00:00 DEBUG: HORDE [turba] LDAP query by  
Turba_Driver_ldap::_search(): user = simon, root =  
ou=shared_addressbook,dc=simonandkate,dc=lan (ldap.simonandkate.lan);  
filter = "(|(cn=*simona*)(mail=*simona*))"; attributes = "dn,  
turbaType, turbaMembers, cn, mail, sn"; deref = "0"  ; sizelimit = 200  
[pid 12252 on line 195 of "/var/www/horde/turba/lib/Driver/Ldap.php"]

The "aquenta" email address that is being returned in the graphic  
attached to this ticket is located in SQL object_email only, not in  
LDAP at all.

Manually executing that SQL statement shows me that the script is  
matching the "simona" as LIKE against object_email2 for Katie (where  
that address resides), but then the SELECT statement is only returning  
object_email, which contains the aquenta email address.

If I exclude the LDAP directory from the search, I see object_email  
returned for the two SQL address book entries that match:

Mine, where object_email is simon AT simonandkate.net, and katie's  
where it is AT aquenta..., thus returning an email address that does  
not match the search query. So I have no way of auto-completing  
Katie's simonandkate email address unless I move it to object_email  
instead of object_email2, despite that AC actually searches them all  
for matches.

More information about the bugs mailing list