Commit graph

133 commits

Author SHA1 Message Date
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
Thomas Bruederli
6a2262f820 Make some getter methods available for others 2013-10-10 16:46:20 +02:00
Aleksander Machniak
ee30f6fb83 Fix typo in last commit 2013-10-09 10:01:42 +02:00
Aleksander Machniak
e8f2cd98a3 Fix get_objects() when called with no argument, folder type is used 2013-10-09 09:58:19 +02:00
Thomas Bruederli
6fb8c71095 Fix queries to kolab_storage that include (obsolete) 'type' 2013-10-07 19:20:45 +02:00
Thomas Bruederli
6b89e36c4e Merge remote-tracking branch 'origin/libkolab-cache-bypass' into dev/kolab-cache-refactoring 2013-10-07 17:34:17 +02:00
Aleksander Machniak
16d9509a5d Improved performance of kolab cache by bypassing Roundcube messages cache (Request #1740) 2013-10-07 09:56:06 +02:00
Thomas Bruederli
87335f387f Split kolab_cache table into folder-type specific tables and specialized kolab_storage_cache_* classes; the object type is now implicit 2013-10-04 17:14:34 +02:00
Thomas Bruederli
38f5215467 Add methods to read and set a folder's UID (migrated from iRony) 2013-10-03 12:02:19 +02:00
Aleksander Machniak
5327dfc641 Implemented unified cross-plugin HTTP_Request2 object configuration (Request #2149) 2013-09-26 14:53:52 +02:00
Thomas Bruederli
a2883e9402 Fix phpdoc 2013-09-26 10:46:13 +02:00
Thomas Bruederli
27690e5300 Fix after ical parser refactoring: unset 'data' field to avoid binary data being written to cache 2013-09-04 17:37:45 +02:00
Thomas Bruederli
2654abfcaf Get around name inconsistencies 2013-07-24 18:23:53 +02:00
Aleksander Machniak
aea5e2009c Add type argument to get_object() - when you fetch object by uid
and it's type is different than folder type (e.g. distribution-list)
it need to be specified here.
2013-07-03 09:19:16 +02:00
Aleksander Machniak
2cbe93a0c9 Fix saving empty attachments 2013-07-02 10:54:32 +02:00
Aleksander Machniak
be42327979 rc_image_content_type() -> rcube_mime::image_content_type() 2013-07-02 09:29:02 +02:00
Thomas Bruederli
6e20d48cbf Merge branch 'master' of ssh://git.kolab.org/git/roundcubemail-plugins-kolab 2013-06-27 22:44:50 +02:00
Thomas Bruederli
dfb75c6fd5 Make sure only the first path segment is removed 2013-06-27 22:42:44 +02:00
Aleksander Machniak
9a7f2dd61b Support passing object attachments also as file handle 2013-06-27 20:22:01 +02:00