Commit Graph

1482 Commits

Author SHA1 Message Date
Roeland Jago Douma ee7702e5f0 Move DirectMapper to QBMapper
Mapper has been deprecated for some time now.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-03 12:35:14 +01:00
Roeland Jago Douma c40228a65a Fix the SharesPlugin
Another attempt to fix all the typing and handling in the sharesplugin.
In short we should probably have a lot more type hinting in several
places.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-02 16:29:06 +01:00
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 ff1c5c4e25 Move getChangesForAddressBook to QueryBuilder
Makes psalm happy, and makes me happy.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-17 09:06:00 +01:00
Roeland Jago Douma 2ea3cb7c93 Drop redundant indes
Those indexes are already covered by others. So those can just be used.
THose extra indexes just take up space.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-16 11:38:43 +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 84de7a8d63
Merge pull request #25580 from nextcloud/enh/fix/psalm_pluginmanager
Enhancing the dav pluginmanager
2021-02-15 09:11:16 +01:00
Roeland Jago Douma d2569eed58 Fix PluginManager annotation
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-14 12:46:50 +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
Robin Appelman f824f273b6
add event for when a direct download is triggered
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-02-12 17:33:12 +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
Christoph Wurst 5366ef34bd
Parse calendar object for attendees and emit interaction events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-03 18:04:28 +01:00
Christoph Wurst 689e2a0838
Emit an interaction event for calendar event user attendees
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-03 12:16:57 +01:00
Christoph Wurst 0da1999a3b
Emit an interaction event for calendar share recipients
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-03 12:16:57 +01:00
Arthur Schiwon bd8b43127f
take into account that UNIQUE index might not work as expected
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-01-29 17:29:10 +01:00
Roeland Jago Douma 98c8cd5089
Merge pull request #25383 from nextcloud/bugfix/24893
Properly handle SMB ACL blocking scanning a directory
2021-01-29 15:52:14 +01:00
Christoph Wurst 65b6b45976
Merge pull request #25218 from nextcloud/fix/25213/do-no-remove-vali-dav-group-shares
do not remove valid group shares
2021-01-29 11:36:28 +01:00
Julius Härtl e9ae943bba
Properly handle SMB ACL blocking scanning a directory
This makes sure that a possible ForbiddenException is properly passed
through the storage as a ForbiddenException and can be catched when
trying to fetch the quota info of a parent folder

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-29 11:26:22 +01:00
Roeland Jago Douma c6df3d9694
Merge pull request #25310 from nextcloud/dav-validate-email-addresses
[CalDAV] Validate notified emails
2021-01-25 20:45:24 +01:00
Vincent Petry 65da8bd76e
Catch NotFoundException when querying quota
Fixes parent folder that becomes inaccessible when it contains a
non-existing / broken entry because the quota check made the PROPFIND
on parent fail altogether.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-01-25 12:12:50 +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
Robin Appelman 168978c02e
also use storage copy when dav copying directories
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-21 17:59:28 +01:00
Arthur Schiwon fcade3dda3
do not remove valid group shares
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-01-19 22:58:35 +01:00
Roeland Jago Douma 3d66d68327 Add cards_abiduri index on install
Else we directly tell the admin to add this on install.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-16 20:43:16 +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
Christoph Wurst c1d4f8161b
Migrate internal classes to the OCP db col types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-12 14:09:13 +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
Christoph Wurst 73c7d0dc81
Bump icewind/streams from 0.7.1 to 0.7.2
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-29 09:07:36 +01:00
Roeland Jago Douma ee57ef4903
Merge pull request #22222 from nextcloud/enh/social-index
re-index contacts with social profiles
2020-12-22 14:42:28 +01:00
call-me-matt 22cf5447cf
re-index contacts with social profiles
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
2020-12-22 09:48:40 +01:00
Roeland Jago Douma 72fda10333
Merge pull request #22085 from nextcloud/enh/index-socialprofile
adding social profile to search index
2020-12-22 09:43:12 +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 622d02842c
fixes sharing to group ids /w chars that are being url encoded, carddav
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-16 22:42:57 +01:00
Arthur Schiwon 9abff14e8d
fix finding of groups with decodable chars in their id via DAV
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-16 22:28:20 +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
Arthur Schiwon d8ad4ef6b5
use a consistent default value for sharing.maxAutocompleteResults
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 11:53:39 +01:00
Arthur Schiwon 2b017b704a
dav search to honour sharing.maxAutocompleteResults setting
- it is being used on frontend by users
- user and big instances benefit from quicker results and less load

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 11:53:39 +01:00
John Molakvoæ (skjnldsv) 45b3ddd882
Add tel, note, org and title search
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-12-14 16:45:17 +01:00
Roeland Jago Douma ccd5ca5476
Merge pull request #23044 from nextcloud/migration-10.5
Handle owncloud migration to latest release
2020-12-10 14:32:13 +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
Julius Härtl bac1651380
Handle deck share type in audit and dav app
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-09 13:20:23 +01:00
Vincent Petry 0d42d996d1
Adjust further columns
- calendarsubscriptions.lastmodified -> not null
- external_config.value -> allow null

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-09 12:13:33 +01:00
Vincent Petry b9836398cc
Adjust calendars.components to 64 chars
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-09 12:13:33 +01:00
Joas Schilling da9462b482
Make code strict
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-12-07 14:19:37 +01:00
Morris Jobke fc57f60ece
Merge pull request #24358 from nextcloud/dav-storage-copy
use storage copy implementation when doing dav copy
2020-12-03 15:03:13 +01:00
Morris Jobke 9be5caa937
Merge pull request #24340 from nextcloud/td/psalm/job_execute
Use proper OCP\BackgroundJobs\Job
2020-11-30 10:00:14 +01:00
Morris Jobke 528516b69f
Merge pull request #23652 from nextcloud/bug/circles-508/circles-public-shares
Fix public calendars shared to circles
2020-11-30 09:53:53 +01:00
Daniel Kesselberg 35098a9973
A valid user session is required for circles.
The circles app depends on a valid userId. A public shared calender might be viewed by guests without a user session. For such requests the principal is null.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-11-26 09:00:09 +01:00
Daniel Kesselberg efef6e9b78
Update phpdoc for circleToPrincipal
as the QueryException is already catched inside circleToPrincipal.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-11-26 09:00:04 +01:00
Roeland Jago Douma 6166e1a157
Use proper OCP\BackgroundJobs\Job
And typehunt the IJobList

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-25 15:03:06 +01:00
Robin Appelman 5ca0de2dee
use storage copy implementation when doing dav copy
instead of using the sabredav fallback (which does a read+write stream copy)

