Commit graph

103 commits

Author SHA1 Message Date
Aleksander Machniak
51345357d6 Performance optimization in contacts search
For cases when the result is smaller than page size we get all contacts
in one query instead of separate selects.
2018-01-10 11:18:28 +01:00
Aleksander Machniak
1b801e3d0e Fix PHP7 warnings in kolab_addressbook (Bifrost#T31306) 2017-05-09 15:32:33 +02:00
Aleksander Machniak
da752c6b99 T1402: Fix bug where contact groups with the same name could be displayed as one 2016-08-09 05:55:34 -04:00
Aleksander Machniak
f3a8729856 Support rcube_addressbook::SEARCH_* constants in search mode 2016-08-08 07:43:43 -04:00
Aleksander Machniak
9d5dd5bf16 Unified get_objects/count/get_uids/select methods argument handling (#5209) 2016-03-09 11:46:26 +01:00
Aleksander Machniak
2172f4340c Performance: Consolidate metadata requests (#3989)
This changes number of cache requests from 4 to 2 for each groupware folder.
2016-02-12 13:45:58 +01:00
Aleksander Machniak
52a4b6b543 Don't search in binary data fields (T844) 2015-11-18 15:21:10 +01:00
Aleksander Machniak
8c2aac3362 Don't use Roundcube deprecated functions 2015-08-02 20:15:28 +02:00
Thomas Bruederli
6f948d0467 Finish contact audit trail (#4972) with full display and restoring of old revisions 2015-04-17 11:03:06 +02:00
Thomas Bruederli
fbb71376ab Use IMAP permissions to control address book interactions (#3025) 2015-03-11 19:54:27 +01:00
Thomas Bruederli
ac96c929dd Improve contacts search by matching words against contact properties instead of the entire search string 2015-03-03 17:05:20 +01:00
Aleksander Machniak
055c5aff13 Support contacts without email address and name, but organization (#3082) 2015-02-24 05:13:38 -05:00
Aleksander Machniak
47700a1b3c Fix duplicate contacts on the list after contact delete (#4028)
Conflicts:

	plugins/kolab_addressbook/lib/rcube_kolab_contacts.php
2014-12-05 07:03:20 -05:00
Aleksander Machniak
f97e1b5309 Performance: skip SELECT COUNT(*) query in case when result contains less records than page size 2014-11-23 05:16:21 -05:00
Aleksander Machniak
ac4f6e7562 Avoid unused variables (also fixed some bugs) found in static code analysis 2014-11-21 10:03:18 +01:00
Aleksander Machniak
b640c0cc3e Fix invalid number of contact records if folder contains groups (#3930) 2014-11-18 08:13:30 -05:00
Thomas Bruederli
32164e30bf Add new folder navigation to address book (#3046).
This patches/overwrites default functions from Roundcube core. Be careful when updating those!
2014-06-25 17:09:04 +02:00
Thomas Bruederli
b120d3958f New hierarchical folder navigation for address book (#3046) 2014-06-24 15:07:48 +02:00
Thomas Bruederli
a1b146a8dd Avoid warnings if dataset is not set 2014-06-05 10:11:48 +02:00
Aleksander Machniak
68e7adfa04 Fix invalid result count if search request returns no records (Bug #3013) 2014-04-24 15:23:41 +02:00
Thomas Bruederli
af6d366a1f Optimize access to kolab contacts using a sorted and limited query (#2828)
- Add columns for sorting in kolab_cache_contact
- Extend bin/modcache.sh script to update existing cache records
- Add setters for ORDER BY and LIMIT clauses
- Adapt the kolab_addressbook plugin to fetch contacts page-wise

ATTENTION: This changeset contains database schema changes!
Run `bin/updatedb.sh --dir plugins/libkolab/SQL --package libkolab`

Afterwards, the cached data needs to be updated. To do so, either run
  `plugins/libkolab/bin/modcache.sh update --type=contact`
or execute the following query
  DELETE FROM `kolab_folders` WHERE `type`='contact';
2014-02-10 11:46:50 +01:00
Thomas Bruederli
ea131a84e6 Refactor access to storage backend to avoid memory limit errors (#2828):
1. query backend and read contact names for sorting
2. sort index according to UI settings and fetched names
3. select the subset for the current page
4. fetch contacts for current page
2014-02-06 17:33:05 +01:00
Thomas Bruederli
0950ff12dc Tag contacts that have a birthday date set and allow to directly select them 2014-01-28 15:51:09 +01:00
Thomas Bruederli
7048e00350 Preserve categories when saving contact in web client (#2608) 2013-11-27 13:58:07 +01:00
Aleksander Machniak
e389c314a5 Always call kolab_storage_folder::count() with an argument, do not depend
on internal implementation when it is known what type is needed
2013-10-15 12:36:10 +02:00
Thomas Bruederli
e6e2044d40 Add option to display direct CardDAV urls for Kolab address books in the Roundcube UI 2013-10-03 12:44:41 +02:00
Aleksander Machniak
80afe69e40 First argument of validate() is a reference 2013-09-10 15:25:15 +02:00
Aleksander Machniak
c8174100f6 Small improvements in contacts list/search handling 2013-09-09 12:40:00 +02:00
Aleksander Machniak
d6149c398d Fixed conversion of contact date to kolab format (Bug #2094)
- Add contact in Roundcube created contacts with no email address.
2013-08-07 12:34:37 +02:00
Aleksander Machniak
60778eed8b Fix handling of composite field names (e.g. email:address) in fulltext
fields and required fields when searching contacts (Bug #2095)
2013-08-07 12:30:54 +02:00
Aleksander Machniak
4b72244126 Performance improvements in group members handling (#1997) 2013-07-03 12:16:13 +02:00
Aleksander Machniak
bba45ce59d Fix PHP warning when adding contact to a group (Bug #1989) 2013-07-01 12:04:56 +02:00
Aleksander Machniak
cab58ba233 Fix issue where going to the next page of search result will not list found records 2013-07-01 11:18:43 +02:00
Aleksander Machniak
f591f88699 Fix "incompat. declaration" error - revert part of 27e57c7335 2013-05-08 14:22:18 +02:00
Aleksander Machniak
27e57c7335 Fix undefined or unused variable errors caught in static code analysis 2013-05-07 12:16:11 +02:00
Thomas Bruederli
2c71f81e70 Merge branch 'dev/email-subtypes' 2013-05-01 15:19:13 +02:00
Aleksander Machniak
f958537e55 Fix bug where contacts were moved instead of copied. Internal date
need to be cleared when converting from kolab to Roundcube format (Bug #1767)
2013-04-18 15:45:00 +02:00
Aleksander Machniak
db055e29c7 Remove useless 'vcard' data on contact import - fixes problem with such data
serialization in kolab_cache (Bug #1711)
2013-04-12 19:05:45 +02:00
Thomas Bruederli
02fc214d00 Adapt libkolab and kolab_addressbook to support type parameters for email addresses 2013-03-21 10:02:35 +01:00
Aleksander Machniak
8dfc52cae0 Fix importing photo and notes fields (Bug #1635). Values of these fields
were imported from vCard as one-element-arrays. Setting limit=1 on these
fields makes that the array is converted to string as needed.
2013-02-20 09:36:04 +01:00
Aleksander Machniak
cbb7db9361 Fix searching in date fields - raleted to Roundcube issue #1488888 2013-01-07 15:31:08 +01:00
Aleksander Machniak
892d91af3e Fix saving birthday date in XML after import from vCard 2012-12-31 17:41:30 +01:00
Thomas Bruederli
09507e862c Provide a valid name for group members 2012-11-15 15:29:15 +01:00
Thomas Bruederli
ba4fd440f6 Fix saving data to allow contact photos to be deleted 2012-11-13 17:45:53 +01:00
Aleksander Machniak
bef8355aff raise_error() -> rcube::raise_error() 2012-11-06 11:46:15 +01:00
Aleksander Machniak
2d08c58e56 Fix/prepare plugins to use out of Roundcube (where rcmail object doesn't exist) 2012-10-17 11:54:25 +02:00
Thomas Bruederli
5be0b06fcb Remove existing id/uid attributes when inserting a new contact (#1101) 2012-10-17 11:27:54 +02:00
Thomas Bruederli
8d2cefff39 Fix creation of distribution lists AKA contact groups in Roundcube (#1045) 2012-09-26 17:49:32 +02:00
Aleksander Machniak
1c57ac425d Partial fix for #1030 2012-09-20 09:39:15 +02:00
Thomas Bruederli
44465cb2b0 Make contact sorting case-insensitive 2012-05-30 18:28:49 +02:00