Commit graph

1612 commits

Author SHA1 Message Date
Thomas Bruederli
c47d2da4e7 Decode escaped commas in various ical property values 2014-02-26 12:15:03 +01:00
Aleksander Machniak
9f7cd83f92 Make 3rd argument of kolab_storage_cache::save() really optional (Bug #2863) 2014-02-25 10:47:10 +01:00
Thomas Bruederli
f6a381c72f Merge branch 'master' of ssh://git.kolab.org/git/roundcubemail-plugins-kolab 2014-02-21 16:35:03 +01:00
Aleksander Machniak
0a79c185ed Add missing columns in initial.sql file (Bug #2867) 2014-02-20 17:32:30 +01:00
Aleksander Machniak
71c66461d5 Load per-user settings/plugins also just after log in 2014-02-20 15:41:12 +01:00
Thomas Bruederli
8449be6657 Move child tasks to new list if changed during edit 2014-02-20 09:50:03 +01:00
Aleksander Machniak
59f1612909 Merge branch 'master' of ssh://git.kolab.org/git/roundcube 2014-02-20 09:45:26 +01:00
Aleksander Machniak
ba1b8238aa Update version number in initial DDL file (Bug #2867) 2014-02-20 09:35:58 +01:00
Thomas Bruederli
f18f76ee4c Fix moving tasks to another list from the edit dialog (#2865) 2014-02-20 09:26:15 +01:00
Thomas Bruederli
e203211ece Log an object's UID with libkolabxml warnings 2014-02-19 18:56:59 +01:00
Thomas Bruederli
351f7d6153 Avoid null values for empty fields 2014-02-10 16:01:49 +01:00
Thomas Bruederli
bc1164e943 Remove non-unicode characters from sort cols 2014-02-10 14:10:36 +01:00
Thomas Bruederli
7c32605d14 Fix fatal error when attempting to set user on a rcube instance 2014-02-10 12:03:59 +01: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
acbd45001c Return null on error for UID queries (to remain backwards compatible) 2014-02-10 11:39:24 +01:00
Thomas Bruederli
22a1c7a7ee Don't set error state on simple arrays; simplify query 2014-02-10 09:27:16 +01:00
Thomas Bruederli
816356813c Save error state in kolab_storage_cache::select() return value 2014-02-10 08:51:51 +01:00
Thomas Bruederli
98741574d9 Always return a valid array/iterator 2014-02-07 13:24:11 +01:00
Thomas Bruederli
449b4d044a Init iterator key with 0 2014-02-07 09:30:08 +01:00
Thomas Bruederli
1daa305faa Also implement the Countable interface for full array-like compatibility 2014-02-07 09:29:11 +01:00
Thomas Bruederli
c2b87d4ad5 New utility script tp generate random contact data 2014-02-06 17:38:19 +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
69b7803f25 Adapt to kolab_storage_folder optimizations: don't cast resultset into array (#2828) 2014-02-06 17:30:40 +01:00
Thomas Bruederli
2ade247a0c Return a kolab_storage_dataset itertor object from kolab_storage_cache::select()
to manage memory usage for large result sets (#2828).

Attention!
Do not cast the return value of kolab_storage_folder::select() calls into an array anymore.
2014-02-06 17:25:16 +01:00
Thomas Bruederli
7d39a1808a Add unit test for commit 10f5a48 2014-02-06 10:55:25 +01:00
Thomas Bruederli
10f5a48531 Add fallback to find VEVENT blocks with RECURRENCE-ID (#2792) 2014-02-06 10:54:57 +01:00
Thomas Bruederli
a53ccbacc9 Add screen shots with Kolab skin 2014-02-06 10:11:51 +01:00
Thomas Bruederli
50d9a2acc5 Describe notifications for tasks; unify wording with s/alarms/reminders/ 2014-02-05 16:27:08 +01:00
Thomas Bruederli
070a31406c Fix typos 2014-02-05 16:14:44 +01:00
Thomas Bruederli
b987fb2130 More user guide for calendar, tasklist and address book 2014-02-05 16:12:13 +01:00
Thomas Bruederli
7a883384cd Fix working and button order 2014-02-05 16:05:50 +01:00
Thomas Bruederli
1cb7a66b05 Describe calendar sharing only if 'kolab' 2014-02-04 18:58:01 +01:00
Thomas Bruederli
9fdec3fcb2 Describe calendar settings and sharing in the user guide docs 2014-02-04 18:43:09 +01:00
Thomas Bruederli
2425268e9a Correct wording 2014-02-04 18:42:31 +01:00
Thomas Bruederli
b0e09c52e0 Fix color of category name in event view dialog 2014-02-04 17:41:35 +01:00
Thomas Bruederli
d4543bcb5d Define user guide outline for the tasks module 2014-01-30 17:50:00 +01:00
Thomas Bruederli
7791c7515d More calendar user guide now including itip invitations and import/export features 2014-01-30 17:28:10 +01:00
Thomas Bruederli
15bef340b0 First set of source files for the Kolab web client user guide. The helpdocs directory will be symlinked into the _plugins directory f the roundcubemail-helpdocs generator. 2014-01-29 19:35:14 +01:00
Thomas Bruederli
2230e97ee9 - Fix updating birthday events
- Use address book search to fetch contacts with birthday values only

Attention: this requires changes from [0950ff12dc] and clearing the cache
for Kolab contact objects:

  DELETE FROM kolab_folders WHERE type='contact';
2014-01-28 15:55:45 +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
df7030f306 Disable all related form fields if birthdays calendar is not active 2014-01-28 12:03:26 +01:00
Thomas Bruederli
b79179b9c3 Display alarms for birthday events 2014-01-28 11:55:06 +01:00
Thomas Bruederli
92a6e5c28d Add settings block for birthdays calendar settings 2014-01-28 09:58:54 +01:00
Thomas Bruederli
b9ed08ce78 Clear birthdays calendar cache when contact is updated 2014-01-27 19:50:17 +01:00
Thomas Bruederli
4112437fe9 First shot at the birthdays calendar feature 2014-01-27 19:12:29 +01:00
Thomas Bruederli
01c6a75d16 Consider the configured date format when parsing date/time values for tasks (#2801) + reduce code-duplication 2014-01-27 11:54:45 +01:00
Thomas Bruederli
028c21f4ca DB driver: accept categories field to be an array. libcalendaring ical parser provides array values here (#2797) 2014-01-27 11:25:17 +01:00
Thomas Bruederli
0f57d5c8c8 Deliver date properties as DateTime objects (#2802) 2014-01-27 10:06:43 +01:00
Aleksander Machniak
889d8670dc Support kolab_files_disabled and kolab_files_enabled config 2014-01-24 14:11:24 +01:00
Aleksander Machniak
d7a607e1b1 Fix missing resolving of %dn in kolab_auth_role_settings 2014-01-24 13:44:04 +01:00