this greatly speeds up dav copies

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-24 18:42:05 +01:00
John Molakvoæ (skjnldsv) e18899a06d
Make sure we add new line between vcf groups exports
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-11-24 18:33:39 +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 9db321cf11
Merge pull request #24054 from nextcloud/bugfix/noid/calendar-repair-oracle
Manually iterate over calendardata when oracle is used
2020-11-11 17:09:28 +01:00
Julius Härtl e69655e9a6
Manually iterate over calendardata when oracle is used
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-11 15:08:43 +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 264d54b388
Fix CS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:43:34 +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
Joas Schilling ecbb066dec
Make sure columns with an empty default are nullable for 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
eleith 10aa22dd45
Merge pull request #23070 from eleith/complex-recurrance-imports
handle vcalander documents with multiple VEVENTS not in order
2020-11-10 05:20:56 -08: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
Roeland Jago Douma 8bd39fccf4
Have the CommentsPropertiesPlugin use the new fancy method
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-04 16:37:42 +01:00
Morris Jobke dc479aae2d
Improve CertificateManager to not be user context dependent
* removes the ability for users to import their own certificates (for external storage)
* reliably returns the same certificate bundles system wide (and not depending on the user context and available sessions)

The user specific certificates were broken in some cases anyways, as they are only loaded if the specific user is logged in and thus causing unexpected behavior for background jobs and other non-user triggered code paths.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-03 00:13:01 +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
Roeland Jago Douma c5e0ef1972
Don't overwrite the event if we use it later
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-28 13:24:17 +01:00
Roeland Jago Douma 46ce7277c7
Also run the SabreAuthInitEvent for the main server
else for example trusted servers breaks

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-27 15:23:27 +01: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
call-me-matt 1b2386d108
handle nested properties, fixes #20544
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
2020-10-12 21:27:38 +02:00
Morris Jobke ca5e8d2093
Merge pull request #23025 from Iscle/master
DirectController: Let users choose the link expiration time
2020-10-06 22:12:22 +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
Roeland Jago Douma 0bca480efd
Merge pull request #22969 from eleith/catch-no-instance-exception
broaden exception handling on webcal refresh
2020-10-04 11:14:00 +02:00
Iscle 0e5d692866 DirectController: Verify that expirationTime is between 0s and 24h
Signed-off-by: Iscle <albertiscle9@gmail.com>
2020-10-01 23:48:41 +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
Roeland Jago Douma 4175c3f499
Merge pull request #22983 from nextcloud/bugfix/noid/sync-all-users-to-systemaddressbook
Sync all users to the system addresssbook
2020-09-29 09:12:40 +02:00
Joas Schilling 6db5f53bc6
Fix numeric folders throwing on markDirty
TypeError: strpos() expects parameter 1 to be string, int given

The problem is that in cacheNode() we strip of any slashes, so
a folder "0/" will be trimmed to "0" and be used as an array key.
Since PHP automatically casts numeric array keys to integers,
you afterwards get $nodePath as int(0). Since it's now a number,
the strpos() function does not accept it anymore. Simply casting
$nodePath to a string again in the foreach solves the issue

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-24 15:02:30 +02: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
Iscle ebd734dc86 DirectController: Let users choose the expiration time
Signed-off-by: Iscle <albertiscle9@gmail.com>
2020-09-24 01:27:33 +02:00
Joas Schilling 8b77aa6b4f
Sync all users to the system addresssbook
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-21 09:01:39 +02:00
J0WI 1639289b95 Update urls to stackoverflow.com to "HTTPS"
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-09-17 17:38:27 +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