Commit graph

265 commits

Author SHA1 Message Date
Aleksander Machniak
dd6f6ab305 Fix regression in deleting Future/All event occurrences 2021-09-26 19:34:04 +02:00
Aleksander Machniak
6204b43186 Fix compatibility with PHP 5.4 2021-04-13 08:41:15 +02:00
Aleksander Machniak
87fbaea696 PHP8 compatibility fixes
Summary: PHP8 fixes, CS fixes, short array syntax, indentation

Reviewers: #roundcube_kolab_plugins_developers

Subscribers: #roundcube_kolab_plugins_developers

Tags: #roundcube_kolab_plugins

Differential Revision: https://git.kolab.org/D2185
2021-02-01 08:30:34 +01:00
Aleksander Machniak
112516794f Fix PHP 7.4 deprecation warning on implode() 2020-08-11 12:55:49 +02:00
Aleksander Machniak
e648167c38 Add posibility to remove pending/declined invitation events (Bifrost#T203431) 2019-04-29 10:39:08 +00:00
Aleksander Machniak
3a2240a13d Fix inconsistency in handling other users "root" folders (Bifrost#T203416)
Refactored some code to make sure we always deal with kolab_calendar instances.
2019-04-26 07:30:45 +00:00
Jeroen van Meeuwen (Kolab Systems)
acff3a8c43 More aesthetically pleasing, resolve T4331 2019-03-21 23:25:03 +01:00
Aleksander Machniak
779af09a68 Fix performance/memory errors when editing recurring events
When we indeed need to find only a specific event occurrence, make the
recurrence loop return asap, instead of looping over all possible
occurrences in 100 years and returning all of them.
2018-12-13 09:50:41 +00:00
Aleksander Machniak
8f7f68e9c4 Fix so only editable calendars can be set as the default calendar 2018-08-09 08:35:19 +00:00
Aleksander Machniak
727fb4c586 Fix unwanted timezone change on event occurrence edit (Bifrost#T104637) 2018-05-17 12:52:11 +00:00
Aleksander Machniak
a444b5b801 Unify/de-duplicate code for folder form handling 2018-03-28 15:36:08 +00:00
Aleksander Machniak
b01a3c6038 Elastic: Unify calendar editing forms 2018-03-27 15:54:59 +00:00
Aleksander Machniak
21c4b6a5bb Elastic: Partial support for calendar plugin 2018-03-16 09:22:42 +01:00
Aleksander Machniak
a1cd95152c Align event start date with the first occurrence
Summary:
When a recurring event start date does not match a recurrence pattern
(e.g. an event recurring on Fridays is created on Thursday),
we move the start date to the date of the first occurrence.
There's also a checkbox to keep the old behavior where the
start date was not modified.

Reviewers: vanmeeuwen

Reviewed By: vanmeeuwen

Differential Revision: https://git.kolab.org/D536
2017-09-12 13:53:34 +02:00
Aleksander Machniak
efb4554267 Fix "PHP Warning: Illegal string offset 'BYDAY'" when moving a non-recurring event 2017-08-23 13:55:22 +02:00
Aleksander Machniak
c1c2b10e49 Fix bug where it wasn't possible to change all-day event e.g. from one day to many days and vice-versa (Bifrost#T30559) 2017-04-28 11:54:45 +02:00
Aleksander Machniak
f4e5fc9d38 T1637: Fix lost exceptions on event edit
Fixes bug where exceptions could be lost when editing
non-first occurence of a recurring event.

Also fixes bug where recurrent event update could
unintentionally change start date of the main event
when non-first occurence was selected for edition.
2016-12-27 08:33:05 +01:00
Aleksander Machniak
c4f4f52aa0 T1841: Support non-all-day exceptions to all-day events and vice-versa 2016-12-30 05:33:02 -05:00
Aleksander Machniak
4022e76ede T1760: Recurrence exception not displayed when its date was changed 2016-10-21 14:06:07 +02:00
Aleksander Machniak
4a9e42a026 T1523: Support shared calendars in iTip handling 2016-10-03 14:10:57 +02:00
Aleksander Machniak
f5ac7a872e Fix accessing attachments in invitations calendars (#5465) 2016-06-30 10:20:21 +02:00
Aleksander Machniak
345506712e Fix deleting events by first occurrence (T1214) 2016-04-20 09:28:25 -04:00
Aleksander Machniak
fc93828311 Fix merging attachments list on event/task update from iTip (#5342)
Reviewers: #roundcube_kolab_plugins_developers, vanmeeuwen

Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen

Subscribers: vanmeeuwen

Projects: #roundcube_kolab_plugins

Differential Revision: https://git.kolab.org/D96
2016-03-17 16:38:36 +01:00
Aleksander Machniak
cb7f4d635b Performance: Use initialized calendars if available, skipping redundant folder cache synchronization 2016-02-22 11:37:34 +01:00
Aleksander Machniak
bd8166b81a Fix regression in last optimisations 2016-02-13 09:16:38 +01:00
Aleksander Machniak
7b455c4b97 Performance: Don't initialize all folders in driver constructor (#3971) 2016-02-12 16:27:19 +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
63ce7e9988 Don't use depracated Roundcube functions 2015-08-29 20:23:34 +02:00
Aleksander Machniak
8c2aac3362 Don't use Roundcube deprecated functions 2015-08-02 20:15:28 +02:00
Thomas Bruederli
09fe27d5a6 Consolidate changelog dialog labels and use libkolab's singelton getter for the Bonnie API 2015-04-21 09:24:27 +02:00
Thomas Bruederli
7fec791449 Select folders annotated 'private' for events/tasks flagged as such (#4789) 2015-03-25 15:09:04 +01: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
8792a668b6 Use IMAP permissions to determine possible actions on the client (#4827)
s/writeable/editable/
2015-03-11 15:24:17 +01:00
Thomas Bruederli
6f97b9ff71 - Require delete permission for a calendar to be writeable (#4827)
- Introduce 'insert' permission which allows the creation of new events but no subsequent editing
- Replace 'readonly' with '!writeable' properties for consistency reasons
2015-03-11 12:22:01 +01:00
Thomas Bruederli
e8c387ef0d Bump versions and copyright year 2015-03-10 15:38:45 +01:00
Thomas Bruederli
76f50f2d2b Code cleanup: define filters for calendar listing as bitmask instead of individual arguments 2015-03-10 15:23:52 +01:00
Thomas Bruederli
60205136ee Code cleanup: get recurrence instance identifiers from utility functions 2015-03-10 14:30:50 +01:00
Thomas Bruederli
10192386dd Send cancellations of this-and-future events as iTip REPLY on master event with updated recurrence rule (#4743) 2015-03-10 13:38:53 +01:00
Thomas Bruederli
4d2695f864 Bring database driver up to speed with recurring events and iTip invitations 2015-03-01 18:54:59 +01:00
Thomas Bruederli
94260b2aeb Refactor identification of recurring event instances (#4722):
- All instances of a recurring series have -YmdTHis appended to their ID
- In 'all' savemode, the master event identified by UID is loaded and updated
- kolab_driver::update_event() returns the UID of the master event in 'all' mode.
  This is then used to send iTip messages for the entire series
2015-02-27 17:55:37 +01:00
Thomas Bruederli
899646afd8 Handle single event occurrences with the same UID (#4722) 2015-02-26 15:05:55 +01:00
Thomas Bruederli
a837feb76e Fix loading attachments for events listed in virtual calendars (#4400) 2015-02-24 14:17:53 +01:00
Thomas Bruederli
928e4131c4 Small cleanup of internal attachment property forwarding 2015-02-20 11:54:33 +01:00
Thomas Bruederli
515a7d9ef6 Small fixes to recurring event invitations (#4387) 2015-02-20 09:25:24 +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
5e176baa08 Pass a list of updated attendess to the backend driver on RSVP reply from calendar view 2015-02-19 18:09:12 +01:00
Thomas Bruederli
95ed84c932 Copy the master's sequence to a new exception 2015-02-19 15:13:41 +01:00
Thomas Bruederli
b47b13a35e Dynamically update attendees on exceptions in 'all' and 'future' save mode 2015-02-18 11:30:16 +01:00