Commit Graph

271 Commits

Author SHA1 Message Date
Georg Ehrke 54fb0f4f04
provide room / resource properties as principal properties
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:56 +02:00
brad2014 8d8bcea1d8 Move dav.invitation_link_recipients from getSystemValue to getAppValue
Per @georgehrke change request for PR #12392, instead of setting
dav.invitation_link_recipients in the system config.php file, we
set it in the database table oc_appconfig.

Furthermore, the value of the config variable is always a string:
'yes' to include links in imip mail, 'no' to exclude them, or a
comma-separated list of email addresses and/or domains for which
they should be included.  If not specified in oc_appconfig, the
default is 'yes'.

Signed-off-by: brad2014 <brad2014@users.noreply.github.com>
2019-07-31 12:55:50 -07:00
Roeland Jago Douma 1ec98af3e0
Merge pull request #16560 from nextcloud/bugfix/noid/fix_cutype_reporting
fix calendar-user-type reporting
2019-07-27 12:23:25 +02:00
Georg Ehrke 6a2a5465cf
fix CUType reporting
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-07-26 15:04:58 +02:00
Georg Ehrke dce1787b9a
allow to provide supported calendar component set internally as a string
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-07-22 16:58:54 +02:00
Georg Ehrke 9f6dd51912
LIMIT is no column but a SQL feature, allow limit on initial sync
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-07-18 12:42:11 +02:00
Roeland Jago Douma 49361c40e2
Typehint builtin types in constructor to not initiate autoloading
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-06-04 15:13:33 +02:00
Georg Ehrke 98a93d5226
Revert "send invitations for shared calendars"
This reverts commit a9c313ce45.
2019-05-22 09:02:25 +02:00
Georg Ehrke d74e49b3e6
implement principal property search for calendar user address set property
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-21 16:32:41 +01:00
Vinicius Cubas Brand 5e37b52241
Share calendar to circle
* Allow user to share calendar with a circle
* Allow user to see calendars shared with his/her circles

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2019-03-01 10:40:54 +01:00
Brad Rubenstein 79d20e4758 Revert 3ff3ed0c56 case-insensitive compares.
My oops.  The comparisons, which are copied from the IMipPlugin shipped with sabre-io/dav,
do not need to be case insensitive because the sender and recipient names are normalized by sabre,
(see calls to getNormalizedValue in voboject/lib/ITip/Broker.php).

Signed-off-by: Brad Rubenstein <brad@wbr.tech>
2019-02-28 01:43:07 +00:00
Brad Rubenstein 6421e30b2c Respect RSVP parameter for attendees when adding accept/decline buttons.
If RSVP=TRUE parameter is FALSE or absent for an ATTENDEE, then do no
present accept/decline buttons. The organizer isn't asking for an RSVP.

Signed-off-by: Brad Rubenstein <brad@wbr.tech>
2019-02-28 01:42:47 +00:00
Brad Rubenstein 31a25dc6b0 Customize presentation of accept/decline buttons in iMip mail
Fix Issue #11230
Only present accept/decline button links in iMip mail for REQUEST, not CANCEL or others.

Fix Issue #12156
Implement config setting "dav.invitation_link_recipients", to control
which invitation recipients see accept/decline button links.  The
default, for public internet facing servers, is to always include
them.  For a server on a private intranet, this setting can be set
to the email addresses or email domains of users whose browsers can
access the nextcloud server referenced by those accept/decline
button links. It can also be set to "false" to exclude the links
from all requests.

Signed-off-by: Brad Rubenstein <brad@wbr.tech>
2019-02-28 01:41:48 +00:00
Morris Jobke 2b76e27aad
Merge pull request #11832 from nextcloud/bugfix/9849/birthday_without_year
set birthday year to 1970 if no year, take X-APPLE-OMIT-YEAR into account
2019-02-20 10:16:47 +01:00
Georg Ehrke 3acde071f3
Add Repair step to regenerate birthday calendar
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-02-16 16:19:22 +01:00
Georg Ehrke 58520209be
unicode all the birthday icons
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-02-16 13:25:08 +01:00
Georg Ehrke 9d0ce12970
set birthday year to 1970, take X-APPLE-OMIT-YEAR into account
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-02-16 12:33:38 +01:00
Georg Ehrke 4a2238c75b
add list-calendars command
Signed-off-by: Georg Ehrke <developer@georgehrke.com>

