logout+mbstring stuff), small modification to use the already exiting
methodes to generate full name and fileas)
The code is commited to trunk only at the moment to allow testing of it.
If everything goes well, we intend to commit it to 1.4 branch too.
Here's the original description of the patch by Patrick:
- handles the default config for current versions of funambol (i.e. the
scard/stask/snote/scal locations)
- tries to be a bit smarter on how the data content should be encoded
based on what the client specified (sif+base64/vcard, / fragmented or
not, etc.)
- workaround a bug in some versions of funambol, where funambol does not
specify the proper sif type for the type of requested data
- imported patch #117 from egw's tracker
- make sure that the logs generated by the horde code go to stderr so
they can be view in the webserver's logs
- as much as possible reduce code duplication. For example, the
categories are handled in the parent classes for both the SIF avn VCAL
formats for each type of data (addressbook,infolog,calendar).
- make sure the code can handle more than one categories in each
direction
- treat the 'sony ericsson' vendor string just like 'sonyericsson', the
newer phones apparently have a space in the vendor string... (this
touches some files in the icalsrv as well)
- handle notes: these should now work with everything (funambol or
other)
- remove more code duplication: the syncml "api" for the various data
types (calendar, contacts, infolog) is now common for both the vcard and
sif data formats (cf the files that need to be removed)
- handle the "privat" filter in infolog like the "private" filter (some
part of the code use the name without the trailing e)
- imported patch # 267 from egw's tracker
- if no owner/addressbook set on update load owner AND private from the existing contact
- if no owner/addressbook set for new entries, use the add_default prefs if set and the personal adb of the user if not"
- filter for business country
- sorting by postal code
- add can create now already linked entries by specifying app/id pairs in the url (as eg. timesheet)
- setting egw_info[flags][currentid] in view to allow to add already linked entries via quick add
some bugfixes:
- sql can now change the ownership if a user gets deleted, ldap implementation still missing, but gives no more error
- photo template was not shown under some circumstances
- own sorting (default: Company: Last name, First name)
- Company: Last name, First name
- Company, Department: Last name, First name
- Company, City: Last name, First name
- Company, Department, City: Last name, First name
- new hook editaccountcontact to sync other apps with these data
- admin ACL "edit users" is now respected by the contact class for account-contact-data too (you can deny admins to edit accounts)
- fixed bug in ldap-backend: it was deleting all not set contact fields
- all (sql) accounts have now allways a contact associated with them (account_id is added as new column to the contacts table)
- contacts queries are simplefied a lot now, as no more join with the accouns-table, union and case when statesments are necessary
- lot of the special handling for accounts in the contacts class is no longer needed
- new contact-repository mode "sql-ldap" which additional writes all changes to the ldap repository, to allow to use it read-only from eg. thunderbird and still have the full sql speed and features within eGW (not yet fully working!)
==> requites update of API and addressbook to work (setup!)
- prevent deleting of own account (as in admin)
- return for accounts account_id and _lid as the sql class does
- do not redirect to admin.uiaccounts.delete_user if no account_id set, as I deletes the current user ;-)
- addressbook now supports contacts in SQL and accounts in LDAP
- added supported objectClasses and a README in new doc dir
- ldap::quote() against LDAP query injection
- got jpegphoto in LDAP working (they are binary)
- we support now mozillaAbPersonAlpha and the older mozillaOrgPerson schema, beside inetOrpPerson and evolutionPerson
- added sorting, letter-search and limited result sets for LDAP
still missing is to disable the organisation stuff in the UI for LDAP
- search for (not yet working) extended search is called now ex_search (will be replaced by search)
- some parameter cleanups
- some changes for the new API contacts class, which just extends the bocontacts class of addressbook
- User accounts are an own addressbook now
- every user and group (can) have an own addressbook
- for groups the accessrights no longer depend on the creator
- new acl for adding into an addressbook
- all addressbooks can be displayed together (eg. accounts mixed with personal and group AB's)
- some useful new fields (photo, private cellphone, ...) and some obscure ones have been removed
- db update puts all contacts in the owners personal addressbook (further manual migration tools will follow), thought the UI already allows to mass-move them into a group-addressbook
- group addressbooks in SQL are created by making a group-grant for addressbook (like filemanger)
- Warning: all import/export/xmlrpc/syncml stuff and other apps accessing the addressbook is broken until the contacts class in the API gets fixed!
- it depends on further updates of etemplate, phpgwapi, admin!
==> it's pretty cool (specialy the foto's), but NOT ready for a production server !!!
Admin can now define multiple addressbooks each with an own edit / view template and an own icon.
Atm. all Addressbooks are stored in one backend, but this will change soon^tm
- db stores now server-time as everywhere in eGW
- contacts-class in the api and bocontacts in addressbook take and deliver user-time
- xmlrpc gives user-time as the other apps too