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>
Existing tests required modification to correctly mock up the new config
parameter fetch, and to set the RSVP flag for attendees (since the test
was detecting token generation, and we no longer generate tokens when
no RSVP is requested by the client or sent by nextcloud).
Signed-off-by: Brad Rubenstein <brad@wbr.tech>
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>
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>
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>
Fixes#14298
If a storage doesn'tclose the write stream then $isEOF is not yet set.
So we have to fallback.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
The stream is already closed at this point. Which means feof will always
return false. We have to determine if the stream is EOF in the
preCloseCallback. And pass this info along. Then the logic works as
expected.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>