Rebase and delete URI suggestion part

Invite to use occ dav:list-calendars instead

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix autoload

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Use injection & test everything

And rebase

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Add test for ListCalendars and refactoring

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix indentation

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-16 13:58:33 +01:00
Thomas Citharel 943d48cb3e
Add command to move a calendar from an user to another
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Add a basic check for displaynames in case we fail to get calendar from uri and put some sf console styles & refactor a bit

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

basic Tests

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

add forgotten createNamedParameter()

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-16 13:58:33 +01:00
Joas Schilling 7d9f12a29c
Prevent php info about missing index for old events
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-09 14:43:51 +01:00
Joas Schilling 32d76c7c92
Correctly handle the classification of events in the activity stream
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-08 17:46:07 +01:00
Joas Schilling 99bcc1363e
Fix wrong used type
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-23 12:39:02 +01:00
Georg Ehrke c23a66cda4
fixes dav share issue with owner
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-14 21:49:00 +01:00
Joas Schilling bb352fb667
Use the defined func()->count() instead of manual counting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 15:44:45 +01:00
Georg Ehrke 30d13bb760
cache webcal calendars on server
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-07 13:25:14 +01:00
Georg Ehrke 5c51d84a67
Calendar invitation: use system default instead of sender's language as fallback
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-24 18:39:30 +02:00
Georg Ehrke 10f0296ad6
overwrite Sabre/DAV's handler for calendar-user-type to report correct user type
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-22 15:48:18 +02:00
Georg Ehrke 325e366b58
add correct calendar-user-type to resource and room backend
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-22 15:48:13 +02:00
Georg Ehrke f5dc7b7f07
move disableFreeBusy check from User principal backend to Scheduling Outbox collection. This allows to keep local delivery of scheduling messages while prohibiting FreeBusy requests
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-16 20:27:33 +02:00
Joas Schilling ea21aa3f7a
Use numeric placeholders if there are multiple, so that RTL languages can operate better
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-09 14:32:14 +02:00
Georg Ehrke 83639a9898
remove LogicException, because it's also triggered with legitimate parameters
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-09-05 14:10:26 +02:00
Thomas Müller c05a0b9fa6
Adding test for table schedulingobjects and fixing postgres LOB
(cherry picked from commit afd4ebf0404e8bcd7cba0bec2dce177e97632f8a)

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2018-08-06 13:53:32 +02:00
rakekniven 6c5670f6d2
Update IMipPlugin.php
Added space before ellipsis
2018-07-30 15:05:55 +02:00
rakekniven c94ac53e60
Typo fix: Triple dot to ellipsis
Signed-off-by: Mark Ziegler <mark.ziegler@rakekniven.de>
2018-07-29 10:15:02 +02:00
Julius Härtl 1a156c298e
Replace contacts-dark icon with contacts
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-24 18:47:54 +02:00
John Molakvoæ (skjnldsv) 14bc9ffda4
Fixed tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 08:16:59 +02:00
Joas Schilling daed1bed57
Also shorten the name of the invitation tokens
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-12 12:11:11 +02:00
Joas Schilling b7de6d7a24
Shorten resource table names to allow install on oracle again
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-12 11:55:19 +02:00
Roeland Jago Douma d9aa5ed96d
Merge pull request #9942 from nextcloud/feature/2338/invitation_response_in_email
Include accept / decline links in CalDAV invitation emails
2018-07-11 19:53:22 +02:00
Joas Schilling a0a6aff772
Correctly parse the subject parameters for link (un)shares of calendars
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-02 13:57:48 +02:00
Georg Ehrke 4aa4e4080c
Include accept / decline links in CalDAV invitation emails
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-06-29 10:44:44 +02:00
Georg Ehrke b832edabbf
apply group restrictions to resources
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-06-25 04:58:07 +02:00
Georg Ehrke 2da510af0b
add resource / room principals
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-06-25 04:58:07 +02:00
Morris Jobke f5e16dfaa7
Merge pull request #9609 from nextcloud/bugfix/3830/invitations_for_shared_calendars
send invitations for shared calendars
2018-06-01 12:40:53 +02:00
Roeland Jago Douma 240006bdf5
When sharing calendars and addressbooks the principal has to be verified to be valid
d3fb8fcdd3

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-27 20:51:36 +02:00
Georg Ehrke a9c313ce45
send invitations for shared calendars
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-05-25 20:41:50 +02:00
Roeland Jago Douma 0864d1c51d
Use multibyte substring
Fixes #7661

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-05 22:26:38 +02:00
Joas Schilling db9b2398dd
Fix group displaynames in activity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-08 17:13:49 +01:00
Morris Jobke d3d045dd5c
Remove unused import statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-14 16:55:43 +01:00
Morris Jobke eb51f06a3b
Use ::class statement instead of string
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-29 12:03:47 +01:00
Morris Jobke c67736a542
Merge pull request #7707 from nextcloud/bugfix/noid/birthdaycalendar-different-uids
generate different UIDs for Birthday, Anniversary and Death event
2018-01-26 15:46:46 +01:00
Morris Jobke c1e4f9f305
Use type casting instead of *val() method
It should be up to 6x faster

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 11:35:42 +01:00
Roeland Jago Douma ec1d94c629
Merge pull request #8052 from nextcloud/fix-array-methods
Fix array method usages with a proper call
2018-01-26 09:53:13 +01:00
Morris Jobke 4dbee99b7b
Remove useless return statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:50:40 +01:00
Morris Jobke 7800a9bc24
Fix array method usages with a proper call
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:20:10 +01:00
Georg Ehrke 1b8fc260c6
generate different UIDs for Birthday, Anniversary and Death event
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-01-04 20:15:24 +01:00
Morris Jobke 1ceeab9229
Fix unit tests for CalendarManager
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-12 09:33:52 +01:00
Morris Jobke d98dea1eb1
Merge pull request #6884 from nextcloud/feature/3003/opt_out_of_birthday_calendar
Opt out of birthday calendar
2017-12-12 08:29:26 +01:00
Morris Jobke ba3c608a00
Merge pull request #6590 from nextcloud/dav-create-activities-for-publishing
Create activities for (un)publishing calendar events
2017-12-11 17:13:11 +01:00
Morris Jobke c76c7a96fc
Update wording
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-11 16:28:40 +01:00
Thomas Citharel 4c32de22bb
Create activities for (un)publishing calendar events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-12-11 16:28:40 +01:00
Georg Ehrke f543039858
exclude shared calendars from freeBusy
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-12-11 16:04:55 +01:00
Christoph Seitz 787e3d51b4
Fix functions to search for principals in the backend.
Add a "searchPrincipals" function to the NC principal backend.
Fix the "findByUri" function to respect the prefixPath.

