Compare commits

...

124 Commits

Author SHA1 Message Date
Roeland Jago Douma 40832acfd5 Merge pull request #24852 from nextcloud/version/21/beta4
21 beta4
2020-12-30 15:09:20 +01:00
Roeland Jago Douma ab21491aea Merge pull request #24909 from nextcloud/fix/ci/psalm-ocp
Fix expceted psalm-ocp.xml file
2020-12-30 15:07:43 +01:00
Roeland Jago Douma 36281c64e1 Merge pull request #24571 from nextcloud/Valdnet-patch-4
l10n: Change to the name of the app
2020-12-30 14:32:44 +01:00
Roeland Jago Douma 81423a2a2f Fix expceted psalm-ocp.xml file
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-30 14:32:15 +01:00
Valdnet 403637d773 Change to the name of the app
It should refer to the application name "Files".

Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-30 12:44:52 +00:00
Roeland Jago Douma c96bb21ab9 Merge pull request #24903 from nextcloud/enh/psalm-ocp
Add dedicated baseline for OCP
2020-12-30 13:23:25 +01:00
Christoph Wurst 0df8f4fa16 Merge pull request #24888 from nextcloud/dependabot/composer/nikic/php-parser-4.10.4
Bump nikic/php-parser from 4.3.0 to 4.10.4
2020-12-30 13:16:35 +01:00
Christoph Wurst fe8b86fbda Bump nikic/php-parser from 4.3.0 to 4.10.4
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 11:21:37 +01:00
Roeland Jago Douma fe65f8facf Add dedicated baseline for OCP
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-30 11:06:00 +01:00
Roeland Jago Douma 2ac0e89b05 Merge pull request #24895 from nextcloud/make-integration-tests-work-with-both-php-7.3-and-7.4
Make integration tests work with both PHP 7.3 and 7.4
2020-12-30 10:51:58 +01:00
Christoph Wurst b260ef954d Merge pull request #24887 from nextcloud/dependabot/composer/swiftmailer/swiftmailer-6.2.4
Bump swiftmailer/swiftmailer from 6.2.3 to 6.2.4
2020-12-30 10:48:19 +01:00
Roeland Jago Douma 599a9af7d6 Merge pull request #24860 from nextcloud/bugfix/noid/well-known-htaccess
Make sure we properly ass well-known paths to index.php
2020-12-30 10:47:48 +01:00
Christoph Wurst 525ff85594 Bump swiftmailer/swiftmailer from 6.2.3 to 6.2.4
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 10:05:51 +01:00
Christoph Wurst c62d73641a Merge pull request #24879 from nextcloud/dependachristoph/composer/symfony-4.4.18
Bump the Symfony family from 4.4.15 to 4.4.18
2020-12-30 08:56:16 +01:00
Roeland Jago Douma 0965599623 Merge pull request #24898 from nextcloud-pr-bot/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2020-12-30 08:32:23 +01:00
Daniel Calviño Sánchez 28f2d0ec7a Make integration tests work with both PHP 7.3 and 7.4
The "Trashbin" and "WebDav" traits were using each other in a circular
dependency ("WebDav" -> "Sharing" -> "Provisioning" -> "BasicStructure"
-> "Trashbin" -> "WebDav"). In PHP 7.3 this worked fine, but in PHP 7.4
the fatal error "Trait 'WebDav' not found in .../Trashbin.php" was
thrown. To solve this now the "TrashBin" trait no longer explicitly uses
"WebDav".

