The ownCloud update routine also runs the "updateHtaccess" code in case only an application gets updated. This leads to having entries multiple time in the .htaccess file leading to unpredictable behaviour.
With 9.0 we added the "#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####" entry to the .htaccess file, this change uses it to ensure that only to the .htaccess gets written if the file has not been modified already. Since the .htaccess modifications are optional this is not a big deal.
Without this change updates of applications can break the rewrite rules (ending in endless redirects) as well as breaking the code integrity checker.
PATH_INFO will be empty at this point and thus the logic in base.php did not catch this. Changing this to "getRawPathInfo" will ensure that the path info is properly read.
Fixes https://github.com/owncloud/core/issues/23199
Intergration tests to ensure the share-types property is set correctly.
* Unshared item
* Shared with user
* Shared with group
* Shared by link
* Shared with user & group & link
The old behaviour was that only languages could be used for an app
that are already present in the apps/$app/l10n folder. If there is
a themed l10n that is not present in the apps default l10n folder
the language could not be used and the texts are not translated.
With this change this is possible and also the l10n files are
loaded even if the default l10n doesn't contain the l10n file.
Fixes#23325
It can happen that a user shares a folder with public upload. And some
time later the admin disables public upload on the server.
To make sure this is handled correctly we need to check the config value
and reduce the permissions.
Fix is kept small to be easy backportable.
* show loading indicator while the request is running
* change value after the request succeed - not before and
undo maybe wrong changes
* move markup to HTML template
* show notification temporarily
This way we can also scan the third-party folder for incompatibilities with a used PHP version. Since there are some polyfills that would otherwise fail I had to exclude them manually here.
In case of a move operation from an unencrypted to an encrypted
storage the old encrypted version would stay with "0" while the
correct value would be "1". Thus we manually set the value to "1"
for those cases.
See also https://github.com/owncloud/core/issues/23078
Since the library can only store the full response in memory on
download, we use an alternate client lib and set the correct headers to
be able to stream the content to a temp file.