Signed-off-by: Christoph Seitz <christoph.seitz@posteo.de>
2017-12-11 16:04:55 +01:00
Georg Ehrke ea117bac31
catch errors when parsing calendar data for calendar query requests
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-27 17:14:18 +01:00
Morris Jobke eeb0cfdaf5
Merge pull request #7152 from nextcloud/bugfix/noid/adjust_calendarobject_size_after_applying_class
remove cached size from shared calendar objects
2017-11-17 08:28:34 +01:00
Morris Jobke 20868e17e8
Merge pull request #7193 from nextcloud/bugfix/noid/invitation-email-refinements
refine invitation email
2017-11-16 21:11:44 +01:00
Morris Jobke f32fbbca2e
Merge pull request #6840 from nextcloud/feature/5282/calendar_api
Calendar API for apps
2017-11-16 21:10:35 +01:00
Georg Ehrke b073b13d9f
refine invitation email
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-16 13:54:19 +01:00
Georg Ehrke 072652b2af
show name of organizer in from name of invitation email
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-14 21:23:27 +01:00
Georg Ehrke 19b77039d7
remove cached size from shared calendar objects
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-12 17:30:22 +01:00
Georg Ehrke 2b51d84b98
generate birthday calendars in a background job after admin enabled them
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 16:17:18 +01:00
Georg Ehrke a87d986041
create a user's birthday calendar right after they requested it
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 11:28:34 +01:00
Georg Ehrke ef6f41a16c
respect admin / user choice about birthday calendars in corresponding hooks
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:57 +01:00
Georg Ehrke d59b3392ab
disallow users to create calendars with reserved names
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:56 +01:00
Georg Ehrke 5068d56fb0
add CalDAV interface that allows users to re-enable their birthday calendar
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:50 +01:00
Georg Ehrke dc34622008
remember when a user deleted their contact birthdays calendar
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-10 23:05:04 +01:00
Georg Ehrke 7784672cc0
add option to filter CalendarAPI by componenttype
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-09 15:14:58 +01:00
Georg Ehrke fa416e031b
integrate Dav app with Calendar API
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-09 15:14:58 +01:00
Lukas Reschke b754a2e385
Merge pull request #7042 from nextcloud/bugfix/noid/ensure_unique_uid_for_calendar_objects
ensure uid for calendar objects is unique
2017-11-07 21:55:09 +01:00
Morris Jobke 31c5c2a592
Change @georgehrke's email
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 20:38:59 +01:00
Morris Jobke 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Georg Ehrke 4df08f296b
ensure uid for calendar objects is unique
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-06 14:25:08 +01:00
Georg Ehrke 43147aeada
fancify invitation emails
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-03 11:20:03 +01:00
Joas Schilling 1bb048d11f
Correctly use the email templating
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-11-03 11:20:03 +01:00
Joas Schilling b14b933062
Language depending dates
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-11-03 11:20:03 +01:00
Joas Schilling cf04093fa6
Fix phpStorm complaints
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-11-03 11:20:03 +01:00
Leon Klingele c899f35261
DAV: Initial email customization support
Signed-Off-By: Leon Klingele <leon@struktur.de>
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-03 11:19:39 +01:00
blizzz b3ff9a2248
Merge pull request #6849 from nextcloud/fix-missing-translation-of-personal-calendar-in-activity
Fix missing translation of "Personal" calendar in activities
2017-10-31 15:05:26 +01:00
Joas Schilling 143ff6a622
Add a doc why this should not be removed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-23 12:35:55 +02:00
Georg Ehrke 1855204ad9
remove reminders from read-only shared calendars
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-10-22 14:19:29 +02:00
Joas Schilling bdb0265644
Fix missing translation of "Personal" calendar in activities
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-16 18:41:33 +02:00
Joas Schilling 3b4ab6560b
Check if the user/group exists for dav shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-05 12:48:10 +02:00
Georg Ehrke a1df91da9d
Sabre/VObject returns DateTimeImmutable, not a simple DateTime
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-09-05 13:13:37 +02:00
Georg Ehrke 86f28669fc
don't send invitation emails for past events
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-09-05 13:13:37 +02:00
nhirokinet baba99a7e6 not to backquote LIMIT on CalDavBackend.php 2017-09-03 23:51:49 +09:00
Joas Schilling 89238164e1 Fix comparisons in the dav app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-01 13:55:07 +02:00
Roeland Jago Douma fc369dd86e
[DAV] Fix URLUtil::splitPath usage
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-01 08:20:17 +02:00
Roeland Jago Douma f57a3aa81b
[DAV][CalDAV] Fixes
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-01 08:20:16 +02:00
Lukas Reschke 3d2600b039
Add Phan plugin to check for SQL injections
This adds a phan plugin which checks for SQL injections on code using our QueryBuilder, while it isn't perfect it should already catch most potential issues.

As always, static analysis will sometimes have false positives and this is also here the case. So in some cases the analyzer just doesn't know if something is potential user input or not, thus I had to add some `@suppress SqlInjectionChecker` in front of those potential injections.

The Phan plugin hasn't the most awesome code but it works and I also added a file with test cases.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-20 22:48:13 +02:00
Joas Schilling 984933e586
Only use readable chars in Share Tokens
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-18 15:44:34 +02:00