Commit Graph

348 Commits

Author SHA1 Message Date
dependabot-preview[bot] eb502c02ff
Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +01:00
Roeland Jago Douma df4c2508d6 Fix some RedundantCast in dav code
For #25641

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-15 20:50:28 +01:00
Roeland Jago Douma 9fd72b0d3a
Merge pull request #25595 from nextcloud/enh/caldavbackend/getChangesForCalendar_querybuilder
Move getChangesForCalendar to QueryBuilder
2021-02-15 16:39:46 +01:00
Christoph Wurst 5faa34abb1
Merge pull request #25625 from nextcloud/enh/psalm/substr
Check substr results
2021-02-15 12:17:57 +01:00
Roeland Jago Douma b0f205f97c Move getChangesForCalendar to QueryBuilder
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-15 12:07:26 +01:00
Christoph Wurst 65465b5abc
Merge pull request #25636 from nextcloud/fix/psalm/closure_return_types
Add some closure return types
2021-02-15 12:07:24 +01:00
Roeland Jago Douma 507d5cf8ad Check substr results
Else this might lead to unexpeted errors.
Found by psalm.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-15 10:07:13 +01:00
Roeland Jago Douma e62790cfe2 Add some closure return types
Found by psalm

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-14 12:43:31 +01:00
Roeland Jago Douma 19f7476f77 Use correct namespace (casing) in CalendarHome
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-14 12:36:41 +01:00
Christoph Wurst 9430de181e
Do not send imip email to invalid recipients
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-11 15:13:05 +01:00
Thomas Citharel 105be299b9
[CalDAV] Validate notified emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-25 10:10:13 +01:00
Roeland Jago Douma 6265383385
Merge pull request #25114 from nextcloud/dismiss-reminder-notifications-from-passed-events
Dismiss reminder notifications from passed events
2021-01-14 11:37:38 +01:00
Thomas Citharel 536e157d74
Dismiss reminder notifications from passed events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-14 10:42:47 +01:00
Morris Jobke 24d436cb60
Remove unneeded casts that were found by Psalm
In preparation of the update of Psalm from 4.2.1 to 4.3.1+ (see https://github.com/nextcloud/server/pull/24521)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-11 13:14:41 +01:00
Christoph Wurst 8b64e92b92
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +01:00
Julius Härtl 27e43d810f
Merge pull request #24911 from nextcloud/fix/tasks-calendar/undefined-index-search
Tasks search: make sure we have existing indexes before using them
2021-01-07 09:35:52 +01:00
Roeland Jago Douma 50b380e85b
Merge pull request #24964 from nextcloud/bugfix/noid/internal-server-error-when-importing-broken-ics-file
Don't throw a 500 when importing a broken ics reminder file
2021-01-05 12:57:00 +01:00
Joas Schilling 9fd2b6045d
Don't throw a 500 when importing a broken ics reminder file
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-05 10:08:14 +01:00
John Molakvoæ (skjnldsv) 07553f0c62
Make sure we have existing indexes before using them
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-01-04 20:58:15 +01:00
Christoph Wurst 9ce3ea3368
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 14:07:05 +01:00
John Molakvoæ a5c55891f5
Merge pull request #24604 from nextcloud/feat/dav/move-calendar-rename
Allow to force rename a conflicting calendar
2020-12-22 08:33:10 +01:00
Christoph Wurst fbf25e164d
Merge pull request #24515 from nextcloud/fix/noid/dav-share-groups-special-chars
fixes sharing to group ids with characters that are being url encoded
2020-12-18 12:01:49 +01:00
Arthur Schiwon 1186977589
fixes sharing to group ids with characters that are being url encoded
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-16 22:15:02 +01:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
John Molakvoæ (skjnldsv) fd01d24402
Allow to force rename a conflicting calendar
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-12-10 09:12:28 +01:00
Sven Strickroth e526e76314 Use correct year for generated birthdays events
'X-APPLE-OMIT-YEAR' is not always present, at least iOS 12.4 uses the hard coded date of 1604 (the start of the gregorian calendar) when the year is unknown.

cf. https://forums.bitfire.at/topic/2050/bday-without-year-for-vcard-3-0-if-server-drops-property-x-apple-omit-year and https://gitlab.com/CardBook/CardBook/-/issues/586

Signed-off-by: Sven Strickroth <email@cs-ware.de>
2020-11-13 15:57:12 +01:00
Morris Jobke 0c7bed26e8
Merge pull request #23915 from st3iny/fix/noid/png-icons-in-caldav-reminder-emails
Use png icons in caldav reminder emails
2020-11-11 12:45:23 +01:00
Joas Schilling 31e243be74
Fix public calendars as they are stored with null on oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:35:16 +01:00
Morris Jobke f23c2162ad
Merge pull request #23993 from nextcloud/bugfix/noid/close-cursors
Don't leave cursors open
2020-11-10 15:15:03 +01:00
Joas Schilling 8027dcbc6f
Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 12:28:17 +01:00
Richard Steinmetz f1c242c71d
Use png icons in caldav reminder emails
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2020-11-07 14:09:22 +01:00
leith abdulla 8c1f17383b resolve review comments
update styling for conditionals and simplifying conditional by only
relying on dtstart instead of also counting vevents (since they imply
the same condition, assuming valid events)

Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
2020-10-29 07:31:56 -07:00
leith abdulla a40a307b65 handle vcalander documents with recurrence with exemptions or edits
when importing ics files from third party services (ex: google), long
running recurrence vcalander objects can contain numerous vevents
relating to past exemptions or edits.

these objects are handled incorrectly, leading to incorrect first and/or
last occurence dates from being inferred. as a result, a number of
imported events are not rendered in the calendar.

this PR makes use of EventIterator's constructor that takes in an array
of VEVENTS to properly handle these complex cases.

Also of note is that other parameter signatures of EventIterator's constructor,
will be deprecated, according to comments in sabre dav EventIterator.php

Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
2020-10-28 21:07:00 -07:00
Simon Spannagel 9956d13b90 CalDavBackend: check if timerange is array before accessing
Signed-off-by: Simon Spannagel <simonspa@kth.se>
2020-10-16 07:50:36 +02:00
Morris Jobke 5169976d2b
Merge pull request #23028 from nextcloud/bugfix/noid/array-to-string-conversion-on-event-search
Fix array to string conversion on event search
2020-10-05 23:04:48 +02:00
Christoph Wurst d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +02:00
eleith aa956ab46e broaden exception handling on webcal refresh
when iterating through a calendar, recurrance events can throw an
exception if no instances of the recurrance are found.

this exception is of class `Exception` but the try/catch clause in the
webcal refresh loop only catches `BadRequest` exception.

this leads to the exception bubbling up and thus other calendar events
do not get processed by the event iterator.

this PR broadens the exception to handle both BadRequest and
NoInstanceFoundException so that the full webcal can be processed, even
if minor hiccups are processing on vobject

Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
2020-09-29 20:47:38 -07:00
Joas Schilling cea7252874
Fix array to string conversion on event search
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-24 13:52:24 +02:00
Morris Jobke 99c9423766
Remove @suppress SqlInjectionChecker
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 15:53:56 +02:00
Morris Jobke 04a3580d19
Remove phan config - was replaced by Psalm
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 14:46:29 +02:00
Christoph Wurst 1f7f93a695
Update license headers for Nextcloud 20 (again)
There are still lots of outdated headers, so time for another round of
updates.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-09-07 14:37:44 +02:00
John Molakvoæ 593d64d935
Merge pull request #17456 from brad2014/feature/brad2014/12391-improve-imip-mail-message-take-2 2020-09-04 19:53:02 +02:00
Brad Rubenstein 442af8c5d5 Minor cleanup: php-cs-fixer, tests, interface consistency
IMipPlugin.php Removed blank lines to make php-cs-fixer happy.
Minor cleanup:  bugs found by Psalm static checker
IEMailTemplate: The public interface to addBodyListItem also needs to include the new plainIndent parameter.
IMipPlugin: Fixes an undefined variable for events that do not have DTEND.  Also use explicit string conversion for parameters and properties in several places.

The new email template adds an additional blank line before "button" links in plain text, so the tests were fixed to include that additional blank line.

Signed-off-by: Brad Rubenstein <brad@wbr.tech>
2020-09-02 17:54:36 +02:00
Robin Appelman 460db942a0
Update apps/dav/lib/CalDAV/Activity/Setting/CalDAVSetting.php
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
2020-08-26 12:20:46 +00:00
Robin Appelman aadf0f6f87
move calendar settings into their own group
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-08-25 19:11:28 +02:00
Christoph Wurst 2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
brad2014 b0687b1182 Make icon set for CalDav event presentation, use in iMIP email.
iMIP e-mails were, as a hack, using filetypes icons for caldav
elements (titles, locations).  This commit creates a folder of
caldav element icons. To start, they are used in iMIP emails,
but eventually should be used by any app that wants to have icon
labels for caldav elements.

Signed-off-by: brad2014 <brad2014@users.noreply.github.com>
2020-08-20 22:16:47 +02:00
brad2014 781359a582 iMIP email improvements (take 2)
This PR is a replacement for PR #17195. It is intended to be simpler
to review and approve, with fewer changes, some disabled by default.

It addresses issues #12391 and #13555, with the following changes:

- The plainText of iMIP emails has been upgraded as described in
issue #12391. The HTML design style has not been changed.

- Some of the HTML and plainText content has been rearranged
(simplified header language, moving the event title to from text
body to the first item in the bullet list, spelling corrections,
moving the description to the end of the list), per issue #12391.

- The interface for EMailTemplate has been extended: addBodyListItem
now takes an optional `plainIndent` parameter. Existing callers
see no change. Where new calls set the  new parameter >0, the list
item label (metaInfo) is put in column 1, and the value is indented
into column 2 (properly accounting for multiple lines, if any).

- An optional dav config setting has been added,
`invitation_list_attendees`. It defaults to 'no', leaving emails
unchanged. If set by the site admin to 'yes', then iMIP emails
include, for the organizer and each attendee, their name, email,
and a ✔︎ if they have accepted the invitation.

- Minor refactoring.

Notes:

- The labels for organizers and attendees list items are new, and
require translation/localization.

- Dav config settings are documented in the code, but not in the
Administrator's Guide.

Signed-off-by: brad2014 <brad2014@users.noreply.github.com>
2020-08-20 22:16:47 +02:00
Morris Jobke 4361d65f5f
Merge pull request #22041 from nextcloud/feature/noid/typed_events_dav
Add Typed Events for CalDAV- and CardDAV-related Events
2020-08-19 19:34:12 +02:00
Morris Jobke fedf9c69d9
Use matching parameter names form interfaces and implementations
Found by Psalm 3.14.1

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-19 18:16:35 +02:00