Commit graph

151 commits

Author SHA1 Message Date
Aleksander Machniak
68eaf60aca Fix moving objects between DAV folders
The code does "move object then read it" and "read it" was failing
because the folder cache wasn't up-to-date. We force re-synchronization
by reseting the state properly after move().
2023-05-01 12:11:33 +02:00
Aleksander Machniak
7810d77969 PHP8 fixes - code style 2023-01-18 16:38:22 +01:00
Christian Mollekopf
d988dac141 PHP 8 fixes
Differential Revision: https://git.kolab.org/D3995
2023-01-18 14:50:31 +01:00
Aleksander Machniak
1b33810f71 Try to support PHP >= 7.2, small refactoring 2022-11-30 12:54:29 +01:00
Aleksander Machniak
af5461eb76 CalDAV driver 2022-10-06 15:59:53 +02:00
Aleksander Machniak
54f34fa71e Fix logging XML 2021-03-19 12:30:34 +01:00
Aleksander Machniak
d886a3bdfc Fix fatal error introduced with 'kolab_format_error_log' 2021-03-19 09:01:14 +01:00
Aleksander Machniak
5e3b3c455a Add a way to log xml payload on kolab format error 2021-03-17 13:38:06 +01:00
Aleksander Machniak
e0b593ba52 Prevent from creating empty objects 2019-09-29 10:03:00 +00:00
Aleksander Machniak
47f7793ac0 Slim down kolab cache (drop xml column, change data format) (Bifrost#T61991) 2018-12-27 14:26:35 +00:00
Aleksander Machniak
83486eca92 Fast-mode for files 2018-12-21 09:58:40 +01:00
Aleksander Machniak
28932e4c92 Fast-mode for selecting kolab objects
... for now used only by kolab_notes plugin
2018-12-13 18:36:17 +00:00
Aleksander Machniak
2ac64d32eb Fix regression in handling contact groups 2018-12-13 16:51:34 +00:00
Aleksander Machniak
67f6ef9bbf Always fetch xml from IMAP and parse objects on select
Temporarily we still store data and xml as before, but do not use them on select.
2018-12-19 12:25:39 +01:00
Aleksander Machniak
9d883ed07d Properly set skip_deleted and threading on Kolab storage IMAP operations (T1145)
Summary:
Fixes race-conditions between Kolab folders and Roundcube core
where skip_deleted/threading could be set for operations outside
of Kolab plugins, causing e.g. inability to see \Deleted messages.

Fixes T1145.

Reviewers: #roundcube_kolab_plugins_developers, vanmeeuwen

Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen

Maniphest Tasks: T1145

Differential Revision: https://git.kolab.org/D112
2016-04-14 11:42:00 +02: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
9daf32495a Fix regression in get_object() (T1098)
Also remove the second argument as it was useless.
2016-03-07 17:54:01 +01:00
Aleksander Machniak
6c25221b95 Performance: Make objects moving faster (less SQL and less IMAP operations) using COPYUID 2016-02-24 13:57:58 +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
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
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
6effb4c9c3 Support X-APPLE-FILENAME parameter for attachments; make attachment cid really unique 2015-04-28 15:48:27 +02: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
17e6662a23 Add unit/functional tests for kolab_storage_folder error checking methods 2015-02-03 22:14:06 +01:00
Thomas Bruederli
29645a4736 Fix db table reference; forward constructor argument (#4471) 2015-02-03 17:26:03 +01:00
Thomas Bruederli
5982ce8732 Add error checking/reporting facilities to kolab_storage_folder instances (#4378) 2015-02-03 13:15:56 +01:00
Thomas Bruederli
17cf1f4892 Update folder reference in cache (was accidentally removed in 038e269d) 2015-02-03 12:31:12 +01:00
Thomas Bruederli
038e269d51 Check (expected) folder type and disable access to folder contents or cache if invalid (#4378) 2015-01-29 16:48:42 +01:00
Thomas Bruederli
ae93c7b345 Create domain-aware cache identifiers for groupware folders (#3991) 2014-11-27 09:33:40 +01: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
2a46aceb2b Use new rcube_message::get_part_body() method 2014-10-22 14:58:47 +02:00
Thomas Bruederli
a3d5f717a2 Fix moving events to another calendar/folder and reloading it (#3748) 2014-10-09 16:37:31 +02:00
Thomas Bruederli
372cf33d18 Use folder name for UID if writing to IMAP metadata fails 2014-09-25 10:09:58 +02:00
Thomas Bruederli
b278db0ec3 Pre-select confidential event/tasks folder for iTip invitations marked as confidential (#3451)
+ display privacy classification of iTip attachments in mail invitation view.
2014-09-23 12:27:57 +02:00
Thomas Bruederli
aada053324 Support reading attachments fully stored in XML payload instead of separate MIME parts 2014-07-18 12:00:25 +02:00
Thomas Bruederli
645d06be5e Reset cached properties when iterating folders using the same kolab_storage_folder instance 2014-06-26 09:58:48 +02:00
Thomas Bruederli
510089523e Refactored kolab_storage_folder classes and consolidated some functions 2014-05-15 13:15:58 +02:00
Thomas Bruederli
df08826c03 Improve listing of user folders: also list them if one has access to a child folder 2014-05-15 11:57:12 +02:00
Thomas Bruederli
00b1c7631b Render calendar folders as a searchable treelist widget 2014-05-12 20:47:47 +02:00
Thomas Bruederli
6b1de94b51 Fix Content-Type strings for files and notes; accept application/vnd.kolab+xml when searching for xml part 2014-03-27 19:20:22 +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
965a9b74b3 Fix anually recurrence end date on 32bit systems by replacing (overflowing) unix timestamps with DateTime objects (#2613) 2014-01-22 11:22:23 +01:00
Thomas Bruederli
21286f0bbb Make generated folder UIDs really unique 2013-11-21 14:34:58 +01:00
Aleksander Machniak
a25fc1a961 Implement cache object update with UPDATE query instead of DELETE + INSERT (Request #2351) 2013-11-20 10:43:17 +01:00
Thomas Bruederli
f24a1da34b Set _mailbox property when saving Kolab objects (#2474) 2013-11-04 12:08:50 +01:00
Aleksander Machniak
5f3c4106a4 Fix undefined variable in set_folder() 2013-10-31 09:06:24 +01:00
Jeroen van Meeuwen (Kolab Systems)
4065542e07 Merge branch 'dev/kolab-cache-refactoring'
Conflicts:
	plugins/libkolab/lib/kolab_storage_cache.php
2013-10-17 16:48:08 +02:00