[RCD] patch for adoption

felix felix at rc0.eu
Sun Jan 24 17:18:09 CET 2010


hi,
i have patched the roundcube source, partly for ldap addressbook.
the patch is against the svn source, i will send it if useful, just don't want to flood the ml.

the updates are:

1-------------
problem: if an addressbook entry contains no mail address it does display in address autocomplete
solution: now if an addressbook entry contains no mail address it does NOT display in address autocomplete
= files modified:
program/steps/mail/autocomplete.inc

2-------------
problem: when editing or adding an addressbook entry, if a field is given an invalid value, the error is notified but the data is saved anyway.
solution: now data is not saved but the user is returned to the form to be rectified
= files modified:
program/js/app.js (function this.command)

3-------------
ldap problem: when editing addressbook entries, if a field which is part of the ldap rdn is modified, the ldap rdn is renamed but the field itself is not updated
solution: rdn is modified and the field is updated
= files modified:
program/include/rcube_ldap.h (function update)

4------------
problem: i need to use multiple "mail" fields in an ldap addressbook entry (inetOrgPerson schema).
normally an entry  in the ldap inetOrgPerson schema can contain multiple "mail" fields.
with this patch all the "mail" fields from the entry are collected and then joined (implode) in one string using a comma (,) as separator.
all subsequent uses of the "email" field of an address now split (explode) the "email" string on the ',' character and resolve it to an array.
saving an ldap address book entry converts the "email" string to multiple ldap fields by splitting (explode) as explained.
when editing an address book entry, the user can enter multiple email addresses separated by a comma.
= files modified:
program/include/rcube_ldap.h (functions _ldap2result, insert, update)
program/steps/mail/autocomplete.inc
program/steps/addressbook/show.inc (function rcmail_contact_details)
program/js/app.js (function this.command)

as for the last one, it works well for me. hopefully the same for everybody but i cannot swear.


felix
_______________________________________________
List info: http://lists.roundcube.net/dev/



More information about the Dev mailing list