Fix persistent tooltip in the "new folder" input of the file picker
When a new folder is tried to be created in the file picker dialog a
tooltip is shown on the input if the folder name exists already.
However, this tooltip was not cleared, so it was still shown even if the
name was fixed, the folder was created and then the "New folder" input
was shown again.
Now the tooltip is cleared as soon as the input changes, as keeping it
shown in that case did not provide any benefit either (and it is
consistent with how the "new folder" input works in the Files app view).
The input is also cleared whenever the menu that shows the input is
opened again, as otherwise the tooltip would be still shown if the menu
was closed and opened again without changing the input (and the menu
could be opened again after changing to another directory where the new
folder name is no longer duplicated).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Côme Chilliet [Mon, 29 Nov 2021 16:02:25 +0000 (17:02 +0100)]
[stable23] Avoid use of iconv to get rid of unicode
Using iconv for translit depends upon server configuration, locale, and
PHP version. Using htmlentities instead to have a consistent behavior
independent of configuration.
dependabot[bot] [Sat, 18 Dec 2021 04:05:40 +0000 (04:05 +0000)]
Update sabre/dav requirement from 4.2.3 to 4.3.0 in /build/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/compare/4.2.3...4.3.0)
Christoph Wurst [Thu, 2 Dec 2021 14:06:05 +0000 (15:06 +0100)]
Carefully filter out non matching time ranges for CalDAV search
When we search for CalDAV objects in the DB we take the first and last
occurence into account. For recurring events that is when they take
place the very first time and the very last time. Searching in a more
specific time range will still match this condition, because the
recurring event starts before the end of the requested range but ends
after the start of the requested range.
Sabre has filters for this. If we apply them on all seach objects of a
search with a time range, then only the recurring events actually taking
place at the time of the requested time range will be returned.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Côme Chilliet [Tue, 2 Nov 2021 15:22:37 +0000 (16:22 +0100)]
Support LDAP dns longer than 255 characters
Adds an ldap_full_dn column to store the dn, and only store a sha256
hash in the ldap_dn which is shorter and can be indexed without
trouble.
Migration still needs to be implemented.
dependabot[bot] [Sat, 11 Dec 2021 07:04:10 +0000 (07:04 +0000)]
Update sabre/dav requirement from 4.2.1 to 4.2.3 in /build/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/compare/4.2.1...4.2.3)
dependabot[bot] [Sat, 11 Dec 2021 03:35:25 +0000 (03:35 +0000)]
Update guzzlehttp/guzzle requirement in /build/integration
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/6.5.5/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/6.5.2...6.5.5)
Vincent Petry [Thu, 9 Dec 2021 13:58:31 +0000 (14:58 +0100)]
Use correct icon for dir-external-root
When an external storage mount is shared with circles, it triggers the
share icon state to be rerendered. The picking of the mime type icon
would use the regular file icon because there is no actual icon for
"dir-external-root" that is shared.
This fixes the logic to use the "folder-external" icon in such
scenarios.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Vincent Petry [Thu, 9 Dec 2021 10:28:10 +0000 (11:28 +0100)]
Check resource before closing in encryption wrapper
In case of error there is no guarantee that $source or $target is set or
is a resource when handling an error.
Without this fix, there's a risk that fclose will fail and the actual
exception will not be thrown, making it impossible to find out about the
root cause.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Since Nextcloud 22 the "#new-user" rules had no effect, as the DOM
structure changed to show a dialog rather than adding a row on top of
the list when adding new users.
Similarly, the z-index was no longer needed, as there will be no
"new-user" row that could overlap. Moreover, the z-index was set even
higher (100) in another rule still active.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The hidden input used for form validation was not actually hidden since
Nextcloud 22, as the DOM structure changed to show a dialog rather than
adding a row on top of the list when adding new users, so the CSS rules
no longer matched.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Carl Schwan [Tue, 7 Dec 2021 16:24:11 +0000 (17:24 +0100)]
Stop reloading file list when getting 401 error on root dir
When reaching the root dir, instead of reloading the file list we reload
the page completely. This trigger a redirection to the login page automatically
with the correct ?redirect_url= in thr url.
dependabot[bot] [Sat, 4 Dec 2021 03:07:30 +0000 (03:07 +0000)]
Update sabre/dav requirement from 4.2.0 to 4.2.1 in /build/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/compare/4.2.0...4.2.1)
Joas Schilling [Wed, 1 Dec 2021 20:09:11 +0000 (21:09 +0100)]
list.php files are only invoked via ViewController and APIController
Both of them actually check that the user is logged in before
and also the list.php files themselves would break with
getUserSession()->getUser()->getUID() which they contain.