Commit Graph

1370 Commits

Author SHA1 Message Date
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
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
Morris Jobke c1ff011990
Merge pull request #22799 from nextcloud/bugfix/noid/dont-log-microsoft-webdav-client-trying-to-tag
Don't log Microsoft WebDAV client trying to tag things
2020-09-14 14:43:54 +02:00
Joas Schilling 2dbd6424f7
Don't log Microsoft WebDAV client trying to tag things
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-11 11:52:05 +02:00
Georg Ehrke b5204a78cc
Mitigate encoding issue with user principal uri
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-09-10 16:00:03 +02:00
Julius Härtl 1dddf6adc7
Properly catch exception from writing to stream when copying a file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-10 09:03:53 +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
Jacob Neplokh e8a4feb1c6
Change Content-Disposition Header
- Make ALLOWED_CONTENT_TYPES public in order to use
- Add $fileName variable which uses "$node->getName()" to get the proper file name and "$file->getMimeType()" along with the ALLOWED_CONTENT_TYPES array in PhotoCache.php to get the proper file extension
- Make "$fileName" the name of the file in the Content-Disposition header when downloading a Contact's photo
- Add filename to the CardDAV integration image export test header
- Change headers in ImageExportPluginTest to reflect changes

Signed-off-by: Jacob Neplokh <me@jacobneplokh.com>
2020-09-05 11:46:25 -07: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
Julius Härtl 4cf29e598d
Do not keep the part file if the forbidden exception has retry set to false
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-03 11:00:24 +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