However, due to this change, the class using "TrashBin" is now expected
to also use "WebDav". As the "Trashbin" trait was not needed by most
contexts using the "BasicStructure" trait "Trashbin" was removed from it
and added only to those contexts that actually need it.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-12-30 06:01:38 +01:00
Nextcloud-PR-Bot 4ceeaccdd9 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2020-12-30 04:42:04 +00:00
Nextcloud bot f9941347e2 [tx-robot] updated from transifex 2020-12-30 02:19:06 +00:00
Roeland Jago Douma 4c01f0da8f Merge pull request #24865 from nextcloud/tests/node-build-clean
Cleanup bundle files before checking the rebuild
2020-12-29 15:46:51 +01:00
Christoph Wurst d27d2a1c13 Bump the Symfony family from 4.4.15 to 4.4.18
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-29 15:02:01 +01:00
Julius Härtl d2e67312bb Merge pull request #22921 from nextcloud/no-root-encryption-wrapper
dont apply encryption wrapper for root mount
2020-12-29 14:08:53 +01:00
Christoph Wurst 83ab996b16 Merge pull request #24873 from nextcloud/dependencies/sabre-II
Bump sabre/dav to 4.1
2020-12-29 14:00:37 +01:00
Christoph Wurst adc5b76831 Bump sabre/dav to 4.1
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-29 13:02:30 +01:00
Robin Appelman 8501cf9b5c dont apply encryption wrapper for root mount
the `shouldEncrypt` already disables encryption for anything thats not in the users data folder,
however the encryption wrapper being applied anyway on the root folder breaks groupfolders

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-29 12:29:23 +01:00
dependabot-preview[bot] 04a65121b7 Merge pull request #23958 from nextcloud/dependabot/npm_and_yarn/build/node-sass-5.0.0 2020-12-29 11:21:14 +00:00
Julius Härtl c42385ef0f Cleanup bundle files before checking the rebuild
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-29 12:20:32 +01:00
dependabot-preview[bot] f25826a5cf Merge pull request #24772 from nextcloud/dependabot/npm_and_yarn/dompurify-2.2.6 2020-12-29 11:02:16 +00:00
Roeland Jago Douma c9fcf5f6b1 Merge pull request #24874 from nextcloud/enh/exception_logging
Avoid huge exception argument logging
2020-12-29 11:38:27 +01:00
Julius Härtl 98198e042e Make sure we properly ass well-known paths to index.php
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-29 11:30:53 +01:00
Christoph Wurst 35aa34a1fd Merge pull request #24533 from nextcloud/dependabot/composer/icewind/streams-0.7.2
Bump icewind/streams from 0.7.1 to 0.7.2
2020-12-29 11:24:37 +01:00
dependabot-preview[bot] 594c8fcf23 Bump dompurify from 2.2.3 to 2.2.6
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.2.3 to 2.2.6.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.2.3...2.2.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-29 11:14:05 +01:00
dependabot-preview[bot] 9e5f167d9a Bump node-sass from 4.14.1 to 5.0.0 in /build
Bumps [node-sass](https://github.com/sass/node-sass) from 4.14.1 to 5.0.0.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v4.14.1...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-29 10:01:34 +00:00
Roeland Jago Douma 50d5229c95 Merge pull request #24872 from nextcloud/tests/jsunit-chromium
Run jsunit with chromium/puppeteer
2020-12-29 10:59:49 +01:00
Roeland Jago Douma 179de95f81 Avoid huge exception argument logging
In some cases it might happen that you have an argument that deep down
somewhere has an array with a lot of entries (think thousands). Now
before we would just happily print them all. Which would fill the log.

Now it will just print the first 5. And add a line that there are N
more.

If you are on debug level we will still print them all.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-29 10:50:53 +01:00
Christoph Wurst 73c7d0dc81 Bump icewind/streams from 0.7.1 to 0.7.2
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-29 09:07:36 +01:00
Julius Härtl be38b924d1 jsunit: harden avatar tests to pass with fractional scaling of elements
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-29 08:42:34 +01:00
Julius Härtl 1bb81f8f11 jsunit: Remove warnings during test runs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-29 08:42:34 +01:00
Julius Härtl 7f52754fe8 jsunit: Add proper lang tag to document
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-29 08:42:34 +01:00
Julius Härtl c7a320d880 jsunit: Run jsunit with chromium/puppeteer on github actions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-29 08:42:27 +01:00
Nextcloud bot 083f3d2373 [tx-robot] updated from transifex 2020-12-29 02:19:50 +00:00
Julius Härtl 14306222df Merge pull request #24856 from nextcloud/psalm/whitelist-apps 2020-12-28 18:33:28 +01:00
Julius Härtl 2d932b6b86 Add whitelist for apps inside of the server repo
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-28 11:26:50 +01:00
Roeland Jago Douma 86e6f07162 Merge pull request #24833 from nextcloud/fix-total-upload-size-overwritten-by-next-upload
Fix total upload size overwritten by next upload
2020-12-28 11:18:48 +01:00
Roeland Jago Douma 4ea1f29f9c Merge pull request #24775 from nextcloud/dependabot/npm_and_yarn/marked-1.2.7
Bump marked from 1.2.6 to 1.2.7
2020-12-28 10:47:55 +01:00
Roeland Jago Douma 7bca3daa8c Merge pull request #24832 from nextcloud/enh/24813/trash-autoid-bigint
Make oc_files_trash.auto_id a bigint
2020-12-28 10:43:16 +01:00
dependabot-preview[bot] 943d95efbe Merge pull request #24843 from nextcloud/dependabot/npm_and_yarn/webpack-cli-4.3.0 2020-12-28 09:39:48 +00:00
Roeland Jago Douma 379acf6e35 21 beta4
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-28 10:22:50 +01:00
Christoph Wurst b981cb0718 Merge pull request #19942 from ACTom/add-mindmap-icon
Add mindmap type file icon
2020-12-28 10:13:38 +01:00
ACTom d9db6ae84e Readd test getOnlyDefaultAliases()
Signed-off-by: ACTom <i@actom.me>
2020-12-28 13:59:10 +08:00
Nextcloud bot a7862479c7 [tx-robot] updated from transifex 2020-12-28 02:19:08 +00:00
Nextcloud bot 3d60c9611f [tx-robot] updated from transifex 2020-12-27 02:24:43 +00:00
dependabot-preview[bot] 46200ce931 Bump webpack-cli from 4.2.0 to 4.3.0
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.2.0...webpack-cli@4.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-26 03:10:42 +00:00
dependabot-preview[bot] 842689cf1a Merge pull request #24844 from nextcloud/dependabot/npm_and_yarn/webpack-merge-5.7.3 2020-12-26 03:08:07 +00:00
Nextcloud bot cefaeb2eb1 [tx-robot] updated from transifex 2020-12-26 02:19:48 +00:00
dependabot-preview[bot] 537b35e1bb Bump webpack-merge from 5.7.2 to 5.7.3
Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 5.7.2 to 5.7.3.
- [Release notes](https://github.com/survivejs/webpack-merge/releases)
- [Changelog](https://github.com/survivejs/webpack-merge/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/survivejs/webpack-merge/compare/v5.7.2...v5.7.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-26 02:17:13 +00:00
Nextcloud bot c15b0b0250 [tx-robot] updated from transifex 2020-12-24 02:20:06 +00:00
Roeland Jago Douma 07f607e148 Merge pull request #24765 from nextcloud/version/21/beta3
21 beta3
2020-12-23 20:08:32 +01:00
Christoph Wurst 4cc85805d6 Merge pull request #24830 from nextcloud/bugfix/noid/readme-mention-autoloader
Add README section for committing back-end code
2020-12-23 20:07:10 +01:00
Roeland Jago Douma be7d582c7e 21 beta3
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-23 19:40:11 +01:00
Daniel Calviño Sánchez fc2069c1dd Fix total upload size overwritten by next upload
The upload progress is based on the "totalToUpload" variable. However,
as the variable is set when an upload is submitted, if another upload is
submitted before the previous one finished the upload progress only took
into account the size of the new upload (although the upload itself
worked fine; the files of the new submitted upload are added to the
active one). Now "totalToUpload" is either increased or set depending on
whether an upload is active or not.

Note that although "data.total" holds the total size of the files being
uploaded "totalToUpload" needs to be used in "fileuploadprogressall"
instead; "totalToUpload" is calculated when the upload is submitted, but
since 7c4c5fe6ae the actual upload of the files, and thus updating the
value of "data.total", may be deferred until the parent folders were
created.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-12-23 18:53:01 +01:00
Vincent Petry bdbec28a8f Make oc_files_trash.auto_id a bigint
Adjusted migration.
Added to occ command to update existing tables.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-23 17:50:50 +01:00
Christoph Wurst b1783ada27 Merge pull request #24812 from nextcloud/dependencies/zipstreamer-2.0.0
Bump deepdiver/zipstreamer to 2.0.0
2020-12-23 17:41:36 +01:00
Vincent Petry eaa1493123 Add README section for committing back-end code
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-23 15:59:38 +01:00
Christoph Wurst 2b93c28e28 Bump deepdiver/zipstreamer to 2.0.0
For PSR-4 compat. The rest is unchanged.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-23 14:45:34 +01:00
Julius Härtl 5b61120491 Merge pull request #24816 from nextcloud/techdept/dead-packages
Drop all dead packages
2020-12-23 14:37:45 +01:00
Roeland Jago Douma 6846a83d56 Merge pull request #24610 from nextcloud/enh/adding-missing-event-on-deleted-shares
adding a ShareDeletedEvent
2020-12-23 12:45:34 +01:00
Julius Härtl d32af39c25 Merge pull request #24824 from nextcloud/enh/catch_heartbeat_error
Catch the error on heartbeat update
2020-12-23 12:18:19 +01:00
Roeland Jago Douma bb411c75c6 Move to single share event. Just emit more if needed
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-23 11:05:29 +01:00
Maxence Lange e0bafb7475 deleteChildren only returns array
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-12-23 11:00:47 +01:00
Maxence Lange 874a1a4c43 cs fix
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-12-23 11:00:47 +01:00
Maxence Lange 85783e45e9 +ShareDeletedEvent
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-12-23 11:00:45 +01:00
Roeland Jago Douma ea6a9594ca Catch the error on heartbeat update
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-23 09:47:09 +00:00
Christoph Wurst 1e0eaa25d0 Drop all dead packages
Apparently we have plenty of leftover of previous sub-dependencies.
Composer automatically dumps those with any future dependency update, so
I'm dropping them in an atomic step.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-23 09:11:23 +01:00
Nextcloud bot 61791962f2 [tx-robot] updated from transifex 2020-12-23 02:20:11 +00:00
Christoph Wurst 7e9d8a8bd0 Merge pull request #24819 from nextcloud/techdept/update-psalm-baseline
Update the Psalm baseline
2020-12-22 18:31:03 +01:00
Christoph Wurst 3570ca82cf Update the Psalm baseline
Some issues were resolved, hence every CI run shows this diff.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-22 17:44:16 +01:00
Julius Härtl e28d21a6a4 Merge pull request #24770 from nextcloud/fix-dialog-buttons 2020-12-22 15:49:38 +01:00
Roeland Jago Douma ee57ef4903 Merge pull request #22222 from nextcloud/enh/social-index
re-index contacts with social profiles
2020-12-22 14:42:28 +01:00
Marco Ambrosini 23b61de21e Increase horizontal padding
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-22 12:28:47 +00:00
Roeland Jago Douma adc4f1a811 Merge pull request #22916 from J0WI/unifiy-links-to-php.net
Unify links to php.net
2020-12-22 09:53:31 +01:00
call-me-matt 22cf5447cf re-index contacts with social profiles
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
2020-12-22 09:48:40 +01:00
Roeland Jago Douma 72fda10333 Merge pull request #22085 from nextcloud/enh/index-socialprofile
adding social profile to search index
2020-12-22 09:43:12 +01:00
Julius Härtl 5094e29ebd Merge pull request #24594 from kofemann/dcache 2020-12-22 09:26:07 +01:00
John Molakvoæ a5c55891f5 Merge pull request #24604 from nextcloud/feat/dav/move-calendar-rename
Allow to force rename a conflicting calendar
2020-12-22 08:33:10 +01:00
Nextcloud bot 8e9af2bb56 [tx-robot] updated from transifex 2020-12-22 02:19:06 +00:00
Tigran Mkrtchyan 4f2dc18f58 storage: update IStorage#file_put_contents docs to match usage
The current phpdoc of IStorage#file_put_contents doesnt corresponds to
it's actual usage in code, e.g.

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
2020-12-21 19:04:18 +01:00
Christoph Wurst b37397d4fc Merge pull request #24732 from nextcloud/tcitworld-patch-1
Add another of my emails to mailmap
2020-12-21 16:58:11 +01:00
Thomas Citharel 98b89e3ea6 Add another of my emails to mailmap
Because apparently I edited directly from Github and selected default email

Signed-off-by: Thomas Citharel <nextcloud@tcit.fr>
2020-12-21 15:53:49 +01:00
Roeland Jago Douma 5579b1d252 Merge pull request #24796 from nextcloud/fix/set_ttl_on_set_redis
Actually set the TTL on redis set
2020-12-21 14:49:03 +01:00
Roeland Jago Douma 4f0fae8f00 Actually set the TTL on redis set
Else well the keys remain for ever and ever.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-21 13:33:16 +01:00
dependabot-preview[bot] 4621dc5d3c Bump marked from 1.2.6 to 1.2.7
Bumps [marked](https://github.com/markedjs/marked) from 1.2.6 to 1.2.7.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](https://github.com/markedjs/marked/compare/v1.2.6...v1.2.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-21 10:02:57 +01:00
Julius Härtl fbbb48fcc2 Merge pull request #24730 from J0WI/fix-trusted-ipv6
Fix IPv6 localhost regex
2020-12-21 09:59:31 +01:00
Roeland Jago Douma 114b472e71 Merge pull request #23319 from nextcloud/fix/argon2-descriptions
Fix Argon2 descriptions
2020-12-21 09:24:07 +01:00
dependabot-preview[bot] d0fa143f01 Merge pull request #24773 from nextcloud/dependabot/npm_and_yarn/webpack-merge-5.7.2 2020-12-21 08:21:33 +00:00
Roeland Jago Douma 4973f9b952 Merge pull request #24715 from nextcloud/bug/noid/limit-get-incomplete-to-1
Limit getIncomplete query to one row
2020-12-21 09:15:10 +01:00
Julius Härtl 97f2de0262 Merge pull request #24776 from nextcloud/dependabot/npm_and_yarn/vue-loader-15.9.6
Bump vue-loader from 15.9.5 to 15.9.6
2020-12-21 07:36:34 +01:00
Julius Härtl 7f61d78354 Merge pull request #24774 from nextcloud/dependabot/npm_and_yarn/babel/preset-env-7.12.11
Bump @babel/preset-env from 7.12.10 to 7.12.11
2020-12-21 07:35:45 +01:00
Nextcloud bot 4301fd3a32 [tx-robot] updated from transifex 2020-12-21 02:18:53 +00:00
Nextcloud bot dc426f1e21 [tx-robot] updated from transifex 2020-12-20 02:19:27 +00:00
dependabot-preview[bot] 7f888f33b6 Bump vue-loader from 15.9.5 to 15.9.6
Bumps [vue-loader](https://github.com/vuejs/vue-loader) from 15.9.5 to 15.9.6.
- [Release notes](https://github.com/vuejs/vue-loader/releases)
- [Changelog](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-loader/compare/v15.9.5...v15.9.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-19 02:21:19 +00:00
Nextcloud bot d682a642ff [tx-robot] updated from transifex 2020-12-19 02:19:37 +00:00
dependabot-preview[bot] 8cf263a4b3 Bump @babel/preset-env from 7.12.10 to 7.12.11
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.10 to 7.12.11.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.11/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-19 02:19:02 +00:00
dependabot-preview[bot] 4629b31a0c Bump webpack-merge from 5.6.1 to 5.7.2
Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 5.6.1 to 5.7.2.
- [Release notes](https://github.com/survivejs/webpack-merge/releases)
- [Changelog](https://github.com/survivejs/webpack-merge/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/survivejs/webpack-merge/compare/v5.6.1...v5.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-19 02:18:24 +00:00
Marco Ambrosini f2b0afdb60 fix-dialog-buttons
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2020-12-18 15:39:48 +01:00
Christoph Wurst f37e150d1c Merge pull request #24702 from nextcloud/enhancement/well-known-handler-api
Add well known handlers API
2020-12-18 13:34:04 +01:00
Christoph Wurst fbf25e164d Merge pull request #24515 from nextcloud/fix/noid/dav-share-groups-special-chars
fixes sharing to group ids with characters that are being url encoded
2020-12-18 12:01:49 +01:00
blizzz 7a1b45ab76 Merge pull request #24703 from nextcloud/fix/noid/wfe-filename-mountpoint-check
enables the file name check also to match name of mountpoints
2020-12-18 11:43:40 +01:00
Arthur Schiwon 622d02842c fixes sharing to group ids /w chars that are being url encoded, carddav
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-16 22:42:57 +01:00
Arthur Schiwon 9abff14e8d fix finding of groups with decodable chars in their id via DAV
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-16 22:28:20 +01:00
Arthur Schiwon 1186977589 fixes sharing to group ids with characters that are being url encoded
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-16 22:15:02 +01:00
J0WI 331f30f085 Fix IPv6 localhost regex
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-12-16 14:37:56 +01:00
Christoph Wurst 6995223b1e Add well known handlers API
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 13:13:05 +01:00
Daniel Kesselberg e0e76bb784 Limit getIncomplete query to one row
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-12-15 21:42:26 +01:00
Arthur Schiwon 04cd1348ec consider local external storages, too
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 11:50:04 +01:00
Arthur Schiwon 14bbec5fa7 enables the file name check also to match name of mountpoints
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 00:05:42 +01:00
John Molakvoæ (skjnldsv) fd01d24402 Allow to force rename a conflicting calendar
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-12-10 09:12:28 +01:00
Tigran Mkrtchyan f3513f3fe4 files: Local#writeStream should use it's own file_put_contents
The OC\Files\Storage\Local#writeStream use system provided file_put_contents.
However, it overrides file_put_contents, thus expects that the default behaviour
can be different.

Use Local#file_put_contents in writeStream to benefit from class specific functionality.

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
2020-12-07 18:11:40 +01:00
ACTom 2d175586b4 fix php-cs check fail(tests/lib/IntegrityCheck/CheckerTest.php)
Signed-off-by: ACTom <i@actom.me>
2020-10-18 00:38:57 +08:00
ACTom 47ebcdff9e fix Test\IntegrityCheck\CheckerTest tests fail
Signed-off-by: ACTom <i@actom.me>
2020-10-18 00:38:48 +08:00
ACTom e0aa3674b9 Modify mindmap type file icon
Signed-off-by: ACTom <i@actom.me>
2020-10-17 23:40:49 +08:00
ACTom 5ef9f7e638 Add mindmap type file icon
Signed-off-by: ACTom <i@actom.me>
2020-10-17 23:40:42 +08:00
MichaIng ab32344308 Fix Argon2 descriptions
The threads option for the password_hash function does not define the maximum allowed number of CPU threads to be used by the hashing algorithm but the exact number of threads that is used.

Similarly the memory_cost option for the password_hash function does not define the maximum allowed memory to be used by the hashing algorithm, but the exact amount of memory that is used by the hashing table. The minimum value is 8 KiB per thread.

The time_cost option for the password_hash function does not define the allowed time in seconds, but the number of iterations for the hash function.

If the minimum values are understood, the minimum values are used instead.

Signed-off-by: MichaIng <micha@dietpi.com>
2020-10-09 20:18:32 +02:00
J0WI 68ce17e59b Unify links to php.net
Update all links to https://www.php.net/

Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-09-17 17:40:04 +02:00
matt 4679e85076 adding social profile to search index
required in order to optimize regular background updates of contact avatars from social networks (see https://github.com/nextcloud/contacts/pull/1722#discussion_r463782429)
2020-08-02 14:16:50 +02:00
323 changed files with 4566 additions and 3830 deletions
-23
View File
@@ -1,27 +1,4 @@
kind: pipeline
name: jsunit
steps:
- name: jsunit
image: nextcloudci/jsunit:jsunit-5
environment:
CODECOV_TOKEN:
from_secret: CODECOV_TOKEN
commands:
- ./autotest-js.sh
- curl -o codecov.sh https://codecov.io/bash
- bash codecov.sh -C $DRONE_COMMIT
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: checkers
steps:
+12
View File
@@ -24,6 +24,7 @@ jobs:
node-version: ${{ matrix.node-version }}
- name: Install dependencies & build
run: |
make clean
npm ci
npm run build --if-present
- name: Check webpack build changes
@@ -49,6 +50,17 @@ jobs:
- name: Test
run: npm run test
jsunit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Test
run: ./autotest-js.sh
handlebars:
runs-on: ubuntu-latest
strategy:
@@ -27,3 +27,28 @@ jobs:
- name: Show potential changes in Psalm baseline
run: |
bash -c "[[ ! \"`git status --porcelain build/psalm-baseline.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
static-code-analysis-ocp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Set up php7.4
uses: shivammathur/setup-php@master
with:
php-version: 7.4
coverage: none
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm -- -c psalm-ocp.xml --monochrome --no-progress --output-format=text --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
- name: Check diff
run: git diff -- . ':!lib/composer'
- name: Show potential changes in Psalm baseline
run: |
bash -c "[[ ! \"`git status --porcelain build/psalm-baseline-ocp.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
+2 -6
View File
@@ -61,16 +61,12 @@
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
RewriteRule ^\.well-known/webfinger /public.php?service=webfinger [QSA,L]
RewriteRule ^\.well-known/nodeinfo /public.php?service=nodeinfo [QSA,L]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
+1
View File
@@ -382,6 +382,7 @@ TheSFReader <TheSFReader@gmail.com>
Thibaut GRIDEL <tgridel@free.fr>
thomas <thomas@thomas-VirtualBox.(none)>
Thomas Citharel <nextcloud@tcit.fr> Thomas Citharel <tcit@tcit.fr>
Thomas Citharel <nextcloud@tcit.fr> Thomas Citharel <github@tcit.fr>
Thomas Müller <thomas.mueller@tmit.eu> Thomas Mueller <thomas.mueller@tmit.eu>
Thomas Müller <thomas.mueller@tmit.eu> Thomas Müller <DeepDiver1975@users.noreply.github.com>
Thomas Olsen <tol@tanghus>
+15 -1
View File
@@ -56,8 +56,9 @@ Several apps that are included by default in regular releases such as [First run
Otherwise, git checkouts can be handled the same as release archives, by using the `stable*` branches. Note they should never be used on production systems.
### Working with front-end code 🏗
### Building front-end code 🏗
#### Building
We are moving more and more towards using Vue.js in the frontend, starting with Settings. For building the code on changes, use these terminal commands in the root folder:
@@ -75,6 +76,8 @@ make watch-js
make build-js-production
```
#### Commiting changes
**When making changes, also commit the compiled files!**
We still use Handlebars templates some places in Files and Settings. We will replace these step-by-step with Vue.js, but in the meantime you need to compile them separately.
@@ -102,6 +105,17 @@ MODULE=user_status make build-js-production
Please note that if you used `make build-js` or `make watch-js` before, you'll notice that a lot of files were marked as changed, so might need to clear the workspace first.
### Working with back-end code 🏗
When changing back-end PHP code, in general no additional steps are needed before checking in.
However, if new files were created, you will need to run the following command to update the autoloader files:
```bash
build/autoloaderchecker.sh
```
After that, please also include the autoloader file changes in your commits.
### Tools we use 🛠
- [👀 BrowserStack](https://browserstack.com) for cross-browser testing
+1 -1
View File
@@ -11,7 +11,7 @@ OC.L10N.register(
"Enable dyslexia font" : "Legasthenie-Schriftart aktivieren",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic ist eine freie Schriftart, die entwickelt wurde, um einige der häufigsten Lesefehler, die durch Legasthenie verursacht werden, zu reduzieren.",
"Accessibility" : "Barrierefreiheit",
"Accessibility options for nextcloud" : "Optionen zur Barrierefreiheit in Nextcloud",
"Accessibility options for nextcloud" : "Optionen r Barrierefreiheit in Nextcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Bietet verschiedene Optionen für Barrierefreiheit, um die Nutzung von Nextcloud zu erleichtern.",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der universelle Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.",
"If you find any issues, dont hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Wenn Sie Fehler finden, melden Sie diese bitte im {issuetracker}Problemverfolgungssystem{linkend}. Und wenn Sie mithelfen möchten, treten Sie dem {designteam}Designteam{linkend} bei!",
+1 -1
View File
@@ -9,7 +9,7 @@
"Enable dyslexia font" : "Legasthenie-Schriftart aktivieren",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic ist eine freie Schriftart, die entwickelt wurde, um einige der häufigsten Lesefehler, die durch Legasthenie verursacht werden, zu reduzieren.",
"Accessibility" : "Barrierefreiheit",
"Accessibility options for nextcloud" : "Optionen zur Barrierefreiheit in Nextcloud",
"Accessibility options for nextcloud" : "Optionen r Barrierefreiheit in Nextcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Bietet verschiedene Optionen für Barrierefreiheit, um die Nutzung von Nextcloud zu erleichtern.",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der universelle Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.",
"If you find any issues, dont hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Wenn Sie Fehler finden, melden Sie diese bitte im {issuetracker}Problemverfolgungssystem{linkend}. Und wenn Sie mithelfen möchten, treten Sie dem {designteam}Designteam{linkend} bei!",
+2 -2
View File
@@ -1,7 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditoria/Registre",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacitats de registre per a Nextcloud, com ara registre daccés a fitxers o daltres accions sensibles."
"Auditing / Logging" : "Auditoria/registre",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona funcionalitats de registre per al Nextcloud, com ara un registre d'accés a fitxers o altres accions relacionades amb la confidencialitat."
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Auditoria/Registre",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacitats de registre per a Nextcloud, com ara registre daccés a fitxers o daltres accions sensibles."
"Auditing / Logging" : "Auditoria/registre",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona funcionalitats de registre per al Nextcloud, com ara un registre d'accés a fitxers o altres accions relacionades amb la confidencialitat."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Праћење / Бележење",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Даје Некстклауду могућност бележења, попут приступа фајловима или других осетљивих радњи."
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
+5
View File
@@ -0,0 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Праћење / Бележење",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Даје Некстклауду могућност бележења, попут приступа фајловима или других осетљивих радњи."
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
}
+8
View File
@@ -0,0 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Lar nettskyer kommunisere med hverandre og utveksle data.",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation APIet lar flere instanser av Nextcloud kommunisere med hverandre og utveksle data."
},
"nplurals=2; plural=(n != 1);");
+6
View File
@@ -0,0 +1,6 @@
{ "translations": {
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Lar nettskyer kommunisere med hverandre og utveksle data.",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation APIet lar flere instanser av Nextcloud kommunisere med hverandre og utveksle data."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1 -1
View File
@@ -11,7 +11,7 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} hat {file} kommentiert",
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Benutzer erwähnt",
"{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt ",
"{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt",
"Files app plugin to add comments to files" : "Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
"Edit comment" : "Kommentar bearbeiten",
"Delete comment" : "Kommentar löschen",
+1 -1
View File
@@ -9,7 +9,7 @@
"{author} commented on {file}" : "{author} hat {file} kommentiert",
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Benutzer erwähnt",
"{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt ",
"{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt",
"Files app plugin to add comments to files" : "Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
"Edit comment" : "Kommentar bearbeiten",
"Delete comment" : "Kommentar löschen",
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -9,7 +9,7 @@ OC.L10N.register(
"Get more widgets from the app store" : "Hole Dir weitere Widgets aus dem App Store",
"Change background image" : "Hintergrundbild ändern",
"Weather service" : "Wetterdienst",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu Deinem Datenschutz werden die Wetterdaten von Ihrem Nextcloud-Server für Dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu Deinem Datenschutz werden die Wetterdaten von Deinen Nextcloud-Server für Dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"Weather data from Met.no" : "Wetterdaten von Met.no",
"geocoding with Nominatim" : "Geokodierung mit Nominatim",
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData",
+1 -1
View File
@@ -7,7 +7,7 @@
"Get more widgets from the app store" : "Hole Dir weitere Widgets aus dem App Store",
"Change background image" : "Hintergrundbild ändern",
"Weather service" : "Wetterdienst",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu Deinem Datenschutz werden die Wetterdaten von Ihrem Nextcloud-Server für Dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu Deinem Datenschutz werden die Wetterdaten von Deinen Nextcloud-Server für Dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"Weather data from Met.no" : "Wetterdaten von Met.no",
"geocoding with Nominatim" : "Geokodierung mit Nominatim",
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData",
+31
View File
@@ -0,0 +1,31 @@
OC.L10N.register(
"dashboard",
{
"Dashboard" : "แดชบอร์ด",
"Dashboard app" : "แอปแดชบอร์ด",
"Show something" : "แสดงบางอย่าง",
"Customize" : "ปรับแต่ง",
"Edit widgets" : "แก้ไข วิดเจ็ต",
"Get more widgets from the app store" : "เพิ่ม วิดเจ็ต จาก แอปสโตร์",
"Change background image" : "เปลี่ยน รูปภาพ พื้นหลัง",
"Weather service" : "บริการ สภาพอากาศ",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "สำหรับความเป็นส่วนตัวของ ข้อมูลสภาพอากาศเป็นการร้องขอในนาม Nextcloud เซิร์ฟเวอร์ ของคุณ ดังนั้นบริการสภาพอากาศจึงไม่ได้รับ หรือจัดเก็บ ข้อมูลส่วนบุคคล",
"Weather data from Met.no" : "ข้อมูลสภาพอากาศจาก Met.no",
"geocoding with Nominatim" : "พิกัดภูมิศาสตร์ จาก Nominatim",
"elevation data from OpenTopoData" : "ข้อมูลความสูงจาก OpenTopoData",
"Weather" : "สภาพอากาศ",
"Status" : "สถานะ",
"Good evening, {name}" : "สายัณห์สวัสดิ์ {name}",
"Good evening" : "สายัณห์สวัสดิ์",
"Good afternoon, {name}" : "ทิวาสวัสดิ์ {name}",
"Good afternoon" : "ทิวาสวัสดิ์",
"Good morning, {name}" : "อรุณสวัสดิ์ {name}",
"Good morning" : "อรุณสวัสดิ์",
"Good night, {name}" : "ราตรีสวัสดิ์ {name}",
"Good night" : "ราตรีสวัสดิ์",
"Pick from files" : "เลือกจากไฟล์",
"Default images" : "รูปภาพเริ่มต้น",
"Plain background" : "พื้นหลังธรรมดา",
"Insert from {productName}" : "แทรกจาก {productName}"
},
"nplurals=1; plural=0;");
+29
View File
@@ -0,0 +1,29 @@
{ "translations": {
"Dashboard" : "แดชบอร์ด",
"Dashboard app" : "แอปแดชบอร์ด",
"Show something" : "แสดงบางอย่าง",
"Customize" : "ปรับแต่ง",
"Edit widgets" : "แก้ไข วิดเจ็ต",
"Get more widgets from the app store" : "เพิ่ม วิดเจ็ต จาก แอปสโตร์",
"Change background image" : "เปลี่ยน รูปภาพ พื้นหลัง",
"Weather service" : "บริการ สภาพอากาศ",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "สำหรับความเป็นส่วนตัวของ ข้อมูลสภาพอากาศเป็นการร้องขอในนาม Nextcloud เซิร์ฟเวอร์ ของคุณ ดังนั้นบริการสภาพอากาศจึงไม่ได้รับ หรือจัดเก็บ ข้อมูลส่วนบุคคล",
"Weather data from Met.no" : "ข้อมูลสภาพอากาศจาก Met.no",
"geocoding with Nominatim" : "พิกัดภูมิศาสตร์ จาก Nominatim",
"elevation data from OpenTopoData" : "ข้อมูลความสูงจาก OpenTopoData",
"Weather" : "สภาพอากาศ",
"Status" : "สถานะ",
"Good evening, {name}" : "สายัณห์สวัสดิ์ {name}",
"Good evening" : "สายัณห์สวัสดิ์",
"Good afternoon, {name}" : "ทิวาสวัสดิ์ {name}",
"Good afternoon" : "ทิวาสวัสดิ์",
"Good morning, {name}" : "อรุณสวัสดิ์ {name}",
"Good morning" : "อรุณสวัสดิ์",
"Good night, {name}" : "ราตรีสวัสดิ์ {name}",
"Good night" : "ราตรีสวัสดิ์",
"Pick from files" : "เลือกจากไฟล์",
"Default images" : "รูปภาพเริ่มต้น",
"Plain background" : "พื้นหลังธรรมดา",
"Insert from {productName}" : "แทรกจาก {productName}"
},"pluralForm" :"nplurals=1; plural=0;"
}
@@ -26,7 +26,7 @@
:class="{ active: background === 'custom' }"
tabindex="0"
@click="pickFile">
{{ t('dashboard', 'Pick from files') }}
{{ t('dashboard', 'Pick from Files') }}
</button>
<button class="background default"
tabindex="0"
+1
View File
@@ -32,6 +32,7 @@
<step>OCA\DAV\Migration\RegenerateBirthdayCalendars</step>
<step>OCA\DAV\Migration\CalDAVRemoveEmptyValue</step>
<step>OCA\DAV\Migration\BuildCalendarSearchIndex</step>
<step>OCA\DAV\Migration\BuildSocialSearchIndex</step>
<step>OCA\DAV\Migration\RefreshWebcalJobRegistrar</step>
<step>OCA\DAV\Migration\RegisterBuildReminderIndexBackgroundJob</step>
<step>OCA\DAV\Migration\RemoveOrphanEventsAndContacts</step>
@@ -206,6 +206,8 @@ return array(
'OCA\\DAV\\HookManager' => $baseDir . '/../lib/HookManager.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndex.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\BuildSocialSearchIndex' => $baseDir . '/../lib/Migration/BuildSocialSearchIndex.php',
'OCA\\DAV\\Migration\\BuildSocialSearchIndexBackgroundJob' => $baseDir . '/../lib/Migration/BuildSocialSearchIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\CalDAVRemoveEmptyValue' => $baseDir . '/../lib/Migration/CalDAVRemoveEmptyValue.php',
'OCA\\DAV\\Migration\\ChunkCleanup' => $baseDir . '/../lib/Migration/ChunkCleanup.php',
'OCA\\DAV\\Migration\\FixBirthdayCalendarComponent' => $baseDir . '/../lib/Migration/FixBirthdayCalendarComponent.php',
@@ -221,6 +221,8 @@ class ComposerStaticInitDAV
'OCA\\DAV\\HookManager' => __DIR__ . '/..' . '/../lib/HookManager.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndex.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\BuildSocialSearchIndex' => __DIR__ . '/..' . '/../lib/Migration/BuildSocialSearchIndex.php',
'OCA\\DAV\\Migration\\BuildSocialSearchIndexBackgroundJob' => __DIR__ . '/..' . '/../lib/Migration/BuildSocialSearchIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\CalDAVRemoveEmptyValue' => __DIR__ . '/..' . '/../lib/Migration/CalDAVRemoveEmptyValue.php',
'OCA\\DAV\\Migration\\ChunkCleanup' => __DIR__ . '/..' . '/../lib/Migration/ChunkCleanup.php',
'OCA\\DAV\\Migration\\FixBirthdayCalendarComponent' => __DIR__ . '/..' . '/../lib/Migration/FixBirthdayCalendarComponent.php',
+3 -3
View File
@@ -107,9 +107,9 @@ OC.L10N.register(
"Notifications are sent via background jobs, so these must occur often enough." : "Meldingen worden via achtergrondtaken verstuurd, dus die moeten vaak genoeg plaatsvinden.",
"Enable notifications for events via push" : "Inschakelen push-melding voor afspraken",
"Hello %s," : "Hallo %s,",
"The meeting »%1$s« with %2$s was canceled." : "De vergadering »%1$s« met %2$s is geannuleerd.",
"The meeting »%1$s« with %2$s was updated." : "De vergadering »%1$s« met %2$s is bijgewerkt.",
"%1$s invited you to »%2$s«" : "%1$s heeft je uitgenodigd voor »%2$s«",
"The meeting »%1$s« with %2$s was canceled." : "De vergadering \"%1$s\" met %2$s is geannuleerd.",
"The meeting »%1$s« with %2$s was updated." : "De vergadering \"%1$s\" met %2$s is bijgewerkt.",
"%1$s invited you to »%2$s«" : "%1$s heeft je uitgenodigd voor \"%2$s\"",
"When:" : "Wanneer:"
},
"nplurals=2; plural=(n != 1);");
+3 -3
View File
@@ -105,9 +105,9 @@
"Notifications are sent via background jobs, so these must occur often enough." : "Meldingen worden via achtergrondtaken verstuurd, dus die moeten vaak genoeg plaatsvinden.",
"Enable notifications for events via push" : "Inschakelen push-melding voor afspraken",
"Hello %s," : "Hallo %s,",
"The meeting »%1$s« with %2$s was canceled." : "De vergadering »%1$s« met %2$s is geannuleerd.",
"The meeting »%1$s« with %2$s was updated." : "De vergadering »%1$s« met %2$s is bijgewerkt.",
"%1$s invited you to »%2$s«" : "%1$s heeft je uitgenodigd voor »%2$s«",
"The meeting »%1$s« with %2$s was canceled." : "De vergadering \"%1$s\" met %2$s is geannuleerd.",
"The meeting »%1$s« with %2$s was updated." : "De vergadering \"%1$s\" met %2$s is bijgewerkt.",
"%1$s invited you to »%2$s«" : "%1$s heeft je uitgenodigd voor \"%2$s\"",
"When:" : "Wanneer:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1
View File
@@ -106,6 +106,7 @@ OC.L10N.register(
"Hello %s," : "Pozdravljeni, %s,",
"The meeting »%1$s« with %2$s was canceled." : "Sestanek »%1$s« z uporabnikom %2$s je preklican.",
"The meeting »%1$s« with %2$s was updated." : "Sestanek »%1$s« z uporabnikom %2$s je spremenjen.",
"%1$s invited you to »%2$s«" : "%1$s vas vabi na »%2$s«",
"When:" : "Kdaj:"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
+1
View File
@@ -104,6 +104,7 @@
"Hello %s," : "Pozdravljeni, %s,",
"The meeting »%1$s« with %2$s was canceled." : "Sestanek »%1$s« z uporabnikom %2$s je preklican.",
"The meeting »%1$s« with %2$s was updated." : "Sestanek »%1$s« z uporabnikom %2$s je spremenjen.",
"%1$s invited you to »%2$s«" : "%1$s vas vabi na »%2$s«",
"When:" : "Kdaj:"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
}
+3 -4
View File
@@ -345,9 +345,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));
$principals = array_map(function ($principal) {
return urldecode($principal);
}, $principals);
$principals[] = $principalUri;
$fields = array_values($this->propertyMap);
@@ -2744,11 +2741,13 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
* @param string $uriName
* @param string $uriOrigin
* @param string $uriDestination
* @param string $newUriName (optional) the new uriName
*/
public function moveCalendar($uriName, $uriOrigin, $uriDestination) {
public function moveCalendar($uriName, $uriOrigin, $uriDestination, $newUriName = null) {
$query = $this->db->getQueryBuilder();
$query->update('calendars')
->set('principaluri', $query->createNamedParameter($uriDestination))
->set('uri', $query->createNamedParameter($newUriName ?: $uriName))
->where($query->expr()->eq('principaluri', $query->createNamedParameter($uriOrigin)))
->andWhere($query->expr()->eq('uri', $query->createNamedParameter($uriName)))
->execute();
+2 -4
View File
@@ -82,7 +82,8 @@ class CardDavBackend implements BackendInterface, SyncSupport {
/** @var array properties to index */
public static $indexProperties = [
'BDAY', 'UID', 'N', 'FN', 'TITLE', 'ROLE', 'NOTE', 'NICKNAME',
'ORG', 'CATEGORIES', 'EMAIL', 'TEL', 'IMPP', 'ADR', 'URL', 'GEO', 'CLOUD'];
'ORG', 'CATEGORIES', 'EMAIL', 'TEL', 'IMPP', 'ADR', 'URL', 'GEO',
'CLOUD', 'X-SOCIALPROFILE'];
/**
* @var string[] Map of uid => display name
@@ -190,9 +191,6 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));
$principals = array_map(function ($principal) {
return urldecode($principal);
}, $principals);
$principals[] = $principalUri;
$query = $this->db->getQueryBuilder();
+68 -16
View File
@@ -104,7 +104,7 @@ class MoveCalendar extends Command {
->addArgument('destinationuid',
InputArgument::REQUIRED,
'User who will receive the calendar')
->addOption('force', 'f', InputOption::VALUE_NONE, "Force the migration by removing existing shares");
->addOption('force', 'f', InputOption::VALUE_NONE, "Force the migration by removing existing shares and renaming calendars in case of conflicts");
}
protected function execute(InputInterface $input, OutputInterface $output): int {
@@ -122,6 +122,7 @@ class MoveCalendar extends Command {
}
$name = $input->getArgument('name');
$newName = null;
$calendar = $this->calDav->getCalendarByUri(self::URI_USERS . $userOrigin, $name);
@@ -129,18 +130,74 @@ class MoveCalendar extends Command {
throw new \InvalidArgumentException("User <$userOrigin> has no calendar named <$name>. You can run occ dav:list-calendars to list calendars URIs for this user.");
}
if (null !== $this->calDav->getCalendarByUri(self::URI_USERS . $userDestination, $name)) {
throw new \InvalidArgumentException("User <$userDestination> already has a calendar named <$name>.");
// Calendar already exists
if ($this->calendarExists($userDestination, $name)) {
if ($input->getOption('force')) {
// Try to find a suitable name
$newName = $this->getNewCalendarName($userDestination, $name);
// If we didn't find a suitable value after all the iterations, give up
if ($this->calendarExists($userDestination, $newName)) {
throw new \InvalidArgumentException("Unable to find a suitable calendar name for <$userDestination> with initial name <$name>.");
}
} else {
throw new \InvalidArgumentException("User <$userDestination> already has a calendar named <$name>.");
}
}
$this->checkShares($calendar, $userOrigin, $userDestination, $input->getOption('force'));
$hadShares = $this->checkShares($calendar, $userOrigin, $userDestination, $input->getOption('force'));
if ($hadShares) {
/**
* Warn that share links have changed if there are shares
*/
$this->io->note([
"Please note that moving calendar " . $calendar['uri'] . " from user <$userOrigin> to <$userDestination> has caused share links to change.",
"Sharees will need to change \"example.com/remote.php/dav/calendars/uid/" . $calendar['uri'] . "_shared_by_$userOrigin\" to \"example.com/remote.php/dav/calendars/uid/" . $newName ?: $calendar['uri'] . "_shared_by_$userDestination\""
]);
}
$this->calDav->moveCalendar($name, self::URI_USERS . $userOrigin, self::URI_USERS . $userDestination);
$this->calDav->moveCalendar($name, self::URI_USERS . $userOrigin, self::URI_USERS . $userDestination, $newName);
$this->io->success("Calendar <$name> was moved from user <$userOrigin> to <$userDestination>");
$this->io->success("Calendar <$name> was moved from user <$userOrigin> to <$userDestination>" . ($newName ? " as <$newName>" : ''));
return 0;
}
/**
* Check if the calendar exists for user
*
* @param string $userDestination
* @param string $name
* @return bool
*/
protected function calendarExists(string $userDestination, string $name): bool {
return null !== $this->calDav->getCalendarByUri(self::URI_USERS . $userDestination, $name);
}
/**
* Try to find a suitable new calendar name that
* doesn't exists for the provided user
*
* @param string $userDestination
* @param string $name
* @return string
*/
protected function getNewCalendarName(string $userDestination, string $name): string {
$increment = 1;
$newName = $name . '-' . $increment;
while ($increment <= 10) {
$this->io->writeln("Trying calendar name <$newName>", OutputInterface::VERBOSITY_VERBOSE);
if (!$this->calendarExists($userDestination, $newName)) {
// New name is good to go
$this->io->writeln("Found proper new calendar name <$newName>", OutputInterface::VERBOSITY_VERBOSE);
break;
}
$newName = $name . '-' . $increment;
$increment++;
}
return $newName;
}
/**
* Check that moving the calendar won't break shares
*
@@ -148,8 +205,10 @@ class MoveCalendar extends Command {
* @param string $userOrigin
* @param string $userDestination
* @param bool $force
* @return bool had any shares or not
* @throws \InvalidArgumentException
*/
private function checkShares(array $calendar, string $userOrigin, string $userDestination, bool $force = false) {
private function checkShares(array $calendar, string $userOrigin, string $userDestination, bool $force = false): bool {
$shares = $this->calDav->getShares($calendar['id']);
foreach ($shares as $share) {
list(, $prefix, $userOrGroup) = explode('/', $share['href'], 3);
@@ -177,14 +236,7 @@ class MoveCalendar extends Command {
}
}
}
/**
* Warn that share links have changed if there are shares
*/
if (count($shares) > 0) {
$this->io->note([
"Please note that moving calendar " . $calendar['uri'] . " from user <$userOrigin> to <$userDestination> has caused share links to change.",
"Sharees will need to change \"example.com/remote.php/dav/calendars/uid/" . $calendar['uri'] . "_shared_by_$userOrigin\" to \"example.com/remote.php/dav/calendars/uid/" . $calendar['uri'] . "_shared_by_$userDestination\""
]);
}
return count($shares) > 0;
}
}
+1 -1
View File
@@ -494,7 +494,7 @@ class File extends Node implements IFile {
}
/**
* @return array|false
* @return array|bool
*/
public function getDirectDownload() {
if (\OCP\App::isEnabled('encryption')) {
+1 -1
View File
@@ -232,7 +232,7 @@ class GroupPrincipalBackend implements BackendInterface {
}
}
$carry[] = self::PRINCIPAL_PREFIX . '/' . $gid;
$carry[] = self::PRINCIPAL_PREFIX . '/' . urlencode($gid);
return $carry;
}, []);
break;
+1
View File
@@ -107,6 +107,7 @@ class Backend {
return;
}
$principal[2] = urldecode($principal[2]);
if (($principal[1] === 'users' && !$this->userManager->userExists($principal[2])) ||
($principal[1] === 'groups' && !$this->groupManager->groupExists($principal[2]))) {
// User or group does not exist
@@ -0,0 +1,94 @@
<?php
/**
* @copyright 2017 Georg Ehrke <oc.list@georgehrke.com>
*
* @author Georg Ehrke <oc.list@georgehrke.com>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Roeland Jago Douma <roeland@famdouma.nl>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\DAV\Migration;
use OCP\BackgroundJob\IJobList;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\Migration\IOutput;
use OCP\Migration\IRepairStep;
class BuildSocialSearchIndex implements IRepairStep {
/** @var IDBConnection */
private $db;
/** @var IJobList */
private $jobList;
/** @var IConfig */
private $config;
/**
* @param IDBConnection $db
* @param IJobList $jobList
* @param IConfig $config
*/
public function __construct(IDBConnection $db,
IJobList $jobList,
IConfig $config) {
$this->db = $db;
$this->jobList = $jobList;
$this->config = $config;
}
/**
* @return string
*/
public function getName() {
return 'Register building of social profile search index as background job';
}
/**
* @param IOutput $output
*/
public function run(IOutput $output) {
// only run once
if ($this->config->getAppValue('dav', 'builtSocialSearchIndex') === 'yes') {
$output->info('Repair step already executed');
return;
}
$query = $this->db->getQueryBuilder();
$query->select($query->func()->max('cardid'))
->from('cards_properties')
->where($query->expr()->eq('name', $query->createNamedParameter('X-SOCIALPROFILE')));
$maxId = (int)$query->execute()->fetchColumn();
if ($maxId === 0) {
return;
}
$output->info('Add background job');
$this->jobList->add(BuildSocialSearchIndexBackgroundJob::class, [
'offset' => 0,
'stopAt' => $maxId
]);
// no need to redo the repair during next upgrade
$this->config->setAppValue('dav', 'builtSocialSearchIndex', 'yes');
}
}
@@ -0,0 +1,122 @@
<?php
/**
* @copyright 2020 Matthias Heinisch <nextcloud@matthiasheinisch.de>
*
* @author Matthias Heinisch <nextcloud@matthiasheinisch.de>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\DAV\Migration;
use OC\BackgroundJob\QueuedJob;
use OCA\DAV\CardDAV\CardDavBackend;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJobList;
use OCP\IDBConnection;
use OCP\ILogger;
class BuildSocialSearchIndexBackgroundJob extends QueuedJob {
/** @var IDBConnection */
private $db;
/** @var CardDavBackend */
private $davBackend;
/** @var ILogger */
private $logger;
/** @var IJobList */
private $jobList;
/** @var ITimeFactory */
private $timeFactory;
/**
* @param IDBConnection $db
* @param CardDavBackend $davBackend
* @param ILogger $logger
* @param IJobList $jobList
* @param ITimeFactory $timeFactory
*/
public function __construct(IDBConnection $db,
CardDavBackend $davBackend,
ILogger $logger,
IJobList $jobList,
ITimeFactory $timeFactory) {
$this->db = $db;
$this->davBackend = $davBackend;
$this->logger = $logger;
$this->jobList = $jobList;
$this->timeFactory = $timeFactory;
}
public function run($arguments) {
$offset = $arguments['offset'];
$stopAt = $arguments['stopAt'];
$this->logger->info('Indexing social profile data (' . $offset .'/' . $stopAt . ')');
$offset = $this->buildIndex($offset, $stopAt);
if ($offset >= $stopAt) {
$this->logger->info('All contacts with social profiles indexed');
} else {
$this->jobList->add(self::class, [
'offset' => $offset,
'stopAt' => $stopAt
]);
$this->logger->info('New social profile indexing job scheduled with offset ' . $offset);
}
}
/**
* @param int $offset
* @param int $stopAt
* @return int
*/
private function buildIndex($offset, $stopAt) {
$startTime = $this->timeFactory->getTime();
// get contacts with social profiles
$query = $this->db->getQueryBuilder();
$query->select('id', 'addressbookid', 'uri', 'carddata')
->from('cards', 'c')
->orderBy('id', 'ASC')
->where($query->expr()->like('carddata', $query->createNamedParameter('%SOCIALPROFILE%')))
->setMaxResults(100);
$social_cards = $query->execute()->fetchAll();
if (empty($social_cards)) {
return $stopAt;
}
// refresh identified contacts in order to re-index
foreach ($social_cards as $contact) {
$offset = $contact['id'];
$this->davBackend->updateCard($contact['addressbookid'], $contact['uri'], $contact['carddata']);
// stop after 15sec (to be continued with next chunk)
if (($this->timeFactory->getTime() - $startTime) > 15) {
break;
}
}
return $offset;
}
}
+4
View File
@@ -15,9 +15,12 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "Na tem strežniku souporaba s strežnika na strežnik ni omogočena.",
"Couldn't establish a federated share." : "Ni mogoče vzpostaviti zveznega mesta za souporabo.",
"Couldn't establish a federated share, maybe the password was wrong." : "Zvezne povezave za souporabo ni mogoče ustvariti. Morda je navedeno napačno geslo.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Zahteva za zvezno souporabo je poslana, prejeli boste povabilo. Preverite obvestila.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Zvezne povezave za souporabo ni mogoče ustvariti. Kaže, da je podana zahteva za povezavo z nepodprto staro različico oblaka (Nextzcloud ≤ 9).",
"It is not allowed to send federated group shares from this server." : "S tega strežnika ni dovoljeno pošiljati povabil za skupinsko souporabo prek zvezne povezave.",
"Not allowed to create a federated share with the same user" : "Ni dovoljeno ustvariti mesta souporabe zveznega oblaka z istim uporabnikom",
"File is already shared with %s" : "Datoteka je že v souporabi pri %s",
"Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Omogočanje souporabe %1$s je spodletelo, ker ni mogoče najti %2$s. Najverjetneje je strežnik nedosegljiv, ali pa je v uporabo neustrezno potrdilo podpisa.",
"Could not find share" : "Mape v souporabi ni mogoče najti",
"Federated sharing" : "Souporaba v zveznem oblaku",
"Accept" : "Sprejmi",
@@ -30,6 +33,7 @@ OC.L10N.register(
"Federated Cloud Sharing" : "Souporaba zveznega oblaka",
"Open documentation" : "Odpri dokumentacijo",
"Adjust how people can share between servers." : "Določila, kako lahko uporabniki omogočajo souporabo med različnimi strežniki.",
"Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Dovoli uporabnikom tega strežnika pošiljanje povezav za souporabo na druge strežnike (možnost omogoči tudi dostop prek WebDAV do javnih povezav).",
"Allow users on this server to receive shares from other servers" : "Dovoli uporabnikom tega strežnika sprejemanje map v souporabo z drugih strežnikov",
"Allow users on this server to send shares to groups on other servers" : "Dovoli uporabnikom tega strežnika pošiljanje map za souporabo v skupine na drugih strežnikih",
"Allow users on this server to receive group shares from other servers" : "Dovoli uporabnikom tega strežnika sprejemanje skupinskih mest souporabe z drugih strežnikov",
+4
View File
@@ -13,9 +13,12 @@
"Server to server sharing is not enabled on this server" : "Na tem strežniku souporaba s strežnika na strežnik ni omogočena.",
"Couldn't establish a federated share." : "Ni mogoče vzpostaviti zveznega mesta za souporabo.",
"Couldn't establish a federated share, maybe the password was wrong." : "Zvezne povezave za souporabo ni mogoče ustvariti. Morda je navedeno napačno geslo.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Zahteva za zvezno souporabo je poslana, prejeli boste povabilo. Preverite obvestila.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Zvezne povezave za souporabo ni mogoče ustvariti. Kaže, da je podana zahteva za povezavo z nepodprto staro različico oblaka (Nextzcloud ≤ 9).",
"It is not allowed to send federated group shares from this server." : "S tega strežnika ni dovoljeno pošiljati povabil za skupinsko souporabo prek zvezne povezave.",
"Not allowed to create a federated share with the same user" : "Ni dovoljeno ustvariti mesta souporabe zveznega oblaka z istim uporabnikom",
"File is already shared with %s" : "Datoteka je že v souporabi pri %s",
"Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Omogočanje souporabe %1$s je spodletelo, ker ni mogoče najti %2$s. Najverjetneje je strežnik nedosegljiv, ali pa je v uporabo neustrezno potrdilo podpisa.",
"Could not find share" : "Mape v souporabi ni mogoče najti",
"Federated sharing" : "Souporaba v zveznem oblaku",
"Accept" : "Sprejmi",
@@ -28,6 +31,7 @@
"Federated Cloud Sharing" : "Souporaba zveznega oblaka",
"Open documentation" : "Odpri dokumentacijo",
"Adjust how people can share between servers." : "Določila, kako lahko uporabniki omogočajo souporabo med različnimi strežniki.",
"Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Dovoli uporabnikom tega strežnika pošiljanje povezav za souporabo na druge strežnike (možnost omogoči tudi dostop prek WebDAV do javnih povezav).",
"Allow users on this server to receive shares from other servers" : "Dovoli uporabnikom tega strežnika sprejemanje map v souporabo z drugih strežnikov",
"Allow users on this server to send shares to groups on other servers" : "Dovoli uporabnikom tega strežnika pošiljanje map za souporabo v skupine na drugih strežnikih",
"Allow users on this server to receive group shares from other servers" : "Dovoli uporabnikom tega strežnika sprejemanje skupinskih mest souporabe z drugih strežnikov",
+8 -8
View File
@@ -1,17 +1,17 @@
OC.L10N.register(
"federation",
{
"Added to the list of trusted servers" : "Afegeix a la llista de servidors de confiança",
"Server is already in the list of trusted servers." : "El servidor ja està a la llista de servidors de confiança.",
"No server to federate with found" : "No s'ha trobat cap servidor federat",
"Added to the list of trusted servers" : "S'ha afegit a la llista de servidors de confiança",
"Server is already in the list of trusted servers." : "El servidor ja es troba en la llista de servidors de confiança.",
"No server to federate with found" : "No s'ha trobat cap servidor amb què federar-se",
"Could not add server" : "No s'ha pogut afegir el servidor",
"Federation" : "Federació",
"Federation allows you to connect with other trusted servers to exchange the user directory." : "La federació us permet connectar amb altres servidors de confiança per a intercanviar el directori d'usuari.",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federació us permet connectar amb altres servidors de confiança per a intercanviar directoris d\\'usuari. Per exemple, això s\\'utilitzarà per als usuaris externs d'auto-completat per a l\\'ús compartit federat.",
"Federation allows you to connect with other trusted servers to exchange the user directory." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar la carpeta d'usuari.",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes d'usuari. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic d'usuaris externs per a l'ús compartit federat.",
"Trusted servers" : "Servidors de confiança",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federació li permet connectar-se amb altres servidors de confiança per intercanviar el directori d'usuari. Per exemple, això s'utilitzarà per completar automàticament els usuaris externs per a l'ús compartit federat. No cal afegir un servidor com a servidor de confiança per crear una compartició federada.",
"Add server automatically once a federated share was created successfully" : "Afegeix servidor automàticament quan s'hagi creat una federació correctament",
"+ Add trusted server" : "+ Afegeix servidor de confiança",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes d'usuari. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic d'usuaris externs per a l'ús compartit federat. No cal afegir un servidor com a servidor de confiança per a crear un recurs d'ús compartit federat.",
"Add server automatically once a federated share was created successfully" : "Afegeix un servidor automàticament quan es creï un recurs d'ús compartit federat correctament",
"+ Add trusted server" : "+ Afegeix un servidor de confiança",
"Trusted server" : "Servidor de confiança",
"Add" : "Afegeix"
},
+8 -8
View File
@@ -1,15 +1,15 @@
{ "translations": {
"Added to the list of trusted servers" : "Afegeix a la llista de servidors de confiança",
"Server is already in the list of trusted servers." : "El servidor ja està a la llista de servidors de confiança.",
"No server to federate with found" : "No s'ha trobat cap servidor federat",
"Added to the list of trusted servers" : "S'ha afegit a la llista de servidors de confiança",
"Server is already in the list of trusted servers." : "El servidor ja es troba en la llista de servidors de confiança.",
"No server to federate with found" : "No s'ha trobat cap servidor amb què federar-se",
"Could not add server" : "No s'ha pogut afegir el servidor",
"Federation" : "Federació",
"Federation allows you to connect with other trusted servers to exchange the user directory." : "La federació us permet connectar amb altres servidors de confiança per a intercanviar el directori d'usuari.",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federació us permet connectar amb altres servidors de confiança per a intercanviar directoris d\\'usuari. Per exemple, això s\\'utilitzarà per als usuaris externs d'auto-completat per a l\\'ús compartit federat.",
"Federation allows you to connect with other trusted servers to exchange the user directory." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar la carpeta d'usuari.",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes d'usuari. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic d'usuaris externs per a l'ús compartit federat.",
"Trusted servers" : "Servidors de confiança",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federació li permet connectar-se amb altres servidors de confiança per intercanviar el directori d'usuari. Per exemple, això s'utilitzarà per completar automàticament els usuaris externs per a l'ús compartit federat. No cal afegir un servidor com a servidor de confiança per crear una compartició federada.",
"Add server automatically once a federated share was created successfully" : "Afegeix servidor automàticament quan s'hagi creat una federació correctament",
"+ Add trusted server" : "+ Afegeix servidor de confiança",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes d'usuari. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic d'usuaris externs per a l'ús compartit federat. No cal afegir un servidor com a servidor de confiança per a crear un recurs d'ús compartit federat.",
"Add server automatically once a federated share was created successfully" : "Afegeix un servidor automàticament quan es creï un recurs d'ús compartit federat correctament",
"+ Add trusted server" : "+ Afegeix un servidor de confiança",
"Trusted server" : "Servidor de confiança",
"Add" : "Afegeix"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
@@ -31,7 +31,6 @@ namespace OCA\Federation\BackgroundJob;
use GuzzleHttp\Exception\ClientException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Ring\Exception\RingException;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Http;
use OCP\AppFramework\Utility\ITimeFactory;
@@ -191,14 +190,7 @@ class GetSharedSecret extends Job {
'level' => ILogger::INFO,
'app' => 'federation',
]);
} catch (RingException $e) {
$status = -1; // There is no status code if we could not connect
$this->logger->logException($e, [
'message' => 'Could not connect to ' . $target,
'level' => ILogger::INFO,
'app' => 'federation',
]);
} catch (\Exception $e) {
} catch (\Throwable $e) {
$status = Http::STATUS_INTERNAL_SERVER_ERROR;
$this->logger->logException($e, ['app' => 'federation']);
}
@@ -30,7 +30,6 @@ namespace OCA\Federation\BackgroundJob;
use GuzzleHttp\Exception\ClientException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Ring\Exception\RingException;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Http;
use OCP\AppFramework\Utility\ITimeFactory;
@@ -184,10 +183,7 @@ class RequestSharedSecret extends Job {
} catch (RequestException $e) {
$status = -1; // There is no status code if we could not connect
$this->logger->info('Could not connect to ' . $target, ['app' => 'federation']);
} catch (RingException $e) {
$status = -1; // There is no status code if we could not connect
$this->logger->info('Could not connect to ' . $target, ['app' => 'federation']);
} catch (\Exception $e) {
} catch (\Throwable $e) {
$status = Http::STATUS_INTERNAL_SERVER_ERROR;
$this->logger->logException($e, ['app' => 'federation']);
}
@@ -28,7 +28,6 @@
namespace OCA\Federation\Tests\BackgroundJob;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Ring\Exception\RingException;
use OCA\Federation\BackgroundJob\GetSharedSecret;
use OCA\Federation\TrustedServers;
use OCA\Files_Sharing\Tests\TestCase;
@@ -298,41 +297,4 @@ class GetSharedSecretTest extends TestCase {
$this->assertTrue($this->invokePrivate($this->getSharedSecret, 'retainJob'));
}
public function testRunRingException() {
$target = 'targetURL';
$source = 'sourceURL';
$token = 'token';
$argument = ['url' => $target, 'token' => $token];
$this->timeFactory->method('getTime')
->willReturn(42);
$this->urlGenerator
->expects($this->once())
->method('getAbsoluteURL')
->with('/')
->willReturn($source);
$this->httpClient->expects($this->once())->method('get')
->with(
$target . '/ocs/v2.php/apps/federation/api/v1/shared-secret',
[
'query' =>
[
'url' => $source,
'token' => $token,
'format' => 'json',
],
'timeout' => 3,
'connect_timeout' => 3,
]
)->willThrowException($this->createMock(RingException::class));
$this->trustedServers->expects($this->never())->method('addSharedSecret');
$this->invokePrivate($this->getSharedSecret, 'run', [$argument]);
$this->assertTrue($this->invokePrivate($this->getSharedSecret, 'retainJob'));
}
}
@@ -27,7 +27,6 @@
namespace OCA\Federation\Tests\BackgroundJob;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Ring\Exception\RingException;
use OCA\Federation\BackgroundJob\RequestSharedSecret;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Http;
@@ -279,40 +278,4 @@ class RequestSharedSecretTest extends TestCase {
$this->invokePrivate($this->requestSharedSecret, 'run', [$argument]);
$this->assertTrue($this->invokePrivate($this->requestSharedSecret, 'retainJob'));
}
public function testRunRingException() {
$target = 'targetURL';
$source = 'sourceURL';
$token = 'token';
$argument = ['url' => $target, 'token' => $token];
$this->timeFactory->method('getTime')->willReturn(42);
$this->urlGenerator
->expects($this->once())
->method('getAbsoluteURL')
->with('/')
->willReturn($source);
$this->httpClient
->expects($this->once())
->method('post')
->with(
$target . '/ocs/v2.php/apps/federation/api/v1/request-shared-secret',
[
'body' =>
[
'url' => $source,
'token' => $token,
'format' => 'json',
],
'timeout' => 3,
'connect_timeout' => 3,
]
)->willThrowException($this->createMock(RingException::class));
$this->invokePrivate($this->requestSharedSecret, 'run', [$argument]);
$this->assertTrue($this->invokePrivate($this->requestSharedSecret, 'retainJob'));
}
}
+4 -1
View File
@@ -586,7 +586,10 @@ OC.Uploader.prototype = _.extend({
_.each(uploads, function(upload) {
self._uploads[upload.data.uploadId] = upload;
});
self.totalToUpload = _.reduce(uploads, function(memo, upload) { return memo+upload.getFile().size; }, 0);
if (!self._uploading) {
self.totalToUpload = 0;
}
self.totalToUpload += _.reduce(uploads, function(memo, upload) { return memo+upload.getFile().size; }, 0);
var semaphore = new OCA.Files.Semaphore(5);
var promises = _.map(uploads, function(upload) {
return semaphore.acquire().then(function(){
+1 -1
View File
@@ -114,7 +114,7 @@ OC.L10N.register(
"Restored by {user}" : "Obnovil(a) {user}",
"Renamed by {user}" : "Přejmenoval(a) {user}",
"Moved by {user}" : "Přesunul(a) {user}",
"\"remote user\"" : "„uživatel na protějšku“",
"\"remote user\"" : "„federovaný uživatel“",
"You created {file}" : "Vytvořili jste {file}",
"You created an encrypted file in {file}" : "Vytvořili jste šifrovaný soubor v {file}",
"{user} created {file}" : "{user} vytvořil(a) {file}",
+1 -1
View File
@@ -112,7 +112,7 @@
"Restored by {user}" : "Obnovil(a) {user}",
"Renamed by {user}" : "Přejmenoval(a) {user}",
"Moved by {user}" : "Přesunul(a) {user}",
"\"remote user\"" : "„uživatel na protějšku“",
"\"remote user\"" : "„federovaný uživatel“",
"You created {file}" : "Vytvořili jste {file}",
"You created an encrypted file in {file}" : "Vytvořili jste šifrovaný soubor v {file}",
"{user} created {file}" : "{user} vytvořil(a) {file}",
+1 -1
View File
@@ -30,7 +30,7 @@ OC.L10N.register(
"Actions" : "Aktionen",
"Rename" : "Umbenennen",
"Copy" : "Kopieren",
"Choose target folder" : "Zielordner wählen",
"Choose target folder" : "Zielordner auswählen",
"Open" : "Öffnen",
"Delete file" : "Datei löschen",
"Delete folder" : "Ordner löschen",
+1 -1
View File
@@ -28,7 +28,7 @@
"Actions" : "Aktionen",
"Rename" : "Umbenennen",
"Copy" : "Kopieren",
"Choose target folder" : "Zielordner wählen",
"Choose target folder" : "Zielordner auswählen",
"Open" : "Öffnen",
"Delete file" : "Datei löschen",
"Delete folder" : "Ordner löschen",
+6
View File
@@ -80,8 +80,12 @@ OC.L10N.register(
"\"/\" is not allowed inside a file name." : "אסור להשתמש ב־„/” בתוך שם קובץ.",
"\"{name}\" is not an allowed filetype" : "סוד הקובץ „{name}” אינו מורשה",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "האחסון של {owner} מלא, כבר לא ניתן לעדכן ולסנכרן קבצים!",
"Group folder \"{mountPoint}\" is full, files can not be updated or synced anymore!" : "תיקיית הקבוצה \"{mountPoint}\" מלאה, לא ניתן לעדכן או לסנכרן קבצים יותר!",
"External storage \"{mountPoint}\" is full, files can not be updated or synced anymore!" : "האחסון החיצוני \"{mountPoint}\" מלא, לא ניתן לעדכן או לסנכרן קבצים יותר!",
"Your storage is full, files can not be updated or synced anymore!" : "האחסון שלך מלא, כבר לא ניתן לעדכן ולסנכרן קבצים!",
"Storage of {owner} is almost full ({usedSpacePercent}%)." : "האחסון של {owner} כמעט מלא ({usedSpacePercent}%).",
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "התיקיה הקבוצתית \"{mountPoint}\" כמעט מלאה ({usedSpacePercent}%).",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "האחסון החיצוני \"{mountPoint}\" כמעט מלא ({usedSpacePercent}%).",
"Your storage is almost full ({usedSpacePercent}%)." : "האחסון שלך כמעט מלא ({usedSpacePercent}%).",
"_matches '{filter}'_::_match '{filter}'_" : ["מתאים ל- '{filter}'","מתאים ל- '{filter}'","מתאים ל- '{filter}'","מתאים ל- '{filter}'"],
"View in folder" : "הצג בתיקייה",
@@ -189,6 +193,8 @@ OC.L10N.register(
"New text file.txt" : "קובץ טקסט חדש.txt",
"Unshare" : "הסר שיתוף",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "האחסון של {owner} כמעט מלא ({usedSpacePercent}%)",
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)" : "תיקיית הקבוצה \"{mountPoint}\" כמעט מלאה ({usedSpacePercent}%)",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)" : "האחסון החיצוני \"{mountPoint}\" כמעט מלא ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "קובץ או תיקייה <strong>נערכו</strong> או ש<strong>שמם השתנה</strong>",
"A new file or folder has been <strong>created</strong>" : "קובץ או תיקייה חדשים <strong>נוצרו<strong/>",
+6
View File
@@ -78,8 +78,12 @@
"\"/\" is not allowed inside a file name." : "אסור להשתמש ב־„/” בתוך שם קובץ.",
"\"{name}\" is not an allowed filetype" : "סוד הקובץ „{name}” אינו מורשה",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "האחסון של {owner} מלא, כבר לא ניתן לעדכן ולסנכרן קבצים!",
"Group folder \"{mountPoint}\" is full, files can not be updated or synced anymore!" : "תיקיית הקבוצה \"{mountPoint}\" מלאה, לא ניתן לעדכן או לסנכרן קבצים יותר!",
"External storage \"{mountPoint}\" is full, files can not be updated or synced anymore!" : "האחסון החיצוני \"{mountPoint}\" מלא, לא ניתן לעדכן או לסנכרן קבצים יותר!",
"Your storage is full, files can not be updated or synced anymore!" : "האחסון שלך מלא, כבר לא ניתן לעדכן ולסנכרן קבצים!",
"Storage of {owner} is almost full ({usedSpacePercent}%)." : "האחסון של {owner} כמעט מלא ({usedSpacePercent}%).",
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "התיקיה הקבוצתית \"{mountPoint}\" כמעט מלאה ({usedSpacePercent}%).",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "האחסון החיצוני \"{mountPoint}\" כמעט מלא ({usedSpacePercent}%).",
"Your storage is almost full ({usedSpacePercent}%)." : "האחסון שלך כמעט מלא ({usedSpacePercent}%).",
"_matches '{filter}'_::_match '{filter}'_" : ["מתאים ל- '{filter}'","מתאים ל- '{filter}'","מתאים ל- '{filter}'","מתאים ל- '{filter}'"],
"View in folder" : "הצג בתיקייה",
@@ -187,6 +191,8 @@
"New text file.txt" : "קובץ טקסט חדש.txt",
"Unshare" : "הסר שיתוף",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "האחסון של {owner} כמעט מלא ({usedSpacePercent}%)",
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)" : "תיקיית הקבוצה \"{mountPoint}\" כמעט מלאה ({usedSpacePercent}%)",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)" : "האחסון החיצוני \"{mountPoint}\" כמעט מלא ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "קובץ או תיקייה <strong>נערכו</strong> או ש<strong>שמם השתנה</strong>",
"A new file or folder has been <strong>created</strong>" : "קובץ או תיקייה חדשים <strong>נוצרו<strong/>",
+6 -4
View File
@@ -85,7 +85,7 @@ OC.L10N.register(
"Your storage is full, files can not be updated or synced anymore!" : "Seu armazenamento está cheio e arquivos não podem mais ser atualizados ou sincronizados!",
"Storage of {owner} is almost full ({usedSpacePercent}%)." : "O armazenamento do {owner} está quase cheio ({usedSpacePercent}%).",
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "A pasta de grupo \"{mountPoint}\" está quase cheia ({usedSpacePercent}%).",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O armazenamento externo \"{mountPoint}\" está quase cheio ({usedSpacePercent}%).\n ",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O armazenamento externo \"{mountPoint}\" está quase cheio ({usedSpacePercent}%).",
"Your storage is almost full ({usedSpacePercent}%)." : "Seu armazenamento está quase cheio ({usedSpacePercent}%).",
"_matches '{filter}'_::_match '{filter}'_" : ["coincide com '{filter}'","coincide com '{filter}'"],
"View in folder" : "Exibir na pasta",
@@ -115,7 +115,7 @@ OC.L10N.register(
"Renamed by {user}" : "Renomeado por {user}",
"Moved by {user}" : "Movido por {user}",
"\"remote user\"" : "\"usuário remoto\"",
"You created {file}" : "Você criou o arquivo {file}",
"You created {file}" : "Você criou {file}",
"You created an encrypted file in {file}" : "Você criou um arquivo criptografado em {file}",
"{user} created {file}" : "{user} criou {file}",
"{user} created an encrypted file in {file}" : "{user} criou um arquivo criptografado em {file}",
@@ -132,8 +132,8 @@ OC.L10N.register(
"{user} restored {file}" : "{user} restaurou {file}",
"You renamed {oldfile} to {newfile}" : "Você renomeou o arquivo {oldfile} para {newfile}",
"{user} renamed {oldfile} to {newfile}" : "{user} renomeou {oldfile} para {newfile}",
"You moved {oldfile} to {newfile}" : "Você moveu o arquivo {oldfile} para {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} moveu o arquivo {oldfile} para {newfile}",
"You moved {oldfile} to {newfile}" : "Você moveu {oldfile} para {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} moveu {oldfile} para {newfile}",
"A file has been added to or removed from your <strong>favorites</strong>" : "Um arquivo foi adicionado ou excluído de seus <strong>favoritos</strong>",
"A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>",
"A favorite file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta favorita foi <strong>modificado</strong>",
@@ -193,6 +193,8 @@ OC.L10N.register(
"New text file.txt" : "Novo texto file.txt",
"Unshare" : "Descompartilhar",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "O armazenamento do {owner} está quase cheio ({usedSpacePercent}%)",
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)" : "A pasta de grupo \"{mountPoint}\" está quase cheia ({usedSpacePercent}%)",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)" : "O armazenamento externo \"{mountPoint}\" está quase cheio ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Seu armazenamento está quase cheio ({usedSpacePercent}%)",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Um arquivo ou pasta foi <strong>alterado</strong> ou <strong>renomeado</strong>",
"A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
+6 -4
View File
@@ -83,7 +83,7 @@
"Your storage is full, files can not be updated or synced anymore!" : "Seu armazenamento está cheio e arquivos não podem mais ser atualizados ou sincronizados!",
"Storage of {owner} is almost full ({usedSpacePercent}%)." : "O armazenamento do {owner} está quase cheio ({usedSpacePercent}%).",
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "A pasta de grupo \"{mountPoint}\" está quase cheia ({usedSpacePercent}%).",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O armazenamento externo \"{mountPoint}\" está quase cheio ({usedSpacePercent}%).\n ",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O armazenamento externo \"{mountPoint}\" está quase cheio ({usedSpacePercent}%).",
"Your storage is almost full ({usedSpacePercent}%)." : "Seu armazenamento está quase cheio ({usedSpacePercent}%).",
"_matches '{filter}'_::_match '{filter}'_" : ["coincide com '{filter}'","coincide com '{filter}'"],
"View in folder" : "Exibir na pasta",
@@ -113,7 +113,7 @@
"Renamed by {user}" : "Renomeado por {user}",
"Moved by {user}" : "Movido por {user}",
"\"remote user\"" : "\"usuário remoto\"",
"You created {file}" : "Você criou o arquivo {file}",
"You created {file}" : "Você criou {file}",
"You created an encrypted file in {file}" : "Você criou um arquivo criptografado em {file}",
"{user} created {file}" : "{user} criou {file}",
"{user} created an encrypted file in {file}" : "{user} criou um arquivo criptografado em {file}",
@@ -130,8 +130,8 @@
"{user} restored {file}" : "{user} restaurou {file}",
"You renamed {oldfile} to {newfile}" : "Você renomeou o arquivo {oldfile} para {newfile}",
"{user} renamed {oldfile} to {newfile}" : "{user} renomeou {oldfile} para {newfile}",
"You moved {oldfile} to {newfile}" : "Você moveu o arquivo {oldfile} para {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} moveu o arquivo {oldfile} para {newfile}",
"You moved {oldfile} to {newfile}" : "Você moveu {oldfile} para {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} moveu {oldfile} para {newfile}",
"A file has been added to or removed from your <strong>favorites</strong>" : "Um arquivo foi adicionado ou excluído de seus <strong>favoritos</strong>",
"A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>",
"A favorite file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta favorita foi <strong>modificado</strong>",
@@ -191,6 +191,8 @@
"New text file.txt" : "Novo texto file.txt",
"Unshare" : "Descompartilhar",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "O armazenamento do {owner} está quase cheio ({usedSpacePercent}%)",
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)" : "A pasta de grupo \"{mountPoint}\" está quase cheia ({usedSpacePercent}%)",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)" : "O armazenamento externo \"{mountPoint}\" está quase cheio ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Seu armazenamento está quase cheio ({usedSpacePercent}%)",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Um arquivo ou pasta foi <strong>alterado</strong> ou <strong>renomeado</strong>",
"A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
+1 -1
View File
@@ -236,7 +236,7 @@ class Scan extends Base {
/**
* Processes PHP errors as exceptions in order to be able to keep track of problems
*
* @see https://secure.php.net/manual/en/function.set-error-handler.php
* @see https://www.php.net/manual/en/function.set-error-handler.php
*
* @param int $severity the level of the error raised
* @param string $message
+1 -1
View File
@@ -183,7 +183,7 @@ class ScanAppData extends Base {
/**
* Processes PHP errors as exceptions in order to be able to keep track of problems
*
* @see https://secure.php.net/manual/en/function.set-error-handler.php
* @see https://www.php.net/manual/en/function.set-error-handler.php
*
* @param int $severity the level of the error raised
* @param string $message
@@ -119,7 +119,7 @@ class NativeShare extends AbstractShare {
* Multibyte unicode safe version of basename()
*
* @param string $path
* @link http://php.net/manual/en/function.basename.php#121405
* @link https://www.php.net/manual/en/function.basename.php#121405
* @return string
*/
protected static function mb_basename($path) {
+1 -1
View File
@@ -91,7 +91,7 @@ OC.L10N.register(
"Legacy (v2) authentication" : "Starší (v2) ověřování",
"WebDAV" : "WebDAV",
"URL" : "URL",
"Remote subfolder" : "Podsložka na protějšku",
"Remote subfolder" : "Federovaná podsložka",
"Secure https://" : "Zabezpečené https://",
"FTP" : "FTP",
"Host" : "Hostitel",
+1 -1
View File
@@ -89,7 +89,7 @@
"Legacy (v2) authentication" : "Starší (v2) ověřování",
"WebDAV" : "WebDAV",
"URL" : "URL",
"Remote subfolder" : "Podsložka na protějšku",
"Remote subfolder" : "Federovaná podsložka",
"Secure https://" : "Zabezpečené https://",
"FTP" : "FTP",
"Host" : "Hostitel",
+5
View File
@@ -112,7 +112,12 @@ OC.L10N.register(
"OpenStack Object Storage" : "Shramba predmeta OpenStack",
"Service name" : "Ime storitve",
"Request timeout (seconds)" : "Zahtevan časovni zamik (sekunde)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Podpora za cURL prek PHP ni omogočena ali nameščena. Priklapljanje %s zato ni mogoče. Stopite v stik s skrbnikom sistema, da namesti ustrezne pakete.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Podpora za FTP prek PHP ni omogočena ali nameščena. Priklapljanje %s zato ni mogoče. Stopite v stik s skrbnikom sistema, da namesti ustrezne pakete.",
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "Paket »%1$s« ni nameščen. Priklapljanje %2$s zato ni mogoče. Stopite v stik s skrbnikom sistema, da namesti ustrezne pakete.",
"External storage support" : "Podpora zunanji dhrambi",
"Adds basic external storage support" : "Doda osnovno zunanjo podporo shrambe",
"No external storage configured or you don't have the permission to configure them" : "Ni nastavljene zunanje shrambe ali pa ni ustreznih dovoljenj za nastavljanje.",
"Name" : "Ime",
"Storage type" : "Vrsta shrambe",
"Scope" : "Obseg",
+5
View File
@@ -110,7 +110,12 @@
"OpenStack Object Storage" : "Shramba predmeta OpenStack",
"Service name" : "Ime storitve",
"Request timeout (seconds)" : "Zahtevan časovni zamik (sekunde)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Podpora za cURL prek PHP ni omogočena ali nameščena. Priklapljanje %s zato ni mogoče. Stopite v stik s skrbnikom sistema, da namesti ustrezne pakete.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Podpora za FTP prek PHP ni omogočena ali nameščena. Priklapljanje %s zato ni mogoče. Stopite v stik s skrbnikom sistema, da namesti ustrezne pakete.",
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "Paket »%1$s« ni nameščen. Priklapljanje %2$s zato ni mogoče. Stopite v stik s skrbnikom sistema, da namesti ustrezne pakete.",
"External storage support" : "Podpora zunanji dhrambi",
"Adds basic external storage support" : "Doda osnovno zunanjo podporo shrambe",
"No external storage configured or you don't have the permission to configure them" : "Ni nastavljene zunanje shrambe ali pa ni ustreznih dovoljenj za nastavljanje.",
"Name" : "Ime",
"Storage type" : "Vrsta shrambe",
"Scope" : "Obseg",
+1 -1
View File
@@ -441,7 +441,7 @@ class SMB extends Common implements INotifyStorage {
/**
* @param string $path
* @param string $mode
* @return resource|false
* @return resource|bool
*/
public function fopen($path, $mode) {
$fullPath = $this->buildPath($path);
+1 -1
View File
@@ -151,7 +151,7 @@ OC.L10N.register(
"group" : "skupina",
"conversation" : "konverzace",
"remote" : "vzdálené",
"remote group" : "skupina na protěšjku",
"remote group" : "federovaná skupina",
"guest" : "host",
"Shared with the group {user} by {owner}" : "{owner} sdílí se skupinou {user}",
"Shared with the conversation {user} by {owner}" : "{owner} sdílí konverzaci {user}",
+1 -1
View File
@@ -149,7 +149,7 @@
"group" : "skupina",
"conversation" : "konverzace",
"remote" : "vzdálené",
"remote group" : "skupina na protěšjku",
"remote group" : "federovaná skupina",
"guest" : "host",
"Shared with the group {user} by {owner}" : "{owner} sdílí se skupinou {user}",
"Shared with the conversation {user} by {owner}" : "{owner} sdílí konverzaci {user}",
+3 -2
View File
@@ -162,8 +162,8 @@ OC.L10N.register(
"Link copied" : "Link gekopieerd",
"Cannot copy, please copy the link manually" : "Kan niet kopiëren, kopieer de link handmatig",
"Copy to clipboard" : "Kopiëren naar het klembord",
"Only works for users with access to this folder" : "Dit werkt enkel voor gebruikers met toegang tot deze map",
"Only works for users with access to this file" : "Dit werkt enkel voor gebruikers met toegang tot dit bestand",
"Only works for users with access to this folder" : "Dit werkt alleen voor gebruikers met toegang tot deze map",
"Only works for users with access to this file" : "Dit werkt alleen voor gebruikers met toegang tot dit bestand",
"Please enter the following required information before creating the share" : "Geef de volgend verplichte gegevens op voor het aanmaken van de deellink",
"Password protection (enforced)" : "Wachtwoordbeveiliging (afgedwongen)",
"Password protection" : "Wachtwoordbeveiliging",
@@ -181,6 +181,7 @@ OC.L10N.register(
"Enter a note for the share recipient" : "Geef een notitie op voor de share-ontvanger",
"Add another link" : "Nog een link toevoegen ",
"Create a new share link" : "Creëer een nieuwe deellink",
"{shareWith} by {initiator}" : "{shareWith} door {initiator}",
"Shared via link by {initiator}" : "Gedeeld via link door {initiator}",
"Share link ({label})" : "Link delen ({label})",
"Share link" : "Delen link",
+3 -2
View File
@@ -160,8 +160,8 @@
"Link copied" : "Link gekopieerd",
"Cannot copy, please copy the link manually" : "Kan niet kopiëren, kopieer de link handmatig",
"Copy to clipboard" : "Kopiëren naar het klembord",
"Only works for users with access to this folder" : "Dit werkt enkel voor gebruikers met toegang tot deze map",
"Only works for users with access to this file" : "Dit werkt enkel voor gebruikers met toegang tot dit bestand",
"Only works for users with access to this folder" : "Dit werkt alleen voor gebruikers met toegang tot deze map",
"Only works for users with access to this file" : "Dit werkt alleen voor gebruikers met toegang tot dit bestand",
"Please enter the following required information before creating the share" : "Geef de volgend verplichte gegevens op voor het aanmaken van de deellink",
"Password protection (enforced)" : "Wachtwoordbeveiliging (afgedwongen)",
"Password protection" : "Wachtwoordbeveiliging",
@@ -179,6 +179,7 @@
"Enter a note for the share recipient" : "Geef een notitie op voor de share-ontvanger",
"Add another link" : "Nog een link toevoegen ",
"Create a new share link" : "Creëer een nieuwe deellink",
"{shareWith} by {initiator}" : "{shareWith} door {initiator}",
"Shared via link by {initiator}" : "Gedeeld via link door {initiator}",
"Share link ({label})" : "Link delen ({label})",
"Share link" : "Delen link",
+2 -2
View File
@@ -55,8 +55,8 @@ OC.L10N.register(
"{actor} shared {file} with group {group}" : "{actor} compartilhou {file} com o grupo {group}",
"{actor} removed group {group} from {file}" : "{actor} excluiu o grupo {group} de {file}",
"Share for file {file} with group {group} expired" : "Compartilhamento do arquivo {file} com o grupo {group} expirado",
"Shared as public link" : "Compartilhado como um link público",
"Removed public link" : "Excluído o link público",
"Shared as public link" : "Compartilhado como link público",
"Removed public link" : "Removido link público",
"Public link expired" : "O link público expirou",
"{actor} shared as public link" : "{actor} compartilhou como um link público",
"{actor} removed public link" : "{actor} excluiu o link público",
+2 -2
View File
@@ -53,8 +53,8 @@
"{actor} shared {file} with group {group}" : "{actor} compartilhou {file} com o grupo {group}",
"{actor} removed group {group} from {file}" : "{actor} excluiu o grupo {group} de {file}",
"Share for file {file} with group {group} expired" : "Compartilhamento do arquivo {file} com o grupo {group} expirado",
"Shared as public link" : "Compartilhado como um link público",
"Removed public link" : "Excluído o link público",
"Shared as public link" : "Compartilhado como link público",
"Removed public link" : "Removido link público",
"Public link expired" : "O link público expirou",
"{actor} shared as public link" : "{actor} compartilhou como um link público",
"{actor} removed public link" : "{actor} excluiu o link público",
+1
View File
@@ -181,6 +181,7 @@ OC.L10N.register(
"Enter a note for the share recipient" : "Ange en notering till mottagaren",
"Add another link" : "Lägg till en annan länk",
"Create a new share link" : "Skapa en ny delad länk",
"{shareWith} by {initiator}" : "{shareWith} av {initiator}",
"Shared via link by {initiator}" : "Delad via länk av {initiator}",
"Share link ({label})" : "Dela länk ({label})",
"Share link" : "Dela länk",
+1
View File
@@ -179,6 +179,7 @@
"Enter a note for the share recipient" : "Ange en notering till mottagaren",
"Add another link" : "Lägg till en annan länk",
"Create a new share link" : "Skapa en ny delad länk",
"{shareWith} by {initiator}" : "{shareWith} av {initiator}",
"Shared via link by {initiator}" : "Delad via länk av {initiator}",
"Share link ({label})" : "Dela länk ({label})",
"Share link" : "Dela länk",
+1 -1
View File
@@ -297,7 +297,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
}
/**
* see http://php.net/manual/en/function.rename.php
* see https://www.php.net/manual/en/function.rename.php
*
* @param string $path1
* @param string $path2
@@ -45,10 +45,9 @@ class Version1010Date20200630192639 extends SimpleMigrationStep {
if (!$schema->hasTable('files_trash')) {
$table = $schema->createTable('files_trash');
$table->addColumn('auto_id', Types::INTEGER, [
$table->addColumn('auto_id', Types::BIGINT, [
'autoincrement' => true,
'notnull' => true,
'length' => 4,
]);
$table->addColumn('id', Types::STRING, [
'notnull' => true,
+2 -1
View File
@@ -2,6 +2,7 @@ OC.L10N.register(
"provisioning_api",
{
"Provisioning API" : "API de provisionnement",
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Cette application active un ensemble d'API que les systèmes externes peuvent utiliser pour gérer les utilisateurs, les groupes et les applications."
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Cette application active un ensemble d'API que les systèmes externes peuvent utiliser pour gérer les utilisateurs, les groupes et les applications.",
"This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Cette application active un ensemble d'API qui peuvent être utilisées par un système externe pour créer, modifier, supprimer et rechercher des attributs d'utilisateur, rechercher, ajouter et retirer des groupes, fixer des quotas et rechercher l'espace de stockage total utilisé sur Nextcloud. Les administrateurs de groupe peuvent aussi rechercher Nextcloud et accéder aux même fonctionnalités que les administrateurs pour les groupes dont ils ont la gestion. L'API permet aussi à un administrateur de rechercher les applications Nextcloud actives et les informations d'application ainsi que d'activer et désactiver les applications à distance. Une fois l'application activée, des requêtes HTTP peuvent être utilisées au moyen d'un entête Basic Auth pour exécuter chacune des fonctionnalités listées ci-dessus. Des informations supplémentaires sont accessibles dans la documentation sur l'API de provisionnement, avec des exemples de demandes et réponses serveur."
},
"nplurals=2; plural=(n > 1);");
+2 -1
View File
@@ -1,5 +1,6 @@
{ "translations": {
"Provisioning API" : "API de provisionnement",
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Cette application active un ensemble d'API que les systèmes externes peuvent utiliser pour gérer les utilisateurs, les groupes et les applications."
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Cette application active un ensemble d'API que les systèmes externes peuvent utiliser pour gérer les utilisateurs, les groupes et les applications.",
"This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Cette application active un ensemble d'API qui peuvent être utilisées par un système externe pour créer, modifier, supprimer et rechercher des attributs d'utilisateur, rechercher, ajouter et retirer des groupes, fixer des quotas et rechercher l'espace de stockage total utilisé sur Nextcloud. Les administrateurs de groupe peuvent aussi rechercher Nextcloud et accéder aux même fonctionnalités que les administrateurs pour les groupes dont ils ont la gestion. L'API permet aussi à un administrateur de rechercher les applications Nextcloud actives et les informations d'application ainsi que d'activer et désactiver les applications à distance. Une fois l'application activée, des requêtes HTTP peuvent être utilisées au moyen d'un entête Basic Auth pour exécuter chacune des fonctionnalités listées ci-dessus. Des informations supplémentaires sont accessibles dans la documentation sur l'API de provisionnement, avec des exemples de demandes et réponses serveur."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}
+4 -4
View File
@@ -256,10 +256,10 @@ window.addEventListener('DOMContentLoaded', function(){
// run setup checks then gather error messages
$.when(
OC.SetupChecks.checkWebDAV(),
OC.SetupChecks.checkWellKnownUrl('/.well-known/webfinger', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true && !!OC.appConfig.core.public_webfinger, [200, 404]),
OC.SetupChecks.checkWellKnownUrl('/.well-known/nodeinfo', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true && !!OC.appConfig.core.public_nodeinfo, [200, 404]),
OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
OC.SetupChecks.checkWellKnownUrl('/.well-known/carddav', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
OC.SetupChecks.checkWellKnownUrl('GET', '/.well-known/webfinger', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true, [200, 404], true),
OC.SetupChecks.checkWellKnownUrl('GET', '/.well-known/nodeinfo', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true, [200, 404], true),
OC.SetupChecks.checkWellKnownUrl('PROPFIND', '/.well-known/caldav', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
OC.SetupChecks.checkWellKnownUrl('PROPFIND', '/.well-known/carddav', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
OC.SetupChecks.checkProviderUrl(OC.getRootPath() + '/ocm-provider/', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
OC.SetupChecks.checkProviderUrl(OC.getRootPath() + '/ocs-provider/', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
OC.SetupChecks.checkSetup(),
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More