Commit graph

479 commits

Author SHA1 Message Date
Aleksander Machniak
a7e3a938a7 Unify mail-relations handling across plugins 2016-02-21 19:41:49 +01:00
Aleksander Machniak
d96689620f Performance: Get event-to-mail relations once per events list, instead of doing SELECT for every event (including recurrences) 2016-02-21 19:09:04 +01:00
Aleksander Machniak
922d8de6d0 Performance: Skip another few cache selects 2016-02-21 18:17:42 +01:00
Aleksander Machniak
9972823957 Performance: Optimize get_message_relations() to use one query per-folder less
Fix bug where in kolab_storage::select() could not initialize/reset folder cache properly
2016-02-13 17:57:29 +01:00
Aleksander Machniak
11ce37ef17 Performance: Limit number of SQL queries when "attaching" relations/tags to list of tasks/notes (#3969) 2016-02-13 17:35:29 +01:00
Aleksander Machniak
446cd0dfe1 Performance: Limit number of SQL queries needed for "object relations update" operation 2016-02-13 13:09:59 +01:00
Aleksander Machniak
52053f355a Performance: Optimize kolab_storage_folder::get_object() to use one sql query instead of two
Before the change to get an object by UID we first resolve UID to IMAP-UID
and then fetch the object data by IMAP-UID - two select queries. Now we
directly select the data by UID.
2016-02-13 11:33:01 +01:00
Aleksander Machniak
bd8166b81a Fix regression in last optimisations 2016-02-13 09:16:38 +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
e7eed4dff1 Make Content-Type check case-insensitive (#5109) 2016-02-11 15:37:21 +01:00
Aleksander Machniak
aab41cfa16 Fix bug where event occurrence with no attendees inherited attendees of the event (#5300)
The object was created/updated corretly, the bug was in exception properties resolving.
2016-02-11 11:58:33 +01:00
Aleksander Machniak
a0aff58604 Fix bug where some database column length limit could be exceeded (#5291)
Which cased e.g. sql errors when creating a contact group with name > 255 characters.
2016-02-09 12:11:41 +01:00
Thomas Bruederli
fe21650430 Make sure the _instance property is stored with the recurrence exception (#5277) 2015-11-20 12:18:27 +01:00
Aleksander Machniak
21130bf9e6 Properly reset $recurrence_id in a loop 2015-09-29 12:24:45 +02:00
Aleksander Machniak
d2f74ee9fa Performance: Skip SELECT query if we already know it will return no records (from previous SELECT COUNT(*)) 2015-08-27 14:13:36 +02:00
Aleksander Machniak
2c58d048c0 Extend kolab_storage_config::get_tags() with possibility to search members by Message-ID and to set limit for better performance 2015-08-21 10:57:26 +02:00
Aleksander Machniak
a0ca17fb36 Fix missing events on edges of the view time range (when client timezone is different than server tz) (T698) 2015-08-18 12:39:55 +02:00
Aleksander Machniak
326e4ad9ad Support reminders relative to end/due date (RELATED=END) (T656)
Conflicts:

	plugins/libcalendaring/libvcalendar.php
2015-08-07 06:43:59 -04:00
Aleksander Machniak
3239eeb947 Don't use private namespace for folder uniqueid annotations (T491) 2015-07-21 04:36:34 -04:00
Aleksander Machniak
f575dace67 Fix so save() and delete() update in-memory tags cache (T133) - fixes duplicated tags issue 2015-06-24 07:08:35 -04:00
Aleksander Machniak
96ae7b7857 Fix PHP Fatal error: Call to undefined method kolab_storage_folder::raise_error() 2015-05-14 08:44:30 -04:00
Thomas Bruederli
562ed98bd2 Define get_uid() in kolab_storage_folder_api base class (#5023) 2015-05-05 11:57:21 +02:00
Thomas Bruederli
6effb4c9c3 Support X-APPLE-FILENAME parameter for attachments; make attachment cid really unique 2015-04-28 15:48:27 +02:00
Thomas Bruederli
a6daa4d10b Support dtstart/dtend parameters on free/busy query URLs 2015-04-27 18:06:36 +02:00
Aleksander Machniak
5cbcf8381c Fix (again) handling of shared folders in relation member URIs (#5006) 2015-04-23 18:01:10 +02:00
Thomas Bruederli
1e2089e2c2 Merge branch 'dev/sabre-vobject3'
Resolves T53
2015-04-22 17:20:55 +02:00
Thomas Bruederli
779fa16009 Fix and test kolab_storage_config::build_member_url() and kolab_storage_config::parse_member_url() with different namespaces (#5006) 2015-04-22 12:38:25 +02:00
Thomas Bruederli
284c2a6d0a Initialize class before using self::$config 2015-04-02 16:09:10 +02:00
Thomas Bruederli
c43040e4e1 Increase default timeout for Bonnie API requests 2015-03-31 15:10:42 +02:00
Aleksander Machniak
a67881cd8c Fix caching of contact keys (#4939) 2015-03-30 09:23:59 -04:00
Thomas Bruederli
7dbb0d1b2f Handle old revisions and diffs for recurrence instances; forward instance identifier to API for diff requests 2015-03-19 12:34:08 +01:00
Thomas Bruederli
17a3783b9a Allow to load attachments from old revisions + implement resting of old revisions if write permissions are granted 2015-03-18 20:24:57 +01:00
Thomas Bruederli
6bd0bdabb5 Adapt client to changed Bonnie API 2015-03-18 12:57:36 +01:00
Thomas Bruederli
c51c60eff8 Avoid fatal errors when setting recurrence until date for tasks (#4852) 2015-03-16 14:43:02 +01:00
Thomas Bruederli
60205136ee Code cleanup: get recurrence instance identifiers from utility functions 2015-03-10 14:30:50 +01:00
Thomas Bruederli
03dd4b60b3 Exclude cancelled events from count query on invitations calendar 2015-03-03 15:57:49 +01:00
Thomas Bruederli
3ba55540fd Don't copy exceptions array and private properties (_*) to exceptions 2015-02-27 12:02:49 +01:00
Thomas Bruederli
31ad93a62e Provide access to exception instances outside of a recurring event context (#4722) 2015-02-26 15:05:55 +01:00
Aleksander Machniak
c0129f7768 Use 'organization' field for sorting if display name is not set (#3172) 2015-02-24 12:51:00 -05:00
Thomas Bruederli
b41f2a05cb Fix rescheduling and notification on change of recurrence rules 2015-02-20 12:32:20 +01:00
Thomas Bruederli
02ef2e6050 Split recurring event into a new series when modifying with this-and-future option (#4386); optimize copying of attachments into new event 2015-02-20 00:11:40 +01:00
Thomas Bruederli
026d62d235 Avoid comparison errors if recurrence is set to '' (used to unset recurrence rules) 2015-02-19 15:58:32 +01:00
Thomas Bruederli
61037eb97c Fix RSVP flag in iTip REQUESTS 2015-02-19 15:56:46 +01:00
Thomas Bruederli
ac2bd4700f Store recurrence-id for single (non-recurring) events and use for iTip replies 2015-02-19 15:13:13 +01:00
Thomas Bruederli
422bb0a298 Fix RSVP flag in iCal and storage (defaults to false); remove redundant information from ical PRODID 2015-02-18 10:21:15 +01:00
Thomas Bruederli
6a5a814834 Don't remove properties from exceptions which are equal to the master event. KE17 says:
A recurrence exception SHALL copy ALL properties of the base event, and adjust as required,
and it SHALL NOT be applied on top of the orginial event properties (The exception replaces
the complete original event definition for the specific occurrence).
2015-02-16 15:59:50 +01:00
Thomas Bruederli
aaaa9c5818 Take differing parstat values in recurrence exceptions into account when querying for pending/declined/regular events:
- Colelct partstat tags from recurrence exceptions when caching
- Querying for 'tags != x-partstat:<email>:needs-action' may miss some valid records
- Do post-filtering on all events, including recurring instances
2015-02-16 11:00:26 +01:00
Thomas Bruederli
108fae9dd0 Correctly save 'this-and-future' replies; remove some internal properties before saving (to cache) 2015-02-15 18:27:38 +01:00
Thomas Bruederli
d564e23aa3 Use the right list of properties relevenat for scheduling (follow-up of commit 12591358). Static vars don't work here as intended 2015-02-15 17:10:22 +01:00
Thomas Bruederli
12591358e6 Consider a change in recurrence rule significant for rescheduling (#4366) 2015-02-15 16:33:39 +01:00