Aleksander Machniak
b6a9141764
Performance: Don't initialize configuration folders until they are needed
2016-02-22 12:17:22 +01:00
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