summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/files/ajax/newfile.php3
-rw-r--r--apps/files/ajax/upload.php24
-rw-r--r--apps/files/command/scan.php43
-rw-r--r--apps/files/css/files.css37
-rw-r--r--apps/files/css/upload.css22
-rw-r--r--apps/files/index.php3
-rw-r--r--apps/files/js/file-upload.js15
-rw-r--r--apps/files/js/fileactions.js352
-rw-r--r--apps/files/js/filelist.js47
-rw-r--r--apps/files/l10n/af_ZA.js1
-rw-r--r--apps/files/l10n/af_ZA.json1
-rw-r--r--apps/files/l10n/ar.js2
-rw-r--r--apps/files/l10n/ar.json2
-rw-r--r--apps/files/l10n/ast.js2
-rw-r--r--apps/files/l10n/ast.json2
-rw-r--r--apps/files/l10n/az.js1
-rw-r--r--apps/files/l10n/az.json1
-rw-r--r--apps/files/l10n/bg_BG.js2
-rw-r--r--apps/files/l10n/bg_BG.json2
-rw-r--r--apps/files/l10n/bn_BD.js1
-rw-r--r--apps/files/l10n/bn_BD.json1
-rw-r--r--apps/files/l10n/bn_IN.js2
-rw-r--r--apps/files/l10n/bn_IN.json2
-rw-r--r--apps/files/l10n/bs.js1
-rw-r--r--apps/files/l10n/bs.json1
-rw-r--r--apps/files/l10n/ca.js2
-rw-r--r--apps/files/l10n/ca.json2
-rw-r--r--apps/files/l10n/cs_CZ.js2
-rw-r--r--apps/files/l10n/cs_CZ.json2
-rw-r--r--apps/files/l10n/cy_GB.js2
-rw-r--r--apps/files/l10n/cy_GB.json2
-rw-r--r--apps/files/l10n/da.js2
-rw-r--r--apps/files/l10n/da.json2
-rw-r--r--apps/files/l10n/de.js2
-rw-r--r--apps/files/l10n/de.json2
-rw-r--r--apps/files/l10n/de_AT.js1
-rw-r--r--apps/files/l10n/de_AT.json1
-rw-r--r--apps/files/l10n/de_DE.js2
-rw-r--r--apps/files/l10n/de_DE.json2
-rw-r--r--apps/files/l10n/el.js2
-rw-r--r--apps/files/l10n/el.json2
-rw-r--r--apps/files/l10n/en_GB.js2
-rw-r--r--apps/files/l10n/en_GB.json2
-rw-r--r--apps/files/l10n/eo.js2
-rw-r--r--apps/files/l10n/eo.json2
-rw-r--r--apps/files/l10n/es.js2
-rw-r--r--apps/files/l10n/es.json2
-rw-r--r--apps/files/l10n/es_AR.js2
-rw-r--r--apps/files/l10n/es_AR.json2
-rw-r--r--apps/files/l10n/es_CL.js1
-rw-r--r--apps/files/l10n/es_CL.json1
-rw-r--r--apps/files/l10n/es_MX.js2
-rw-r--r--apps/files/l10n/es_MX.json2
-rw-r--r--apps/files/l10n/et_EE.js2
-rw-r--r--apps/files/l10n/et_EE.json2
-rw-r--r--apps/files/l10n/eu.js2
-rw-r--r--apps/files/l10n/eu.json2
-rw-r--r--apps/files/l10n/fa.js2
-rw-r--r--apps/files/l10n/fa.json2
-rw-r--r--apps/files/l10n/fi_FI.js2
-rw-r--r--apps/files/l10n/fi_FI.json2
-rw-r--r--apps/files/l10n/fr.js2
-rw-r--r--apps/files/l10n/fr.json2
-rw-r--r--apps/files/l10n/gl.js2
-rw-r--r--apps/files/l10n/gl.json2
-rw-r--r--apps/files/l10n/he.js2
-rw-r--r--apps/files/l10n/he.json2
-rw-r--r--apps/files/l10n/hi.js1
-rw-r--r--apps/files/l10n/hi.json1
-rw-r--r--apps/files/l10n/hr.js2
-rw-r--r--apps/files/l10n/hr.json2
-rw-r--r--apps/files/l10n/hu_HU.js2
-rw-r--r--apps/files/l10n/hu_HU.json2
-rw-r--r--apps/files/l10n/ia.js1
-rw-r--r--apps/files/l10n/ia.json1
-rw-r--r--apps/files/l10n/id.js2
-rw-r--r--apps/files/l10n/id.json2
-rw-r--r--apps/files/l10n/is.js1
-rw-r--r--apps/files/l10n/is.json1
-rw-r--r--apps/files/l10n/it.js2
-rw-r--r--apps/files/l10n/it.json2
-rw-r--r--apps/files/l10n/ja.js2
-rw-r--r--apps/files/l10n/ja.json2
-rw-r--r--apps/files/l10n/ka_GE.js2
-rw-r--r--apps/files/l10n/ka_GE.json2
-rw-r--r--apps/files/l10n/km.js2
-rw-r--r--apps/files/l10n/km.json2
-rw-r--r--apps/files/l10n/ko.js2
-rw-r--r--apps/files/l10n/ko.json2
-rw-r--r--apps/files/l10n/ku_IQ.js1
-rw-r--r--apps/files/l10n/ku_IQ.json1
-rw-r--r--apps/files/l10n/lb.js1
-rw-r--r--apps/files/l10n/lb.json1
-rw-r--r--apps/files/l10n/lt_LT.js2
-rw-r--r--apps/files/l10n/lt_LT.json2
-rw-r--r--apps/files/l10n/lv.js2
-rw-r--r--apps/files/l10n/lv.json2
-rw-r--r--apps/files/l10n/mk.js2
-rw-r--r--apps/files/l10n/mk.json2
-rw-r--r--apps/files/l10n/ms_MY.js1
-rw-r--r--apps/files/l10n/ms_MY.json1
-rw-r--r--apps/files/l10n/nb_NO.js2
-rw-r--r--apps/files/l10n/nb_NO.json2
-rw-r--r--apps/files/l10n/nl.js2
-rw-r--r--apps/files/l10n/nl.json2
-rw-r--r--apps/files/l10n/nn_NO.js2
-rw-r--r--apps/files/l10n/nn_NO.json2
-rw-r--r--apps/files/l10n/oc.js1
-rw-r--r--apps/files/l10n/oc.json1
-rw-r--r--apps/files/l10n/pa.js1
-rw-r--r--apps/files/l10n/pa.json1
-rw-r--r--apps/files/l10n/pl.js2
-rw-r--r--apps/files/l10n/pl.json2
-rw-r--r--apps/files/l10n/pt_BR.js2
-rw-r--r--apps/files/l10n/pt_BR.json2
-rw-r--r--apps/files/l10n/pt_PT.js4
-rw-r--r--apps/files/l10n/pt_PT.json4
-rw-r--r--apps/files/l10n/ro.js2
-rw-r--r--apps/files/l10n/ro.json2
-rw-r--r--apps/files/l10n/ru.js2
-rw-r--r--apps/files/l10n/ru.json2
-rw-r--r--apps/files/l10n/si_LK.js1
-rw-r--r--apps/files/l10n/si_LK.json1
-rw-r--r--apps/files/l10n/sk_SK.js2
-rw-r--r--apps/files/l10n/sk_SK.json2
-rw-r--r--apps/files/l10n/sl.js2
-rw-r--r--apps/files/l10n/sl.json2
-rw-r--r--apps/files/l10n/sq.js2
-rw-r--r--apps/files/l10n/sq.json2
-rw-r--r--apps/files/l10n/sr.js2
-rw-r--r--apps/files/l10n/sr.json2
-rw-r--r--apps/files/l10n/sr@latin.js1
-rw-r--r--apps/files/l10n/sr@latin.json1
-rw-r--r--apps/files/l10n/sv.js2
-rw-r--r--apps/files/l10n/sv.json2
-rw-r--r--apps/files/l10n/ta_LK.js1
-rw-r--r--apps/files/l10n/ta_LK.json1
-rw-r--r--apps/files/l10n/te.js1
-rw-r--r--apps/files/l10n/te.json1
-rw-r--r--apps/files/l10n/th_TH.js1
-rw-r--r--apps/files/l10n/th_TH.json1
-rw-r--r--apps/files/l10n/tr.js2
-rw-r--r--apps/files/l10n/tr.json2
-rw-r--r--apps/files/l10n/ug.js2
-rw-r--r--apps/files/l10n/ug.json2
-rw-r--r--apps/files/l10n/uk.js2
-rw-r--r--apps/files/l10n/uk.json2
-rw-r--r--apps/files/l10n/ur_PK.js1
-rw-r--r--apps/files/l10n/ur_PK.json1
-rw-r--r--apps/files/l10n/vi.js2
-rw-r--r--apps/files/l10n/vi.json2
-rw-r--r--apps/files/l10n/zh_CN.js2
-rw-r--r--apps/files/l10n/zh_CN.json2
-rw-r--r--apps/files/l10n/zh_HK.js1
-rw-r--r--apps/files/l10n/zh_HK.json1
-rw-r--r--apps/files/l10n/zh_TW.js2
-rw-r--r--apps/files/l10n/zh_TW.json2
-rw-r--r--apps/files/lib/helper.php2
-rw-r--r--apps/files/templates/fileexists.html1
-rw-r--r--apps/files/templates/index.php1
-rw-r--r--apps/files/tests/helper.php4
-rw-r--r--apps/files/tests/js/fileactionsSpec.js48
-rw-r--r--apps/files/tests/js/filelistSpec.js20
-rw-r--r--apps/files/triggerupdate.php23
-rw-r--r--apps/files_encryption/ajax/adminrecovery.php7
-rw-r--r--apps/files_encryption/ajax/changeRecoveryPassword.php14
-rw-r--r--apps/files_encryption/ajax/getMigrationStatus.php3
-rw-r--r--apps/files_encryption/ajax/updatePrivateKeyPassword.php16
-rw-r--r--apps/files_encryption/ajax/userrecovery.php4
-rw-r--r--apps/files_encryption/appinfo/app.php27
-rw-r--r--apps/files_encryption/appinfo/routes.php2
-rw-r--r--apps/files_encryption/exception/encryptionexception.php (renamed from apps/files_encryption/exception/encryptionException.php)2
-rw-r--r--apps/files_encryption/exception/multikeydecryptexception.php (renamed from apps/files_encryption/exception/multiKeyDecryptException.php)2
-rw-r--r--apps/files_encryption/exception/multikeyencryptexception.php (renamed from apps/files_encryption/exception/multiKeyEncryptException.php)2
-rw-r--r--apps/files_encryption/files/error.php8
-rw-r--r--apps/files_encryption/l10n/cs_CZ.js1
-rw-r--r--apps/files_encryption/l10n/cs_CZ.json1
-rw-r--r--apps/files_encryption/l10n/da.js1
-rw-r--r--apps/files_encryption/l10n/da.json1
-rw-r--r--apps/files_encryption/l10n/de.js1
-rw-r--r--apps/files_encryption/l10n/de.json1
-rw-r--r--apps/files_encryption/l10n/de_DE.js1
-rw-r--r--apps/files_encryption/l10n/de_DE.json1
-rw-r--r--apps/files_encryption/l10n/en_GB.js1
-rw-r--r--apps/files_encryption/l10n/en_GB.json1
-rw-r--r--apps/files_encryption/l10n/es.js1
-rw-r--r--apps/files_encryption/l10n/es.json1
-rw-r--r--apps/files_encryption/l10n/fr.js1
-rw-r--r--apps/files_encryption/l10n/fr.json1
-rw-r--r--apps/files_encryption/l10n/it.js1
-rw-r--r--apps/files_encryption/l10n/it.json1
-rw-r--r--apps/files_encryption/l10n/ja.js5
-rw-r--r--apps/files_encryption/l10n/ja.json5
-rw-r--r--apps/files_encryption/l10n/nl.js1
-rw-r--r--apps/files_encryption/l10n/nl.json1
-rw-r--r--apps/files_encryption/l10n/pt_BR.js1
-rw-r--r--apps/files_encryption/l10n/pt_BR.json1
-rw-r--r--apps/files_encryption/l10n/ru.js5
-rw-r--r--apps/files_encryption/l10n/ru.json5
-rw-r--r--apps/files_encryption/l10n/sl.js1
-rw-r--r--apps/files_encryption/l10n/sl.json1
-rw-r--r--apps/files_encryption/l10n/tr.js1
-rw-r--r--apps/files_encryption/l10n/tr.json1
-rw-r--r--apps/files_encryption/lib/capabilities.php2
-rw-r--r--apps/files_encryption/lib/crypt.php12
-rw-r--r--apps/files_encryption/lib/helper.php64
-rw-r--r--apps/files_encryption/lib/hooks.php (renamed from apps/files_encryption/hooks/hooks.php)22
-rw-r--r--apps/files_encryption/lib/keymanager.php17
-rw-r--r--apps/files_encryption/lib/migration.php4
-rw-r--r--apps/files_encryption/lib/proxy.php8
-rw-r--r--apps/files_encryption/lib/session.php12
-rw-r--r--apps/files_encryption/lib/stream.php25
-rw-r--r--apps/files_encryption/lib/util.php42
-rw-r--r--apps/files_encryption/settings-admin.php2
-rw-r--r--apps/files_encryption/settings-personal.php5
-rw-r--r--apps/files_encryption/templates/invalid_private_key.php2
-rw-r--r--apps/files_encryption/templates/settings-admin.php2
-rw-r--r--apps/files_encryption/templates/settings-personal.php6
-rwxr-xr-xapps/files_encryption/tests/crypt.php64
-rw-r--r--apps/files_encryption/tests/helper.php50
-rw-r--r--apps/files_encryption/tests/hooks.php94
-rw-r--r--apps/files_encryption/tests/keymanager.php184
-rw-r--r--apps/files_encryption/tests/migration.php24
-rw-r--r--apps/files_encryption/tests/proxy.php34
-rwxr-xr-xapps/files_encryption/tests/share.php484
-rw-r--r--apps/files_encryption/tests/stream.php24
-rw-r--r--apps/files_encryption/tests/testcase.php14
-rwxr-xr-xapps/files_encryption/tests/trashbin.php20
-rwxr-xr-xapps/files_encryption/tests/util.php64
-rwxr-xr-xapps/files_encryption/tests/webdav.php38
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php2
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php30
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php42
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/Region.php3
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/HashUtils.php4
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractUploadBuilder.php10
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/aws-config.php30
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/public-endpoints.php64
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/RulesEndpointProvider.php67
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV4.php48
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Acp.php10
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/AcpBuilder.php14
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/ClearBucket.php6
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsBatch.php8
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsTransfer.php2
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grant.php4
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grantee.php2
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/UploadBuilder.php22
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Resources/s3-2006-03-01.php236
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3Client.php27
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3SignatureV4.php14
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/StreamWrapper.php44
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/AbstractSyncBuilder.php30
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/DownloadSyncBuilder.php2
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/UploadSyncBuilder.php10
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ApcClassLoader.php5
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ClassMapGenerator.php1
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Psr4ClassLoader.php4
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/README.md48
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php32
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php2
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php4
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php4
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php1
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php1
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php1
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php20
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php8
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php3
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php3
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php8
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/UniversalClassLoader.php1
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/XcacheClassLoader.php32
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php2
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/EventDispatcherInterface.php4
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/README.md16
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php14
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php14
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php2
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php1
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/composer.json2
-rw-r--r--apps/files_external/appinfo/app.php2
-rw-r--r--apps/files_external/img/app.svg212
-rw-r--r--apps/files_external/js/settings.js4
-rw-r--r--apps/files_external/l10n/ast.js1
-rw-r--r--apps/files_external/l10n/ast.json1
-rw-r--r--apps/files_external/l10n/bg_BG.js1
-rw-r--r--apps/files_external/l10n/bg_BG.json1
-rw-r--r--apps/files_external/l10n/bn_BD.js1
-rw-r--r--apps/files_external/l10n/bn_BD.json1
-rw-r--r--apps/files_external/l10n/ca.js1
-rw-r--r--apps/files_external/l10n/ca.json1
-rw-r--r--apps/files_external/l10n/cs_CZ.js2
-rw-r--r--apps/files_external/l10n/cs_CZ.json2
-rw-r--r--apps/files_external/l10n/da.js2
-rw-r--r--apps/files_external/l10n/da.json2
-rw-r--r--apps/files_external/l10n/de.js6
-rw-r--r--apps/files_external/l10n/de.json6
-rw-r--r--apps/files_external/l10n/de_DE.js6
-rw-r--r--apps/files_external/l10n/de_DE.json6
-rw-r--r--apps/files_external/l10n/el.js1
-rw-r--r--apps/files_external/l10n/el.json1
-rw-r--r--apps/files_external/l10n/en_GB.js2
-rw-r--r--apps/files_external/l10n/en_GB.json2
-rw-r--r--apps/files_external/l10n/eo.js1
-rw-r--r--apps/files_external/l10n/eo.json1
-rw-r--r--apps/files_external/l10n/es.js2
-rw-r--r--apps/files_external/l10n/es.json2
-rw-r--r--apps/files_external/l10n/et_EE.js1
-rw-r--r--apps/files_external/l10n/et_EE.json1
-rw-r--r--apps/files_external/l10n/eu.js1
-rw-r--r--apps/files_external/l10n/eu.json1
-rw-r--r--apps/files_external/l10n/fi_FI.js4
-rw-r--r--apps/files_external/l10n/fi_FI.json4
-rw-r--r--apps/files_external/l10n/fr.js2
-rw-r--r--apps/files_external/l10n/fr.json2
-rw-r--r--apps/files_external/l10n/gl.js1
-rw-r--r--apps/files_external/l10n/gl.json1
-rw-r--r--apps/files_external/l10n/hr.js1
-rw-r--r--apps/files_external/l10n/hr.json1
-rw-r--r--apps/files_external/l10n/id.js1
-rw-r--r--apps/files_external/l10n/id.json1
-rw-r--r--apps/files_external/l10n/it.js2
-rw-r--r--apps/files_external/l10n/it.json2
-rw-r--r--apps/files_external/l10n/ja.js2
-rw-r--r--apps/files_external/l10n/ja.json2
-rw-r--r--apps/files_external/l10n/nb_NO.js1
-rw-r--r--apps/files_external/l10n/nb_NO.json1
-rw-r--r--apps/files_external/l10n/nl.js2
-rw-r--r--apps/files_external/l10n/nl.json2
-rw-r--r--apps/files_external/l10n/pl.js1
-rw-r--r--apps/files_external/l10n/pl.json1
-rw-r--r--apps/files_external/l10n/pt_BR.js2
-rw-r--r--apps/files_external/l10n/pt_BR.json2
-rw-r--r--apps/files_external/l10n/pt_PT.js1
-rw-r--r--apps/files_external/l10n/pt_PT.json1
-rw-r--r--apps/files_external/l10n/ru.js2
-rw-r--r--apps/files_external/l10n/ru.json2
-rw-r--r--apps/files_external/l10n/sk_SK.js1
-rw-r--r--apps/files_external/l10n/sk_SK.json1
-rw-r--r--apps/files_external/l10n/sl.js2
-rw-r--r--apps/files_external/l10n/sl.json2
-rw-r--r--apps/files_external/l10n/sv.js1
-rw-r--r--apps/files_external/l10n/sv.json1
-rw-r--r--apps/files_external/l10n/tr.js2
-rw-r--r--apps/files_external/l10n/tr.json2
-rw-r--r--apps/files_external/l10n/uk.js1
-rw-r--r--apps/files_external/l10n/uk.json1
-rw-r--r--apps/files_external/l10n/zh_CN.js1
-rw-r--r--apps/files_external/l10n/zh_CN.json1
-rw-r--r--apps/files_external/l10n/zh_TW.js1
-rw-r--r--apps/files_external/l10n/zh_TW.json1
-rw-r--r--apps/files_external/lib/config.php25
-rw-r--r--apps/files_external/lib/config/configadapter.php44
-rw-r--r--apps/files_external/lib/google.php12
-rw-r--r--apps/files_external/lib/personalmount.php4
-rw-r--r--apps/files_external/lib/smb_oc.php31
-rw-r--r--apps/files_external/tests/js/mountsfilelistSpec.js6
-rw-r--r--apps/files_sharing/api/local.php (renamed from apps/files_sharing/lib/api.php)6
-rw-r--r--apps/files_sharing/api/server2server.php224
-rw-r--r--apps/files_sharing/appinfo/app.php26
-rw-r--r--apps/files_sharing/appinfo/database.xml15
-rw-r--r--apps/files_sharing/appinfo/routes.php10
-rw-r--r--apps/files_sharing/appinfo/version2
-rw-r--r--apps/files_sharing/js/app.js3
-rw-r--r--apps/files_sharing/js/public.js4
-rw-r--r--apps/files_sharing/js/share.js74
-rw-r--r--apps/files_sharing/js/sharedfilelist.js2
-rw-r--r--apps/files_sharing/l10n/cs_CZ.js2
-rw-r--r--apps/files_sharing/l10n/cs_CZ.json2
-rw-r--r--apps/files_sharing/l10n/da.js2
-rw-r--r--apps/files_sharing/l10n/da.json2
-rw-r--r--apps/files_sharing/l10n/de.js2
-rw-r--r--apps/files_sharing/l10n/de.json2
-rw-r--r--apps/files_sharing/l10n/de_DE.js2
-rw-r--r--apps/files_sharing/l10n/de_DE.json2
-rw-r--r--apps/files_sharing/l10n/en_GB.js2
-rw-r--r--apps/files_sharing/l10n/en_GB.json2
-rw-r--r--apps/files_sharing/l10n/es.js1
-rw-r--r--apps/files_sharing/l10n/es.json1
-rw-r--r--apps/files_sharing/l10n/fi_FI.js2
-rw-r--r--apps/files_sharing/l10n/fi_FI.json2
-rw-r--r--apps/files_sharing/l10n/fr.js2
-rw-r--r--apps/files_sharing/l10n/fr.json2
-rw-r--r--apps/files_sharing/l10n/ja.js2
-rw-r--r--apps/files_sharing/l10n/ja.json2
-rw-r--r--apps/files_sharing/l10n/nl.js2
-rw-r--r--apps/files_sharing/l10n/nl.json2
-rw-r--r--apps/files_sharing/l10n/pt_BR.js2
-rw-r--r--apps/files_sharing/l10n/pt_BR.json2
-rw-r--r--apps/files_sharing/l10n/ru.js2
-rw-r--r--apps/files_sharing/l10n/ru.json2
-rw-r--r--apps/files_sharing/l10n/tr.js2
-rw-r--r--apps/files_sharing/l10n/tr.json2
-rw-r--r--apps/files_sharing/lib/activity.php196
-rw-r--r--apps/files_sharing/lib/cache.php62
-rw-r--r--apps/files_sharing/lib/external/manager.php18
-rw-r--r--apps/files_sharing/lib/external/mount.php5
-rw-r--r--apps/files_sharing/lib/helper.php24
-rw-r--r--apps/files_sharing/lib/sharedmount.php4
-rw-r--r--apps/files_sharing/tests/api.php60
-rw-r--r--apps/files_sharing/tests/cache.php34
-rw-r--r--apps/files_sharing/tests/js/shareSpec.js20
-rw-r--r--apps/files_sharing/tests/js/sharedfilelistSpec.js20
-rw-r--r--apps/files_sharing/tests/server2server.php102
-rw-r--r--apps/files_trashbin/js/app.js43
-rw-r--r--apps/files_trashbin/js/filelist.js5
-rw-r--r--apps/files_trashbin/l10n/ar.js1
-rw-r--r--apps/files_trashbin/l10n/ar.json1
-rw-r--r--apps/files_trashbin/l10n/ast.js1
-rw-r--r--apps/files_trashbin/l10n/ast.json1
-rw-r--r--apps/files_trashbin/l10n/bg_BG.js1
-rw-r--r--apps/files_trashbin/l10n/bg_BG.json1
-rw-r--r--apps/files_trashbin/l10n/bn_IN.js1
-rw-r--r--apps/files_trashbin/l10n/bn_IN.json1
-rw-r--r--apps/files_trashbin/l10n/ca.js1
-rw-r--r--apps/files_trashbin/l10n/ca.json1
-rw-r--r--apps/files_trashbin/l10n/cs_CZ.js1
-rw-r--r--apps/files_trashbin/l10n/cs_CZ.json1
-rw-r--r--apps/files_trashbin/l10n/cy_GB.js1
-rw-r--r--apps/files_trashbin/l10n/cy_GB.json1
-rw-r--r--apps/files_trashbin/l10n/da.js1
-rw-r--r--apps/files_trashbin/l10n/da.json1
-rw-r--r--apps/files_trashbin/l10n/de.js1
-rw-r--r--apps/files_trashbin/l10n/de.json1
-rw-r--r--apps/files_trashbin/l10n/de_DE.js1
-rw-r--r--apps/files_trashbin/l10n/de_DE.json1
-rw-r--r--apps/files_trashbin/l10n/el.js1
-rw-r--r--apps/files_trashbin/l10n/el.json1
-rw-r--r--apps/files_trashbin/l10n/en_GB.js1
-rw-r--r--apps/files_trashbin/l10n/en_GB.json1
-rw-r--r--apps/files_trashbin/l10n/eo.js1
-rw-r--r--apps/files_trashbin/l10n/eo.json1
-rw-r--r--apps/files_trashbin/l10n/es.js1
-rw-r--r--apps/files_trashbin/l10n/es.json1
-rw-r--r--apps/files_trashbin/l10n/es_AR.js1
-rw-r--r--apps/files_trashbin/l10n/es_AR.json1
-rw-r--r--apps/files_trashbin/l10n/es_MX.js1
-rw-r--r--apps/files_trashbin/l10n/es_MX.json1
-rw-r--r--apps/files_trashbin/l10n/et_EE.js1
-rw-r--r--apps/files_trashbin/l10n/et_EE.json1
-rw-r--r--apps/files_trashbin/l10n/eu.js1
-rw-r--r--apps/files_trashbin/l10n/eu.json1
-rw-r--r--apps/files_trashbin/l10n/fa.js1
-rw-r--r--apps/files_trashbin/l10n/fa.json1
-rw-r--r--apps/files_trashbin/l10n/fi_FI.js1
-rw-r--r--apps/files_trashbin/l10n/fi_FI.json1
-rw-r--r--apps/files_trashbin/l10n/fr.js1
-rw-r--r--apps/files_trashbin/l10n/fr.json1
-rw-r--r--apps/files_trashbin/l10n/gl.js1
-rw-r--r--apps/files_trashbin/l10n/gl.json1
-rw-r--r--apps/files_trashbin/l10n/he.js1
-rw-r--r--apps/files_trashbin/l10n/he.json1
-rw-r--r--apps/files_trashbin/l10n/hr.js1
-rw-r--r--apps/files_trashbin/l10n/hr.json1
-rw-r--r--apps/files_trashbin/l10n/hu_HU.js1
-rw-r--r--apps/files_trashbin/l10n/hu_HU.json1
-rw-r--r--apps/files_trashbin/l10n/id.js1
-rw-r--r--apps/files_trashbin/l10n/id.json1
-rw-r--r--apps/files_trashbin/l10n/it.js1
-rw-r--r--apps/files_trashbin/l10n/it.json1
-rw-r--r--apps/files_trashbin/l10n/ja.js1
-rw-r--r--apps/files_trashbin/l10n/ja.json1
-rw-r--r--apps/files_trashbin/l10n/ka_GE.js1
-rw-r--r--apps/files_trashbin/l10n/ka_GE.json1
-rw-r--r--apps/files_trashbin/l10n/km.js1
-rw-r--r--apps/files_trashbin/l10n/km.json1
-rw-r--r--apps/files_trashbin/l10n/ko.js1
-rw-r--r--apps/files_trashbin/l10n/ko.json1
-rw-r--r--apps/files_trashbin/l10n/lt_LT.js1
-rw-r--r--apps/files_trashbin/l10n/lt_LT.json1
-rw-r--r--apps/files_trashbin/l10n/lv.js1
-rw-r--r--apps/files_trashbin/l10n/lv.json1
-rw-r--r--apps/files_trashbin/l10n/mk.js1
-rw-r--r--apps/files_trashbin/l10n/mk.json1
-rw-r--r--apps/files_trashbin/l10n/nb_NO.js1
-rw-r--r--apps/files_trashbin/l10n/nb_NO.json1
-rw-r--r--apps/files_trashbin/l10n/nl.js1
-rw-r--r--apps/files_trashbin/l10n/nl.json1
-rw-r--r--apps/files_trashbin/l10n/nn_NO.js1
-rw-r--r--apps/files_trashbin/l10n/nn_NO.json1
-rw-r--r--apps/files_trashbin/l10n/pl.js1
-rw-r--r--apps/files_trashbin/l10n/pl.json1
-rw-r--r--apps/files_trashbin/l10n/pt_BR.js1
-rw-r--r--apps/files_trashbin/l10n/pt_BR.json1
-rw-r--r--apps/files_trashbin/l10n/pt_PT.js1
-rw-r--r--apps/files_trashbin/l10n/pt_PT.json1
-rw-r--r--apps/files_trashbin/l10n/ro.js1
-rw-r--r--apps/files_trashbin/l10n/ro.json1
-rw-r--r--apps/files_trashbin/l10n/ru.js1
-rw-r--r--apps/files_trashbin/l10n/ru.json1
-rw-r--r--apps/files_trashbin/l10n/sk_SK.js1
-rw-r--r--apps/files_trashbin/l10n/sk_SK.json1
-rw-r--r--apps/files_trashbin/l10n/sl.js1
-rw-r--r--apps/files_trashbin/l10n/sl.json1
-rw-r--r--apps/files_trashbin/l10n/sq.js1
-rw-r--r--apps/files_trashbin/l10n/sq.json1
-rw-r--r--apps/files_trashbin/l10n/sr.js1
-rw-r--r--apps/files_trashbin/l10n/sr.json1
-rw-r--r--apps/files_trashbin/l10n/sv.js1
-rw-r--r--apps/files_trashbin/l10n/sv.json1
-rw-r--r--apps/files_trashbin/l10n/te.js1
-rw-r--r--apps/files_trashbin/l10n/te.json1
-rw-r--r--apps/files_trashbin/l10n/tr.js1
-rw-r--r--apps/files_trashbin/l10n/tr.json1
-rw-r--r--apps/files_trashbin/l10n/ug.js1
-rw-r--r--apps/files_trashbin/l10n/ug.json1
-rw-r--r--apps/files_trashbin/l10n/uk.js1
-rw-r--r--apps/files_trashbin/l10n/uk.json1
-rw-r--r--apps/files_trashbin/l10n/vi.js1
-rw-r--r--apps/files_trashbin/l10n/vi.json1
-rw-r--r--apps/files_trashbin/l10n/zh_CN.js1
-rw-r--r--apps/files_trashbin/l10n/zh_CN.json1
-rw-r--r--apps/files_trashbin/l10n/zh_TW.js1
-rw-r--r--apps/files_trashbin/l10n/zh_TW.json1
-rw-r--r--apps/files_trashbin/lib/trashbin.php10
-rw-r--r--apps/files_versions/lib/storage.php7
-rw-r--r--apps/user_ldap/l10n/ja.js1
-rw-r--r--apps/user_ldap/l10n/ja.json1
-rw-r--r--apps/user_ldap/l10n/sl.js1
-rw-r--r--apps/user_ldap/l10n/sl.json1
-rw-r--r--apps/user_ldap/lib/access.php10
-rw-r--r--apps/user_ldap/user_ldap.php2
523 files changed, 3009 insertions, 1916 deletions
diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php
index b4d91514a2a..c162237fe92 100644
--- a/apps/files/ajax/newfile.php
+++ b/apps/files/ajax/newfile.php
@@ -120,6 +120,9 @@ if($source) {
$freeSpace = $storageStats['freeSpace'];
foreach($meta['wrapper_data'] as $header) {
+ if (strpos($header, ':') === false){
+ continue;
+ }
list($name, $value) = explode(':', $header);
if ('content-length' === strtolower(trim($name))) {
$length = (int) trim($value);
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php
index eb99d0644f7..fcee0166da6 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -117,6 +117,12 @@ if (strpos($dir, '..') === false) {
$fileCount = count($files['name']);
for ($i = 0; $i < $fileCount; $i++) {
+ if (isset($_POST['resolution'])) {
+ $resolution = $_POST['resolution'];
+ } else {
+ $resolution = null;
+ }
+
// target directory for when uploading folders
$relativePath = '';
if(!empty($_POST['file_directory'])) {
@@ -124,7 +130,7 @@ if (strpos($dir, '..') === false) {
}
// $path needs to be normalized - this failed within drag'n'drop upload to a sub-folder
- if (isset($_POST['resolution']) && $_POST['resolution']==='autorename') {
+ if ($resolution === 'autorename') {
// append a number in brackets like 'filename (2).ext'
$target = OCP\Files::buildNotExistingFileName(stripslashes($dir . $relativePath), $files['name'][$i]);
} else {
@@ -141,9 +147,12 @@ if (strpos($dir, '..') === false) {
}
$returnedDir = \OC\Files\Filesystem::normalizePath($returnedDir);
- if ( ! \OC\Files\Filesystem::file_exists($target)
- || (isset($_POST['resolution']) && $_POST['resolution']==='replace')
- ) {
+
+ $exists = \OC\Files\Filesystem::file_exists($target);
+ if ($exists) {
+ $updatable = \OC\Files\Filesystem::isUpdatable($target);
+ }
+ if ( ! $exists || ($updatable && $resolution === 'replace' ) ) {
// upload and overwrite file
try
{
@@ -181,8 +190,11 @@ if (strpos($dir, '..') === false) {
$error = $l->t('Upload failed. Could not get file info.');
} else {
$data = \OCA\Files\Helper::formatFileInfo($meta);
- $data['permissions'] = $data['permissions'] & $allowedPermissions;
- $data['status'] = 'existserror';
+ if ($updatable) {
+ $data['status'] = 'existserror';
+ } else {
+ $data['status'] = 'readonly';
+ }
$data['originalname'] = $files['tmp_name'][$i];
$data['uploadMaxFilesize'] = $maxUploadFileSize;
$data['maxHumanFilesize'] = $maxHumanFileSize;
diff --git a/apps/files/command/scan.php b/apps/files/command/scan.php
index 2dca0e0e67c..7cf401c7b59 100644
--- a/apps/files/command/scan.php
+++ b/apps/files/command/scan.php
@@ -38,6 +38,18 @@ class Scan extends Command {
'will rescan all files of the given user(s)'
)
->addOption(
+ 'path',
+ 'p',
+ InputArgument::OPTIONAL,
+ 'limit rescan to this path, eg. --path="/alice/files/Music", the user_id is determined by the path and the user_id parameter and --all are ignored'
+ )
+ ->addOption(
+ 'quiet',
+ 'q',
+ InputOption::VALUE_NONE,
+ 'suppress output'
+ )
+ ->addOption(
'all',
null,
InputOption::VALUE_NONE,
@@ -45,16 +57,18 @@ class Scan extends Command {
);
}
- protected function scanFiles($user, OutputInterface $output) {
+ protected function scanFiles($user, $path, $quiet, OutputInterface $output) {
$scanner = new \OC\Files\Utils\Scanner($user, \OC::$server->getDatabaseConnection());
- $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function ($path) use ($output) {
- $output->writeln("Scanning <info>$path</info>");
- });
- $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function ($path) use ($output) {
- $output->writeln("Scanning <info>$path</info>");
- });
+ if (!$quiet) {
+ $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function ($path) use ($output) {
+ $output->writeln("Scanning file <info>$path</info>");
+ });
+ $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function ($path) use ($output) {
+ $output->writeln("Scanning folder <info>$path</info>");
+ });
+ }
try {
- $scanner->scan('');
+ $scanner->scan($path);
} catch (ForbiddenException $e) {
$output->writeln("<error>Home storage for user $user not writable</error>");
$output->writeln("Make sure you're running the scan command only as the user the web server runs as");
@@ -62,14 +76,21 @@ class Scan extends Command {
}
protected function execute(InputInterface $input, OutputInterface $output) {
- if ($input->getOption('all')) {
+ $path = $input->getOption('path');
+ if ($path !== false) {
+ $path = '/'.trim($path, '/');
+ list (, $user, ) = explode('/', $path, 3);
+ $users = array($user);
+ } else if ($input->getOption('all')) {
$users = $this->userManager->search('');
} else {
$users = $input->getArgument('user_id');
}
+ $quiet = $input->getOption('quiet');
+
if (count($users) === 0) {
- $output->writeln("<error>Please specify the user id to scan or \"--all\" to scan for all users</error>");
+ $output->writeln("<error>Please specify the user id to scan, \"--all\" to scan for all users or \"--path=...\"</error>");
return;
}
@@ -78,7 +99,7 @@ class Scan extends Command {
$user = $user->getUID();
}
if ($this->userManager->userExists($user)) {
- $this->scanFiles($user, $output);
+ $this->scanFiles($user, $path, $quiet, $output);
} else {
$output->writeln("<error>Unknown user $user</error>");
}
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index 60afcf9b579..d8336847e00 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -244,6 +244,15 @@ table td.filename a.name {
line-height: 50px;
padding: 0;
}
+table td.filename .thumbnail {
+ display: inline-block;
+ width: 32px;
+ height: 32px;
+ margin-left: 8px;
+ margin-top: 9px;
+ cursor: pointer;
+ float: left;
+}
table td.filename input.filename {
width: 70%;
margin-top: 1px;
@@ -348,7 +357,7 @@ table td.filename .uploadtext {
}
/* File checkboxes */
-#fileList tr td.filename>input[type="checkbox"]:first-child {
+#fileList tr td.filename>.selectCheckBox {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
@@ -357,36 +366,33 @@ table td.filename .uploadtext {
margin: 32px 0 4px 32px; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/
}
/* Show checkbox when hovering, checked, or selected */
-#fileList tr:hover td.filename>input[type="checkbox"]:first-child,
-#fileList tr:focus td.filename>input[type="checkbox"]:first-child,
-#fileList tr td.filename>input[type="checkbox"]:checked:first-child,
-#fileList tr.selected td.filename>input[type="checkbox"]:first-child {
+#fileList tr:hover td.filename>.selectCheckBox,
+#fileList tr:focus td.filename>.selectCheckBox,
+#fileList tr td.filename>.selectCheckBox:checked,
+#fileList tr.selected td.filename>.selectCheckBox {
opacity: 1;
}
-.lte9 #fileList tr:hover td.filename>input[type="checkbox"]:first-child,
-.lte9 #fileList tr:focus td.filename>input[type="checkbox"]:first-child,
-.lte9 #fileList tr td.filename>input[type="checkbox"][checked=checked]:first-child,
-.lte9 #fileList tr.selected td.filename>input[type="checkbox"]:first-child {
+.lte9 #fileList tr:hover td.filename>.selectCheckBox,
+.lte9 #fileList tr:focus td.filename>.selectCheckBox,
+.lte9 #fileList tr td.filename>.selectCheckBox[checked=checked],
+.lte9 #fileList tr.selected td.filename>.selectCheckBox {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
}
/* Use label to have bigger clickable size for checkbox */
-#fileList tr td.filename>input[type="checkbox"] + label,
+#fileList tr td.filename>.selectCheckBox + label,
.select-all + label {
height: 50px;
position: absolute;
width: 50px;
z-index: 5;
}
-#fileList tr td.filename>input[type="checkbox"]{
+#fileList tr td.filename>.selectCheckBox {
/* sometimes checkbox height is bigger (KDE/Qt), so setting to absolute
* to prevent it to increase the height */
position: absolute;
-}
-#fileList tr td.filename>input[type="checkbox"] + label {
- left: 0;
- top: 0;
+ z-index: 10;
}
.select-all + label {
top: 0;
@@ -395,6 +401,7 @@ table td.filename .uploadtext {
position: absolute;
top: 18px;
left: 18px;
+ z-index: 10;
}
#fileList tr td.filename {
diff --git a/apps/files/css/upload.css b/apps/files/css/upload.css
index 98754b910de..cc383879fb2 100644
--- a/apps/files/css/upload.css
+++ b/apps/files/css/upload.css
@@ -64,6 +64,28 @@
font-size: 13px;
}
+.oc-dialog .fileexists {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.oc-dialog .fileexists .conflict .filename,
+.oc-dialog .fileexists .conflict .mtime,
+.oc-dialog .fileexists .conflict .size {
+ -webkit-touch-callout: initial;
+ -webkit-user-select: initial;
+ -khtml-user-select: initial;
+ -moz-user-select: initial;
+ -ms-user-select: initial;
+ user-select: initial;
+}
+.oc-dialog .fileexists .conflict .message {
+ color: #e9322d;
+}
.oc-dialog .fileexists table {
width: 100%;
}
diff --git a/apps/files/index.php b/apps/files/index.php
index 4142a02b97e..929bc5e79da 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -69,7 +69,7 @@ $storageInfo=OC_Helper::getStorageInfo('/', $dirInfo);
// if the encryption app is disabled, than everything is fine (INIT_SUCCESSFUL status code)
$encryptionInitStatus = 2;
if (OC_App::isEnabled('files_encryption')) {
- $session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
+ $session = new \OCA\Files_Encryption\Session(new \OC\Files\View('/'));
$encryptionInitStatus = $session->getInitialized();
}
@@ -120,6 +120,7 @@ $tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']);
$tmpl->assign('isPublic', false);
$tmpl->assign("encryptedFiles", \OCP\Util::encryptedFiles());
$tmpl->assign("mailNotificationEnabled", $config->getAppValue('core', 'shareapi_allow_mail_notification', 'no'));
+$tmpl->assign("mailPublicNotificationEnabled", $config->getAppValue('core', 'shareapi_allow_public_notification', 'no'));
$tmpl->assign("allowShareWithLink", $config->getAppValue('core', 'shareapi_allow_links', 'yes'));
$tmpl->assign("encryptionInitStatus", $encryptionInitStatus);
$tmpl->assign('appNavigation', $nav);
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index ab450dc5cac..9fe623075bc 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -175,7 +175,14 @@ OC.Upload = {
* @param {function} callbacks.onCancel
*/
checkExistingFiles: function (selection, callbacks) {
- // TODO check filelist before uploading and show dialog on conflicts, use callbacks
+ /*
+ $.each(selection.uploads, function(i, upload) {
+ var $row = OCA.Files.App.fileList.findFileEl(upload.files[0].name);
+ if ($row) {
+ // TODO check filelist before uploading and show dialog on conflicts, use callbacks
+ }
+ });
+ */
callbacks.onNoConflicts(selection);
},
@@ -417,11 +424,15 @@ OC.Upload = {
data.textStatus = 'servererror';
data.errorThrown = t('files', 'Could not get result from server.');
fu._trigger('fail', e, data);
+ } else if (result[0].status === 'readonly') {
+ var original = result[0];
+ var replacement = data.files[0];
+ OC.dialogs.fileexists(data, original, replacement, OC.Upload);
} else if (result[0].status === 'existserror') {
//show "file already exists" dialog
var original = result[0];
var replacement = data.files[0];
- OC.dialogs.fileexists(data, original, replacement, OC.Upload, fu);
+ OC.dialogs.fileexists(data, original, replacement, OC.Upload);
} else if (result[0].status !== 'success') {
//delete data.jqXHR;
data.textStatus = 'servererror';
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index 5bf1618b0b8..da48cf29be0 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -8,7 +8,6 @@
*
*/
-/* global trashBinApp */
(function() {
/**
@@ -109,33 +108,37 @@
permissions: permissions,
icon: icon,
actionHandler: action,
- displayName: displayName
+ displayName: displayName || name
});
},
/**
* Register action
*
- * @param {Object} action action object
- * @param {String} action.name identifier of the action
- * @param {String} action.displayName display name of the action, defaults
- * to the name given in action.name
- * @param {String} action.mime mime type
- * @param {int} action.permissions permissions
- * @param {(Function|String)} action.icon icon path to the icon or function
- * that returns it
- * @param {OCA.Files.FileActions~actionHandler} action.actionHandler action handler function
+ * @param {OCA.Files.FileAction} action object
*/
registerAction: function (action) {
var mime = action.mime;
var name = action.name;
+ var actionSpec = {
+ action: action.actionHandler,
+ name: name,
+ displayName: action.displayName,
+ mime: mime,
+ icon: action.icon,
+ permissions: action.permissions
+ };
+ if (_.isUndefined(action.displayName)) {
+ actionSpec.displayName = t('files', name);
+ }
+ if (_.isFunction(action.render)) {
+ actionSpec.render = action.render;
+ } else {
+ actionSpec.render = _.bind(this._defaultRenderAction, this);
+ }
if (!this.actions[mime]) {
this.actions[mime] = {};
}
- this.actions[mime][name] = {
- action: action.actionHandler,
- permissions: action.permissions,
- displayName: action.displayName || t('files', name)
- };
+ this.actions[mime][name] = actionSpec;
this.icons[name] = action.icon;
this._notifyUpdateListeners('registerAction', {action: action});
},
@@ -213,6 +216,128 @@
return actions[name];
},
/**
+ * Default function to render actions
+ *
+ * @param {OCA.Files.FileAction} actionSpec file action spec
+ * @param {boolean} isDefault true if the action is a default one,
+ * false otherwise
+ * @param {OCA.Files.FileActionContext} context action context
+ */
+ _defaultRenderAction: function(actionSpec, isDefault, context) {
+ var name = actionSpec.name;
+ if (name === 'Download' || !isDefault) {
+ var $actionLink = this._makeActionLink(actionSpec, context);
+ context.$file.find('a.name>span.fileactions').append($actionLink);
+ return $actionLink;
+ }
+ },
+ /**
+ * Renders the action link element
+ *
+ * @param {OCA.Files.FileAction} actionSpec action object
+ * @param {OCA.Files.FileActionContext} context action context
+ */
+ _makeActionLink: function(actionSpec, context) {
+ var img = actionSpec.icon;
+ if (img && img.call) {
+ img = img(context.$file.attr('data-file'));
+ }
+ var html = '<a href="#">';
+ if (img) {
+ html += '<img class="svg" alt="" src="' + img + '" />';
+ }
+ if (actionSpec.displayName) {
+ html += '<span> ' + actionSpec.displayName + '</span></a>';
+ }
+
+ return $(html);
+ },
+ /**
+ * Custom renderer for the "Rename" action.
+ * Displays the rename action as an icon behind the file name.
+ *
+ * @param {OCA.Files.FileAction} actionSpec file action to render
+ * @param {boolean} isDefault true if the action is a default action,
+ * false otherwise
+ * @param {OCAFiles.FileActionContext} context rendering context
+ */
+ _renderRenameAction: function(actionSpec, isDefault, context) {
+ var $actionEl = this._makeActionLink(actionSpec, context);
+ var $container = context.$file.find('a.name span.nametext');
+ $actionEl.find('img').attr('alt', t('files', 'Rename'));
+ $container.find('.action-rename').remove();
+ $container.append($actionEl);
+ return $actionEl;
+ },
+ /**
+ * Custom renderer for the "Delete" action.
+ * Displays the "Delete" action as a trash icon at the end of
+ * the table row.
+ *
+ * @param {OCA.Files.FileAction} actionSpec file action to render
+ * @param {boolean} isDefault true if the action is a default action,
+ * false otherwise
+ * @param {OCAFiles.FileActionContext} context rendering context
+ */
+ _renderDeleteAction: function(actionSpec, isDefault, context) {
+ var mountType = context.$file.attr('data-mounttype');
+ var deleteTitle = t('files', 'Delete');
+ if (mountType === 'external-root') {
+ deleteTitle = t('files', 'Disconnect storage');
+ } else if (mountType === 'shared-root') {
+ deleteTitle = t('files', 'Unshare');
+ }
+ var $actionLink = $('<a href="#" original-title="' +
+ escapeHTML(deleteTitle) +
+ '" class="action delete icon-delete" />'
+ );
+ var $container = context.$file.find('td:last');
+ $container.find('.delete').remove();
+ $container.append($actionLink);
+ return $actionLink;
+ },
+ /**
+ * Renders the action element by calling actionSpec.render() and
+ * registers the click event to process the action.
+ *
+ * @param {OCA.Files.FileAction} actionSpec file action to render
+ * @param {boolean} isDefault true if the action is a default action,
+ * false otherwise
+ * @param {OCAFiles.FileActionContext} context rendering context
+ */
+ _renderAction: function(actionSpec, isDefault, context) {
+ var $actionEl = actionSpec.render(actionSpec, isDefault, context);
+ if (!$actionEl || !$actionEl.length) {
+ return;
+ }
+ $actionEl.addClass('action action-' + actionSpec.name.toLowerCase());
+ $actionEl.attr('data-action', actionSpec.name);
+ $actionEl.on(
+ 'click', {
+ a: null
+ },
+ function(event) {
+ var $file = $(event.target).closest('tr');
+ var currentFile = $file.find('td.filename');
+ var fileName = $file.attr('data-file');
+ event.stopPropagation();
+ event.preventDefault();
+
+ context.fileActions.currentFile = currentFile;
+ // also set on global object for legacy apps
+ window.FileActions.currentFile = currentFile;
+
+ actionSpec.action(
+ fileName,
+ _.extend(context, {
+ dir: $file.attr('data-path') || context.fileList.getCurrentDirectory()
+ })
+ );
+ }
+ );
+ return $actionEl;
+ },
+ /**
* Display file actions for the given element
* @param parent "td" element of the file for which to display actions
* @param triggerEvent if true, triggers the fileActionsReady on the file
@@ -226,107 +351,51 @@
return;
}
this.currentFile = parent;
- var $tr = parent.closest('tr');
var self = this;
- var actions = this.getActions(this.getCurrentMimeType(), this.getCurrentType(), this.getCurrentPermissions());
- var file = this.getCurrentFile();
+ var $tr = parent.closest('tr');
+ var actions = this.getActions(
+ this.getCurrentMimeType(),
+ this.getCurrentType(),
+ this.getCurrentPermissions()
+ );
var nameLinks;
if ($tr.data('renaming')) {
return;
}
- // recreate fileactions
+ // recreate fileactions container
nameLinks = parent.children('a.name');
nameLinks.find('.fileactions, .nametext .action').remove();
nameLinks.append('<span class="fileactions" />');
- var defaultAction = this.getDefault(this.getCurrentMimeType(), this.getCurrentType(), this.getCurrentPermissions());
-
- var actionHandler = function (event) {
- event.stopPropagation();
- event.preventDefault();
+ var defaultAction = this.getDefault(
+ this.getCurrentMimeType(),
+ this.getCurrentType(),
+ this.getCurrentPermissions()
+ );
- self.currentFile = event.data.elem;
- // also set on global object for legacy apps
- window.FileActions.currentFile = self.currentFile;
-
- var file = self.getCurrentFile();
- var $tr = $(this).closest('tr');
-
- event.data.actionFunc(file, {
- $file: $tr,
- fileList: fileList,
- fileActions: self,
- dir: $tr.attr('data-path') || fileList.getCurrentDirectory()
- });
- };
-
- var addAction = function (name, action, displayName) {
-
- if ((name === 'Download' || action !== defaultAction) && name !== 'Delete') {
-
- var img = self.icons[name],
- actionText = displayName,
- actionContainer = 'a.name>span.fileactions';
-
- if (name === 'Rename') {
- // rename has only an icon which appears behind
- // the file name
- actionText = '';
- actionContainer = 'a.name span.nametext';
- }
- if (img.call) {
- img = img(file);
- }
- var html = '<a href="#" class="action action-' + name.toLowerCase() + '" data-action="' + name + '">';
- if (img) {
- html += '<img class ="svg" alt="" src="' + img + '" />';
- }
- html += '<span> ' + actionText + '</span></a>';
-
- var element = $(html);
- element.data('action', name);
- element.on('click', {a: null, elem: parent, actionFunc: actions[name].action}, actionHandler);
- parent.find(actionContainer).append(element);
- }
-
- };
-
- $.each(actions, function (name, action) {
+ $.each(actions, function (name, actionSpec) {
if (name !== 'Share') {
- displayName = action.displayName;
- ah = action.action;
-
- addAction(name, ah, displayName);
+ self._renderAction(
+ actionSpec,
+ actionSpec.action === defaultAction, {
+ $file: $tr,
+ fileActions: this,
+ fileList : fileList
+ }
+ );
}
});
- if(actions.Share){
- displayName = t('files', 'Share');
- addAction('Share', actions.Share, displayName);
- }
-
- // remove the existing delete action
- parent.parent().children().last().find('.action.delete').remove();
- if (actions['Delete']) {
- var img = self.icons['Delete'];
- var html;
- var mountType = $tr.attr('data-mounttype');
- var deleteTitle = t('files', 'Delete');
- if (mountType === 'external-root') {
- deleteTitle = t('files', 'Disconnect storage');
- } else if (mountType === 'shared-root') {
- deleteTitle = t('files', 'Unshare');
- } else if (fileList.id === 'trashbin') {
- deleteTitle = t('files', 'Delete permanently');
- }
-
- if (img.call) {
- img = img(file);
- }
- html = '<a href="#" original-title="' + escapeHTML(deleteTitle) + '" class="action delete icon-delete" />';
- var element = $(html);
- element.data('action', actions['Delete']);
- element.on('click', {a: null, elem: parent, actionFunc: actions['Delete'].action}, actionHandler);
- parent.parent().children().last().append(element);
+ // added here to make sure it's always the last action
+ var shareActionSpec = actions.Share;
+ if (shareActionSpec){
+ this._renderAction(
+ shareActionSpec,
+ shareActionSpec.action === defaultAction, {
+ $file: $tr,
+ fileActions: this,
+ fileList: fileList
+ }
+ );
}
if (triggerEvent){
@@ -350,18 +419,34 @@
* Register the actions that are used by default for the files app.
*/
registerDefaultActions: function() {
- this.register('all', 'Delete', OC.PERMISSION_DELETE, function () {
- return OC.imagePath('core', 'actions/delete');
- }, function (filename, context) {
- context.fileList.do_delete(filename, context.dir);
- $('.tipsy').remove();
+ this.registerAction({
+ name: 'Delete',
+ displayName: '',
+ mime: 'all',
+ permissions: OC.PERMISSION_DELETE,
+ icon: function() {
+ return OC.imagePath('core', 'actions/delete');
+ },
+ render: _.bind(this._renderDeleteAction, this),
+ actionHandler: function(fileName, context) {
+ context.fileList.do_delete(fileName, context.dir);
+ $('.tipsy').remove();
+ }
});
// t('files', 'Rename')
- this.register('all', 'Rename', OC.PERMISSION_UPDATE, function () {
- return OC.imagePath('core', 'actions/rename');
- }, function (filename, context) {
- context.fileList.rename(filename);
+ this.registerAction({
+ name: 'Rename',
+ displayName: '',
+ mime: 'all',
+ permissions: OC.PERMISSION_UPDATE,
+ icon: function() {
+ return OC.imagePath('core', 'actions/rename');
+ },
+ render: _.bind(this._renderRenameAction, this),
+ actionHandler: function (filename, context) {
+ context.fileList.rename(filename);
+ }
});
this.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename, context) {
@@ -389,6 +474,47 @@
OCA.Files.FileActions = FileActions;
/**
+ * File action attributes.
+ *
+ * @todo make this a real class in the future
+ * @typedef {Object} OCA.Files.FileAction
+ *
+ * @property {String} name identifier of the action
+ * @property {String} displayName display name of the action, defaults
+ * to the name given in name property
+ * @property {String} mime mime type
+ * @property {int} permissions permissions
+ * @property {(Function|String)} icon icon path to the icon or function
+ * that returns it
+ * @property {OCA.Files.FileActions~renderActionFunction} [render] optional rendering function
+ * @property {OCA.Files.FileActions~actionHandler} actionHandler action handler function
+ */
+
+ /**
+ * File action context attributes.
+ *
+ * @typedef {Object} OCA.Files.FileActionContext
+ *
+ * @property {Object} $file jQuery file row element
+ * @property {OCA.Files.FileActions} fileActions file actions object
+ * @property {OCA.Files.FileList} fileList file list object
+ */
+
+ /**
+ * Render function for actions.
+ * The function must render a link element somewhere in the DOM
+ * and return it. The function should NOT register the event handler
+ * as this will be done after the link was returned.
+ *
+ * @callback OCA.Files.FileActions~renderActionFunction
+ * @param {OCA.Files.FileAction} actionSpec action definition
+ * @param {Object} $row row container
+ * @param {boolean} isDefault true if the action is the default one,
+ * false otherwise
+ * @return {Object} jQuery link object
+ */
+
+ /**
* Action handler function for file actions
*
* @callback OCA.Files.FileActions~actionHandler
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index f4b45fc58bf..b4702ce4f2b 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -94,6 +94,12 @@
fileActions: null,
/**
+ * Whether selection is allowed, checkboxes and selection overlay will
+ * be rendered
+ */
+ _allowSelection: true,
+
+ /**
* Map of file id to file data
* @type Object.<int, Object>
*/
@@ -166,6 +172,9 @@
}
this.$el = $el;
+ if (options.id) {
+ this.id = options.id;
+ }
this.$container = options.scrollContainer || $(window);
this.$table = $el.find('table:first');
this.$fileList = $el.find('#fileList');
@@ -200,7 +209,7 @@
this.$el.on('show', this._onResize);
this.$fileList.on('click','td.filename>a.name', _.bind(this._onClickFile, this));
- this.$fileList.on('change', 'td.filename>input:checkbox', _.bind(this._onClickFileCheckbox, this));
+ this.$fileList.on('change', 'td.filename>.selectCheckBox', _.bind(this._onClickFileCheckbox, this));
this.$el.on('urlChanged', _.bind(this._onUrlChanged, this));
this.$el.find('.select-all').click(_.bind(this._onClickSelectAll, this));
this.$el.find('.download').click(_.bind(this._onClickDownloadSelected, this));
@@ -215,6 +224,8 @@
self.scrollTo(options.scrollTo);
});
}
+
+ OC.Plugins.attach('OCA.Files.FileList', this);
},
/**
@@ -224,6 +235,7 @@
// TODO: also unregister other event handlers
this.fileActions.off('registerAction', this._onFileActionsUpdated);
this.fileActions.off('setDefault', this._onFileActionsUpdated);
+ OC.Plugins.detach('OCA.Files.FileList', this);
},
/**
@@ -275,7 +287,7 @@
* @param state true to select, false to deselect
*/
_selectFileEl: function($tr, state) {
- var $checkbox = $tr.find('td.filename>input:checkbox');
+ var $checkbox = $tr.find('td.filename>.selectCheckBox');
var oldData = !!this._selectedFiles[$tr.data('id')];
var data;
$checkbox.prop('checked', state);
@@ -324,7 +336,7 @@
else {
this._lastChecked = $tr;
}
- var $checkbox = $tr.find('td.filename>input:checkbox');
+ var $checkbox = $tr.find('td.filename>.selectCheckBox');
this._selectFileEl($tr, !$checkbox.prop('checked'));
this.updateSelectionSummary();
} else {
@@ -366,7 +378,7 @@
*/
_onClickSelectAll: function(e) {
var checked = $(e.target).prop('checked');
- this.$fileList.find('td.filename>input:checkbox').prop('checked', checked)
+ this.$fileList.find('td.filename>.selectCheckBox').prop('checked', checked)
.closest('tr').toggleClass('selected', checked);
this._selectedFiles = {};
this._selectionSummary.clear();
@@ -554,7 +566,7 @@
this.$fileList.append(tr);
if (isAllSelected || this._selectedFiles[fileData.id]) {
tr.addClass('selected');
- tr.find('input:checkbox').prop('checked', true);
+ tr.find('.selectCheckBox').prop('checked', true);
}
if (animate) {
tr.addClass('appear transparent');
@@ -683,10 +695,8 @@
}
// filename td
- td = $('<td></td>').attr({
- "class": "filename",
- "style": 'background-image:url(' + icon + '); background-size: 32px;'
- });
+ td = $('<td class="filename"></td>');
+
// linkUrl
if (type === 'dir') {
@@ -695,8 +705,16 @@
else {
linkUrl = this.getDownloadUrl(name, path);
}
- td.append('<input id="select-' + this.id + '-' + fileData.id +
- '" type="checkbox" /><label for="select-' + this.id + '-' + fileData.id + '"></label>');
+ if (this._allowSelection) {
+ td.append(
+ '<input id="select-' + this.id + '-' + fileData.id +
+ '" type="checkbox" class="selectCheckBox"/><label for="select-' + this.id + '-' + fileData.id + '">' +
+ '<div class="thumbnail" style="background-image:url(' + icon + '); background-size: 32px;"></div>' +
+ '</label>'
+ );
+ } else {
+ td.append('<div class="thumbnail" style="background-image:url(' + icon + '); background-size: 32px;"></div>');
+ }
var linkElem = $('<a></a>').attr({
"class": "name",
"href": linkUrl
@@ -901,6 +919,7 @@
this.fileActions.display(filenameTd, !options.silent, this);
if (fileData.isPreviewAvailable) {
+ var iconDiv = filenameTd.find('.thumbnail');
// lazy load / newly inserted td ?
if (options.animate) {
this.lazyLoadPreview({
@@ -908,7 +927,7 @@
mime: mime,
etag: fileData.etag,
callback: function(url) {
- filenameTd.css('background-image', 'url(' + url + ')');
+ iconDiv.css('background-image', 'url(' + url + ')');
}
});
}
@@ -920,7 +939,7 @@
};
var previewUrl = this.generatePreviewUrl(urlSpec);
previewUrl = previewUrl.replace('(', '%28').replace(')', '%29');
- filenameTd.css('background-image', 'url(' + previewUrl + ')');
+ iconDiv.css('background-image', 'url(' + previewUrl + ')');
}
}
return tr;
@@ -1526,7 +1545,7 @@
var fileEl = self.remove(file, {updateSummary: false});
// FIXME: not sure why we need this after the
// element isn't even in the DOM any more
- fileEl.find('input[type="checkbox"]').prop('checked', false);
+ fileEl.find('.selectCheckBox').prop('checked', false);
fileEl.removeClass('selected');
self.fileSummary.remove({type: fileEl.attr('data-type'), size: fileEl.attr('data-size')});
});
diff --git a/apps/files/l10n/af_ZA.js b/apps/files/l10n/af_ZA.js
index 8671027db6e..cef7b1bee0c 100644
--- a/apps/files/l10n/af_ZA.js
+++ b/apps/files/l10n/af_ZA.js
@@ -1,7 +1,6 @@
OC.L10N.register(
"files",
{
- "Share" : "Deel",
"Unshare" : "Deel terug neem",
"Error" : "Fout",
"_%n folder_::_%n folders_" : ["",""],
diff --git a/apps/files/l10n/af_ZA.json b/apps/files/l10n/af_ZA.json
index cd3182e3f69..8475402f42b 100644
--- a/apps/files/l10n/af_ZA.json
+++ b/apps/files/l10n/af_ZA.json
@@ -1,5 +1,4 @@
{ "translations": {
- "Share" : "Deel",
"Unshare" : "Deel terug neem",
"Error" : "Fout",
"_%n folder_::_%n folders_" : ["",""],
diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js
index aaa4f1aa2be..459a2bb2065 100644
--- a/apps/files/l10n/ar.js
+++ b/apps/files/l10n/ar.js
@@ -26,10 +26,8 @@ OC.L10N.register(
"Could not get result from server." : "تعذر الحصول على نتيجة من الخادم",
"File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.",
"{new_name} already exists" : "{new_name} موجود مسبقا",
- "Share" : "شارك",
"Delete" : "إلغاء",
"Unshare" : "إلغاء المشاركة",
- "Delete permanently" : "حذف بشكل دائم",
"Rename" : "إعادة تسميه",
"Pending" : "قيد الانتظار",
"Error moving file" : "حدث خطأ أثناء نقل الملف",
diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json
index 8e6b863bb0d..068be992a3f 100644
--- a/apps/files/l10n/ar.json
+++ b/apps/files/l10n/ar.json
@@ -24,10 +24,8 @@
"Could not get result from server." : "تعذر الحصول على نتيجة من الخادم",
"File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.",
"{new_name} already exists" : "{new_name} موجود مسبقا",
- "Share" : "شارك",
"Delete" : "إلغاء",
"Unshare" : "إلغاء المشاركة",
- "Delete permanently" : "حذف بشكل دائم",
"Rename" : "إعادة تسميه",
"Pending" : "قيد الانتظار",
"Error moving file" : "حدث خطأ أثناء نقل الملف",
diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js
index ae0b0731572..e7f733d4fd0 100644
--- a/apps/files/l10n/ast.js
+++ b/apps/files/l10n/ast.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Nun pudo crease'l ficheru",
"Could not create folder" : "Nun pudo crease la carpeta",
"Error fetching URL" : "Fallu obteniendo URL",
- "Share" : "Compartir",
"Delete" : "Desaniciar",
"Disconnect storage" : "Desconeutar almacenamientu",
"Unshare" : "Dexar de compartir",
- "Delete permanently" : "Desaniciar dafechu",
"Rename" : "Renomar",
"Pending" : "Pendiente",
"Error moving file." : "Fallu moviendo'l ficheru.",
diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json
index 81d20a51c36..947079aba91 100644
--- a/apps/files/l10n/ast.json
+++ b/apps/files/l10n/ast.json
@@ -44,11 +44,9 @@
"Could not create file" : "Nun pudo crease'l ficheru",
"Could not create folder" : "Nun pudo crease la carpeta",
"Error fetching URL" : "Fallu obteniendo URL",
- "Share" : "Compartir",
"Delete" : "Desaniciar",
"Disconnect storage" : "Desconeutar almacenamientu",
"Unshare" : "Dexar de compartir",
- "Delete permanently" : "Desaniciar dafechu",
"Rename" : "Renomar",
"Pending" : "Pendiente",
"Error moving file." : "Fallu moviendo'l ficheru.",
diff --git a/apps/files/l10n/az.js b/apps/files/l10n/az.js
index 08e19809811..2373dc467f5 100644
--- a/apps/files/l10n/az.js
+++ b/apps/files/l10n/az.js
@@ -46,7 +46,6 @@ OC.L10N.register(
"Could not create file" : "Faylı yaratmaq olmur",
"Could not create folder" : "Qovluğu yaratmaq olmur",
"Error fetching URL" : "URL-in gətirilməsində səhv baş verdi",
- "Share" : "Yayımla",
"Delete" : "Sil",
"Rename" : "Adı dəyiş",
"Error" : "Səhv",
diff --git a/apps/files/l10n/az.json b/apps/files/l10n/az.json
index 591ec63e31e..9d419ca5067 100644
--- a/apps/files/l10n/az.json
+++ b/apps/files/l10n/az.json
@@ -44,7 +44,6 @@
"Could not create file" : "Faylı yaratmaq olmur",
"Could not create folder" : "Qovluğu yaratmaq olmur",
"Error fetching URL" : "URL-in gətirilməsində səhv baş verdi",
- "Share" : "Yayımla",
"Delete" : "Sil",
"Rename" : "Adı dəyiş",
"Error" : "Səhv",
diff --git a/apps/files/l10n/bg_BG.js b/apps/files/l10n/bg_BG.js
index 1776e769251..a5c1ba5ee04 100644
--- a/apps/files/l10n/bg_BG.js
+++ b/apps/files/l10n/bg_BG.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Несупешно създаване на файла.",
"Could not create folder" : "Неуспешно създаване на папка.",
"Error fetching URL" : "Грешка при отварянето на интернет адреса.",
- "Share" : "Сподели",
"Delete" : "Изтрий",
"Disconnect storage" : "Извади дисковото устройство.",
"Unshare" : "Премахни Споделяне",
- "Delete permanently" : "Изтрий завинаги",
"Rename" : "Преименуване",
"Pending" : "Чакащо",
"Error moving file." : "Грешка при местенето на файла.",
diff --git a/apps/files/l10n/bg_BG.json b/apps/files/l10n/bg_BG.json
index cd29da596db..421bc494021 100644
--- a/apps/files/l10n/bg_BG.json
+++ b/apps/files/l10n/bg_BG.json
@@ -44,11 +44,9 @@
"Could not create file" : "Несупешно създаване на файла.",
"Could not create folder" : "Неуспешно създаване на папка.",
"Error fetching URL" : "Грешка при отварянето на интернет адреса.",
- "Share" : "Сподели",
"Delete" : "Изтрий",
"Disconnect storage" : "Извади дисковото устройство.",
"Unshare" : "Премахни Споделяне",
- "Delete permanently" : "Изтрий завинаги",
"Rename" : "Преименуване",
"Pending" : "Чакащо",
"Error moving file." : "Грешка при местенето на файла.",
diff --git a/apps/files/l10n/bn_BD.js b/apps/files/l10n/bn_BD.js
index bf2ecc2f660..869130f2b2c 100644
--- a/apps/files/l10n/bn_BD.js
+++ b/apps/files/l10n/bn_BD.js
@@ -32,7 +32,6 @@ OC.L10N.register(
"Upload cancelled." : "আপলোড বাতিল করা হয়েছে।",
"File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
"{new_name} already exists" : "{new_name} টি বিদ্যমান",
- "Share" : "ভাগাভাগি কর",
"Delete" : "মুছে",
"Unshare" : "ভাগাভাগি বাতিল ",
"Rename" : "পূনঃনামকরণ",
diff --git a/apps/files/l10n/bn_BD.json b/apps/files/l10n/bn_BD.json
index 35db36b61fa..054113964a9 100644
--- a/apps/files/l10n/bn_BD.json
+++ b/apps/files/l10n/bn_BD.json
@@ -30,7 +30,6 @@
"Upload cancelled." : "আপলোড বাতিল করা হয়েছে।",
"File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
"{new_name} already exists" : "{new_name} টি বিদ্যমান",
- "Share" : "ভাগাভাগি কর",
"Delete" : "মুছে",
"Unshare" : "ভাগাভাগি বাতিল ",
"Rename" : "পূনঃনামকরণ",
diff --git a/apps/files/l10n/bn_IN.js b/apps/files/l10n/bn_IN.js
index 320ef37a8f9..1e9ca9a3314 100644
--- a/apps/files/l10n/bn_IN.js
+++ b/apps/files/l10n/bn_IN.js
@@ -14,9 +14,7 @@ OC.L10N.register(
"Not enough storage available" : "যথেষ্ট স্টোরেজ পাওয়া যায় না",
"Invalid directory." : "অবৈধ ডিরেক্টরি।",
"Files" : "ফাইলস",
- "Share" : "শেয়ার",
"Delete" : "মুছে ফেলা",
- "Delete permanently" : "স্থায়ীভাবে মুছে দিন",
"Rename" : "পুনঃনামকরণ",
"Pending" : "মুলতুবি",
"Error" : "ভুল",
diff --git a/apps/files/l10n/bn_IN.json b/apps/files/l10n/bn_IN.json
index 7b6528c38a9..db6203ecd4e 100644
--- a/apps/files/l10n/bn_IN.json
+++ b/apps/files/l10n/bn_IN.json
@@ -12,9 +12,7 @@
"Not enough storage available" : "যথেষ্ট স্টোরেজ পাওয়া যায় না",
"Invalid directory." : "অবৈধ ডিরেক্টরি।",
"Files" : "ফাইলস",
- "Share" : "শেয়ার",
"Delete" : "মুছে ফেলা",
- "Delete permanently" : "স্থায়ীভাবে মুছে দিন",
"Rename" : "পুনঃনামকরণ",
"Pending" : "মুলতুবি",
"Error" : "ভুল",
diff --git a/apps/files/l10n/bs.js b/apps/files/l10n/bs.js
index 1ce26f916a2..26a2e48c947 100644
--- a/apps/files/l10n/bs.js
+++ b/apps/files/l10n/bs.js
@@ -1,7 +1,6 @@
OC.L10N.register(
"files",
{
- "Share" : "Podijeli",
"Name" : "Ime",
"Size" : "Veličina",
"_%n folder_::_%n folders_" : ["","",""],
diff --git a/apps/files/l10n/bs.json b/apps/files/l10n/bs.json
index 7c2d782d01c..9f5f58d954a 100644
--- a/apps/files/l10n/bs.json
+++ b/apps/files/l10n/bs.json
@@ -1,5 +1,4 @@
{ "translations": {
- "Share" : "Podijeli",
"Name" : "Ime",
"Size" : "Veličina",
"_%n folder_::_%n folders_" : ["","",""],
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index 0885794ea43..3cf471d6e39 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "No s'ha pogut crear el fitxer",
"Could not create folder" : "No s'ha pogut crear la carpeta",
"Error fetching URL" : "Error en obtenir la URL",
- "Share" : "Comparteix",
"Delete" : "Esborra",
"Disconnect storage" : "Desonnecta l'emmagatzematge",
"Unshare" : "Deixa de compartir",
- "Delete permanently" : "Esborra permanentment",
"Rename" : "Reanomena",
"Pending" : "Pendent",
"Error moving file." : "Error en moure el fitxer.",
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 2b767a9aaed..e8de6d9239e 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -44,11 +44,9 @@
"Could not create file" : "No s'ha pogut crear el fitxer",
"Could not create folder" : "No s'ha pogut crear la carpeta",
"Error fetching URL" : "Error en obtenir la URL",
- "Share" : "Comparteix",
"Delete" : "Esborra",
"Disconnect storage" : "Desonnecta l'emmagatzematge",
"Unshare" : "Deixa de compartir",
- "Delete permanently" : "Esborra permanentment",
"Rename" : "Reanomena",
"Pending" : "Pendent",
"Error moving file." : "Error en moure el fitxer.",
diff --git a/apps/files/l10n/cs_CZ.js b/apps/files/l10n/cs_CZ.js
index 58467d9c68f..9252417c731 100644
--- a/apps/files/l10n/cs_CZ.js
+++ b/apps/files/l10n/cs_CZ.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Nepodařilo se vytvořit soubor",
"Could not create folder" : "Nepodařilo se vytvořit složku",
"Error fetching URL" : "Chyba při načítání URL",
- "Share" : "Sdílet",
"Delete" : "Smazat",
"Disconnect storage" : "Odpojit úložiště",
"Unshare" : "Zrušit sdílení",
- "Delete permanently" : "Trvale odstranit",
"Rename" : "Přejmenovat",
"Pending" : "Nevyřízené",
"Error moving file." : "Chyba při přesunu souboru.",
diff --git a/apps/files/l10n/cs_CZ.json b/apps/files/l10n/cs_CZ.json
index 98cad1c70f5..3df5e4ee957 100644
--- a/apps/files/l10n/cs_CZ.json
+++ b/apps/files/l10n/cs_CZ.json
@@ -44,11 +44,9 @@
"Could not create file" : "Nepodařilo se vytvořit soubor",
"Could not create folder" : "Nepodařilo se vytvořit složku",
"Error fetching URL" : "Chyba při načítání URL",
- "Share" : "Sdílet",
"Delete" : "Smazat",
"Disconnect storage" : "Odpojit úložiště",
"Unshare" : "Zrušit sdílení",
- "Delete permanently" : "Trvale odstranit",
"Rename" : "Přejmenovat",
"Pending" : "Nevyřízené",
"Error moving file." : "Chyba při přesunu souboru.",
diff --git a/apps/files/l10n/cy_GB.js b/apps/files/l10n/cy_GB.js
index a9c4ddeba28..947f4ba6631 100644
--- a/apps/files/l10n/cy_GB.js
+++ b/apps/files/l10n/cy_GB.js
@@ -19,10 +19,8 @@ OC.L10N.register(
"Upload cancelled." : "Diddymwyd llwytho i fyny.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.",
"{new_name} already exists" : "{new_name} yn bodoli'n barod",
- "Share" : "Rhannu",
"Delete" : "Dileu",
"Unshare" : "Dad-rannu",
- "Delete permanently" : "Dileu'n barhaol",
"Rename" : "Ailenwi",
"Pending" : "I ddod",
"Error" : "Gwall",
diff --git a/apps/files/l10n/cy_GB.json b/apps/files/l10n/cy_GB.json
index dc583d0a333..2edf129976c 100644
--- a/apps/files/l10n/cy_GB.json
+++ b/apps/files/l10n/cy_GB.json
@@ -17,10 +17,8 @@
"Upload cancelled." : "Diddymwyd llwytho i fyny.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.",
"{new_name} already exists" : "{new_name} yn bodoli'n barod",
- "Share" : "Rhannu",
"Delete" : "Dileu",
"Unshare" : "Dad-rannu",
- "Delete permanently" : "Dileu'n barhaol",
"Rename" : "Ailenwi",
"Pending" : "I ddod",
"Error" : "Gwall",
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index 7b636c63409..9ddf620b63b 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Kunne ikke oprette fil",
"Could not create folder" : "Kunne ikke oprette mappe",
"Error fetching URL" : "Fejl ved URL",
- "Share" : "Del",
"Delete" : "Slet",
"Disconnect storage" : "Frakobl lager",
"Unshare" : "Fjern deling",
- "Delete permanently" : "Slet permanent",
"Rename" : "Omdøb",
"Pending" : "Afventer",
"Error moving file." : "Fejl ved flytning af fil",
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index 81b658bef2e..7e6a88f2486 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -44,11 +44,9 @@
"Could not create file" : "Kunne ikke oprette fil",
"Could not create folder" : "Kunne ikke oprette mappe",
"Error fetching URL" : "Fejl ved URL",
- "Share" : "Del",
"Delete" : "Slet",
"Disconnect storage" : "Frakobl lager",
"Unshare" : "Fjern deling",
- "Delete permanently" : "Slet permanent",
"Rename" : "Omdøb",
"Pending" : "Afventer",
"Error moving file." : "Fejl ved flytning af fil",
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index b4ffa90c89b..0ed91061f94 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Die Datei konnte nicht erstellt werden",
"Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Error fetching URL" : "Fehler beim Abrufen der URL",
- "Share" : "Teilen",
"Delete" : "Löschen",
"Disconnect storage" : "Speicher trennen",
"Unshare" : "Freigabe aufheben",
- "Delete permanently" : "Endgültig löschen",
"Rename" : "Umbenennen",
"Pending" : "Ausstehend",
"Error moving file." : "Fehler beim Verschieben der Datei.",
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index 600a60ddfd7..fa567f7b4f3 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -44,11 +44,9 @@
"Could not create file" : "Die Datei konnte nicht erstellt werden",
"Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Error fetching URL" : "Fehler beim Abrufen der URL",
- "Share" : "Teilen",
"Delete" : "Löschen",
"Disconnect storage" : "Speicher trennen",
"Unshare" : "Freigabe aufheben",
- "Delete permanently" : "Endgültig löschen",
"Rename" : "Umbenennen",
"Pending" : "Ausstehend",
"Error moving file." : "Fehler beim Verschieben der Datei.",
diff --git a/apps/files/l10n/de_AT.js b/apps/files/l10n/de_AT.js
index 00e929683cc..435b15551e2 100644
--- a/apps/files/l10n/de_AT.js
+++ b/apps/files/l10n/de_AT.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"files",
{
"Files" : "Dateien",
- "Share" : "Freigeben",
"Delete" : "Löschen",
"Unshare" : "Teilung zurücknehmen",
"Error" : "Fehler",
diff --git a/apps/files/l10n/de_AT.json b/apps/files/l10n/de_AT.json
index 190e5c1d3b1..41abbca37d5 100644
--- a/apps/files/l10n/de_AT.json
+++ b/apps/files/l10n/de_AT.json
@@ -1,6 +1,5 @@
{ "translations": {
"Files" : "Dateien",
- "Share" : "Freigeben",
"Delete" : "Löschen",
"Unshare" : "Teilung zurücknehmen",
"Error" : "Fehler",
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index 3e64aa3c990..51bbdc08692 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Die Datei konnte nicht erstellt werden",
"Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Error fetching URL" : "Fehler beim Abrufen der URL",
- "Share" : "Teilen",
"Delete" : "Löschen",
"Disconnect storage" : "Speicher trennen",
"Unshare" : "Freigabe aufheben",
- "Delete permanently" : "Endgültig löschen",
"Rename" : "Umbenennen",
"Pending" : "Ausstehend",
"Error moving file." : "Fehler beim Verschieben der Datei.",
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index df3433251c6..02c8c411d4c 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -44,11 +44,9 @@
"Could not create file" : "Die Datei konnte nicht erstellt werden",
"Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Error fetching URL" : "Fehler beim Abrufen der URL",
- "Share" : "Teilen",
"Delete" : "Löschen",
"Disconnect storage" : "Speicher trennen",
"Unshare" : "Freigabe aufheben",
- "Delete permanently" : "Endgültig löschen",
"Rename" : "Umbenennen",
"Pending" : "Ausstehend",
"Error moving file." : "Fehler beim Verschieben der Datei.",
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index eaf4eb65ebd..3ac2eedd126 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Αδυναμία δημιουργίας αρχείου",
"Could not create folder" : "Αδυναμία δημιουργίας φακέλου",
"Error fetching URL" : "Σφάλμα φόρτωσης URL",
- "Share" : "Διαμοιρασμός",
"Delete" : "Διαγραφή",
"Disconnect storage" : "Αποσυνδεδεμένος αποθηκευτικός χώρος",
"Unshare" : "Διακοπή διαμοιρασμού",
- "Delete permanently" : "Μόνιμη διαγραφή",
"Rename" : "Μετονομασία",
"Pending" : "Εκκρεμεί",
"Error moving file." : "Σφάλμα κατά τη μετακίνηση του αρχείου.",
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index 5c9b763b5e1..630eddd616b 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -44,11 +44,9 @@
"Could not create file" : "Αδυναμία δημιουργίας αρχείου",
"Could not create folder" : "Αδυναμία δημιουργίας φακέλου",
"Error fetching URL" : "Σφάλμα φόρτωσης URL",
- "Share" : "Διαμοιρασμός",
"Delete" : "Διαγραφή",
"Disconnect storage" : "Αποσυνδεδεμένος αποθηκευτικός χώρος",
"Unshare" : "Διακοπή διαμοιρασμού",
- "Delete permanently" : "Μόνιμη διαγραφή",
"Rename" : "Μετονομασία",
"Pending" : "Εκκρεμεί",
"Error moving file." : "Σφάλμα κατά τη μετακίνηση του αρχείου.",
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index 494358d3363..d940540bc88 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Could not create file",
"Could not create folder" : "Could not create folder",
"Error fetching URL" : "Error fetching URL",
- "Share" : "Share",
"Delete" : "Delete",
"Disconnect storage" : "Disconnect storage",
"Unshare" : "Unshare",
- "Delete permanently" : "Delete permanently",
"Rename" : "Rename",
"Pending" : "Pending",
"Error moving file." : "Error moving file.",
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index bdda9bf4faf..88d2c3d848e 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -44,11 +44,9 @@
"Could not create file" : "Could not create file",
"Could not create folder" : "Could not create folder",
"Error fetching URL" : "Error fetching URL",
- "Share" : "Share",
"Delete" : "Delete",
"Disconnect storage" : "Disconnect storage",
"Unshare" : "Unshare",
- "Delete permanently" : "Delete permanently",
"Rename" : "Rename",
"Pending" : "Pending",
"Error moving file." : "Error moving file.",
diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js
index 43acaae6ba4..91349252c8f 100644
--- a/apps/files/l10n/eo.js
+++ b/apps/files/l10n/eo.js
@@ -34,10 +34,8 @@ OC.L10N.register(
"{new_name} already exists" : "{new_name} jam ekzistas",
"Could not create file" : "Ne povis kreiĝi dosiero",
"Could not create folder" : "Ne povis kreiĝi dosierujo",
- "Share" : "Kunhavigi",
"Delete" : "Forigi",
"Unshare" : "Malkunhavigi",
- "Delete permanently" : "Forigi por ĉiam",
"Rename" : "Alinomigi",
"Pending" : "Traktotaj",
"Error moving file" : "Eraris movo de dosiero",
diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json
index 96338a90c11..59b8178aca0 100644
--- a/apps/files/l10n/eo.json
+++ b/apps/files/l10n/eo.json
@@ -32,10 +32,8 @@
"{new_name} already exists" : "{new_name} jam ekzistas",
"Could not create file" : "Ne povis kreiĝi dosiero",
"Could not create folder" : "Ne povis kreiĝi dosierujo",
- "Share" : "Kunhavigi",
"Delete" : "Forigi",
"Unshare" : "Malkunhavigi",
- "Delete permanently" : "Forigi por ĉiam",
"Rename" : "Alinomigi",
"Pending" : "Traktotaj",
"Error moving file" : "Eraris movo de dosiero",
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index 0e1ac9aede9..b73452ba416 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "No se pudo crear el archivo",
"Could not create folder" : "No se pudo crear la carpeta",
"Error fetching URL" : "Error al descargar URL.",
- "Share" : "Compartir",
"Delete" : "Eliminar",
"Disconnect storage" : "Desconectar almacenamiento",
"Unshare" : "Dejar de compartir",
- "Delete permanently" : "Eliminar permanentemente",
"Rename" : "Renombrar",
"Pending" : "Pendiente",
"Error moving file." : "Error al mover el archivo.",
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 5b45a869b54..8b8166575cd 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -44,11 +44,9 @@
"Could not create file" : "No se pudo crear el archivo",
"Could not create folder" : "No se pudo crear la carpeta",
"Error fetching URL" : "Error al descargar URL.",
- "Share" : "Compartir",
"Delete" : "Eliminar",
"Disconnect storage" : "Desconectar almacenamiento",
"Unshare" : "Dejar de compartir",
- "Delete permanently" : "Eliminar permanentemente",
"Rename" : "Renombrar",
"Pending" : "Pendiente",
"Error moving file." : "Error al mover el archivo.",
diff --git a/apps/files/l10n/es_AR.js b/apps/files/l10n/es_AR.js
index fd9f9bd05e1..cc3c7f157a4 100644
--- a/apps/files/l10n/es_AR.js
+++ b/apps/files/l10n/es_AR.js
@@ -37,10 +37,8 @@ OC.L10N.register(
"Could not create file" : "No se pudo crear el archivo",
"Could not create folder" : "No se pudo crear el directorio",
"Error fetching URL" : "Error al obtener la URL",
- "Share" : "Compartir",
"Delete" : "Borrar",
"Unshare" : "Dejar de compartir",
- "Delete permanently" : "Borrar permanentemente",
"Rename" : "Cambiar nombre",
"Pending" : "Pendientes",
"Error moving file" : "Error moviendo el archivo",
diff --git a/apps/files/l10n/es_AR.json b/apps/files/l10n/es_AR.json
index aa701390e68..c1dc14422f2 100644
--- a/apps/files/l10n/es_AR.json
+++ b/apps/files/l10n/es_AR.json
@@ -35,10 +35,8 @@
"Could not create file" : "No se pudo crear el archivo",
"Could not create folder" : "No se pudo crear el directorio",
"Error fetching URL" : "Error al obtener la URL",
- "Share" : "Compartir",
"Delete" : "Borrar",
"Unshare" : "Dejar de compartir",
- "Delete permanently" : "Borrar permanentemente",
"Rename" : "Cambiar nombre",
"Pending" : "Pendientes",
"Error moving file" : "Error moviendo el archivo",
diff --git a/apps/files/l10n/es_CL.js b/apps/files/l10n/es_CL.js
index 7a6f60c2961..0bf887f3699 100644
--- a/apps/files/l10n/es_CL.js
+++ b/apps/files/l10n/es_CL.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Unknown error" : "Error desconocido",
"Files" : "Archivos",
- "Share" : "Compartir",
"Rename" : "Renombrar",
"Error" : "Error",
"_%n folder_::_%n folders_" : ["",""],
diff --git a/apps/files/l10n/es_CL.json b/apps/files/l10n/es_CL.json
index bb2cd206077..65f65eee022 100644
--- a/apps/files/l10n/es_CL.json
+++ b/apps/files/l10n/es_CL.json
@@ -1,7 +1,6 @@
{ "translations": {
"Unknown error" : "Error desconocido",
"Files" : "Archivos",
- "Share" : "Compartir",
"Rename" : "Renombrar",
"Error" : "Error",
"_%n folder_::_%n folders_" : ["",""],
diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 9d353e84a25..2a62b597d3a 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -37,10 +37,8 @@ OC.L10N.register(
"Could not create file" : "No se pudo crear el archivo",
"Could not create folder" : "No se pudo crear la carpeta",
"Error fetching URL" : "Error al descargar URL.",
- "Share" : "Compartir",
"Delete" : "Eliminar",
"Unshare" : "Dejar de compartir",
- "Delete permanently" : "Eliminar permanentemente",
"Rename" : "Renombrar",
"Pending" : "Pendiente",
"Error moving file" : "Error moviendo archivo",
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index f08223b70c7..94111d2095d 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -35,10 +35,8 @@
"Could not create file" : "No se pudo crear el archivo",
"Could not create folder" : "No se pudo crear la carpeta",
"Error fetching URL" : "Error al descargar URL.",
- "Share" : "Compartir",
"Delete" : "Eliminar",
"Unshare" : "Dejar de compartir",
- "Delete permanently" : "Eliminar permanentemente",
"Rename" : "Renombrar",
"Pending" : "Pendiente",
"Error moving file" : "Error moviendo archivo",
diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index 0ffbb81f63c..1e2004a07d9 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Ei suuda luua faili",
"Could not create folder" : "Ei suuda luua kataloogi",
"Error fetching URL" : "Viga URL-i haaramisel",
- "Share" : "Jaga",
"Delete" : "Kustuta",
"Disconnect storage" : "Ühenda andmehoidla lahti.",
"Unshare" : "Lõpeta jagamine",
- "Delete permanently" : "Kustuta jäädavalt",
"Rename" : "Nimeta ümber",
"Pending" : "Ootel",
"Error moving file." : "Viga faili liigutamisel.",
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index fdb5bdcb4f2..1c4c7b56680 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -44,11 +44,9 @@
"Could not create file" : "Ei suuda luua faili",
"Could not create folder" : "Ei suuda luua kataloogi",
"Error fetching URL" : "Viga URL-i haaramisel",
- "Share" : "Jaga",
"Delete" : "Kustuta",
"Disconnect storage" : "Ühenda andmehoidla lahti.",
"Unshare" : "Lõpeta jagamine",
- "Delete permanently" : "Kustuta jäädavalt",
"Rename" : "Nimeta ümber",
"Pending" : "Ootel",
"Error moving file." : "Viga faili liigutamisel.",
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index 5fb2ac32f7c..3b154222ab5 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Ezin izan da fitxategia sortu",
"Could not create folder" : "Ezin izan da karpeta sortu",
"Error fetching URL" : "Errorea URLa eskuratzerakoan",
- "Share" : "Elkarbanatu",
"Delete" : "Ezabatu",
"Disconnect storage" : "Deskonektatu biltegia",
"Unshare" : "Ez elkarbanatu",
- "Delete permanently" : "Ezabatu betirako",
"Rename" : "Berrizendatu",
"Pending" : "Zain",
"Error moving file." : "Errorea fitxategia mugitzean.",
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index fadc0218477..22aa1f8f3a8 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -44,11 +44,9 @@
"Could not create file" : "Ezin izan da fitxategia sortu",
"Could not create folder" : "Ezin izan da karpeta sortu",
"Error fetching URL" : "Errorea URLa eskuratzerakoan",
- "Share" : "Elkarbanatu",
"Delete" : "Ezabatu",
"Disconnect storage" : "Deskonektatu biltegia",
"Unshare" : "Ez elkarbanatu",
- "Delete permanently" : "Ezabatu betirako",
"Rename" : "Berrizendatu",
"Pending" : "Zain",
"Error moving file." : "Errorea fitxategia mugitzean.",
diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js
index 1e403418ab1..d81213191fd 100644
--- a/apps/files/l10n/fa.js
+++ b/apps/files/l10n/fa.js
@@ -22,10 +22,8 @@ OC.L10N.register(
"Upload cancelled." : "بار گذاری لغو شد",
"File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ",
"{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.",
- "Share" : "اشتراک‌گذاری",
"Delete" : "حذف",
"Unshare" : "لغو اشتراک",
- "Delete permanently" : "حذف قطعی",
"Rename" : "تغییرنام",
"Pending" : "در انتظار",
"Error" : "خطا",
diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json
index 872cef839a7..ddc1cce6c5c 100644
--- a/apps/files/l10n/fa.json
+++ b/apps/files/l10n/fa.json
@@ -20,10 +20,8 @@
"Upload cancelled." : "بار گذاری لغو شد",
"File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ",
"{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.",
- "Share" : "اشتراک‌گذاری",
"Delete" : "حذف",
"Unshare" : "لغو اشتراک",
- "Delete permanently" : "حذف قطعی",
"Rename" : "تغییرنام",
"Pending" : "در انتظار",
"Error" : "خطا",
diff --git a/apps/files/l10n/fi_FI.js b/apps/files/l10n/fi_FI.js
index 3c94a518774..4d78fa413e4 100644
--- a/apps/files/l10n/fi_FI.js
+++ b/apps/files/l10n/fi_FI.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Tiedoston luominen epäonnistui",
"Could not create folder" : "Kansion luominen epäonnistui",
"Error fetching URL" : "Virhe noutaessa verkko-osoitetta",
- "Share" : "Jaa",
"Delete" : "Poista",
"Disconnect storage" : "Katkaise yhteys tallennustilaan",
"Unshare" : "Peru jakaminen",
- "Delete permanently" : "Poista pysyvästi",
"Rename" : "Nimeä uudelleen",
"Pending" : "Odottaa",
"Error moving file." : "Virhe tiedostoa siirrettäessä.",
diff --git a/apps/files/l10n/fi_FI.json b/apps/files/l10n/fi_FI.json
index 8628607793b..8052b0f3287 100644
--- a/apps/files/l10n/fi_FI.json
+++ b/apps/files/l10n/fi_FI.json
@@ -44,11 +44,9 @@
"Could not create file" : "Tiedoston luominen epäonnistui",
"Could not create folder" : "Kansion luominen epäonnistui",
"Error fetching URL" : "Virhe noutaessa verkko-osoitetta",
- "Share" : "Jaa",
"Delete" : "Poista",
"Disconnect storage" : "Katkaise yhteys tallennustilaan",
"Unshare" : "Peru jakaminen",
- "Delete permanently" : "Poista pysyvästi",
"Rename" : "Nimeä uudelleen",
"Pending" : "Odottaa",
"Error moving file." : "Virhe tiedostoa siirrettäessä.",
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index a5a4f25bf1d..86d10b2a8c4 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Impossible de créer le fichier",
"Could not create folder" : "Impossible de créer le dossier",
"Error fetching URL" : "Erreur d'accès à l'URL",
- "Share" : "Partager",
"Delete" : "Supprimer",
"Disconnect storage" : "Déconnecter ce support de stockage",
"Unshare" : "Ne plus partager",
- "Delete permanently" : "Supprimer de façon définitive",
"Rename" : "Renommer",
"Pending" : "En attente",
"Error moving file." : "Erreur lors du déplacement du fichier.",
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 26707810a75..8c2a7b4ca3e 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -44,11 +44,9 @@
"Could not create file" : "Impossible de créer le fichier",
"Could not create folder" : "Impossible de créer le dossier",
"Error fetching URL" : "Erreur d'accès à l'URL",
- "Share" : "Partager",
"Delete" : "Supprimer",
"Disconnect storage" : "Déconnecter ce support de stockage",
"Unshare" : "Ne plus partager",
- "Delete permanently" : "Supprimer de façon définitive",
"Rename" : "Renommer",
"Pending" : "En attente",
"Error moving file." : "Erreur lors du déplacement du fichier.",
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index 53757da49b5..28dad5d7757 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Non foi posíbel crear o ficheiro",
"Could not create folder" : "Non foi posíbel crear o cartafol",
"Error fetching URL" : "Produciuse un erro ao obter o URL",
- "Share" : "Compartir",
"Delete" : "Eliminar",
"Disconnect storage" : "Desconectar o almacenamento",
"Unshare" : "Deixar de compartir",
- "Delete permanently" : "Eliminar permanentemente",
"Rename" : "Renomear",
"Pending" : "Pendentes",
"Error moving file." : "Produciuse un erro ao mover o ficheiro.",
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index 0e131a0ffa6..cdb404bfad4 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -44,11 +44,9 @@
"Could not create file" : "Non foi posíbel crear o ficheiro",
"Could not create folder" : "Non foi posíbel crear o cartafol",
"Error fetching URL" : "Produciuse un erro ao obter o URL",
- "Share" : "Compartir",
"Delete" : "Eliminar",
"Disconnect storage" : "Desconectar o almacenamento",
"Unshare" : "Deixar de compartir",
- "Delete permanently" : "Eliminar permanentemente",
"Rename" : "Renomear",
"Pending" : "Pendentes",
"Error moving file." : "Produciuse un erro ao mover o ficheiro.",
diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js
index 4db22fef4ed..6ad6a9d58c3 100644
--- a/apps/files/l10n/he.js
+++ b/apps/files/l10n/he.js
@@ -22,10 +22,8 @@ OC.L10N.register(
"Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.",
"File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.",
"{new_name} already exists" : "{new_name} כבר קיים",
- "Share" : "שתף",
"Delete" : "מחיקה",
"Unshare" : "הסר שיתוף",
- "Delete permanently" : "מחק לצמיתות",
"Rename" : "שינוי שם",
"Pending" : "ממתין",
"Error" : "שגיאה",
diff --git a/apps/files/l10n/he.json b/apps/files/l10n/he.json
index b876983cbbb..c9caf1093e3 100644
--- a/apps/files/l10n/he.json
+++ b/apps/files/l10n/he.json
@@ -20,10 +20,8 @@
"Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.",
"File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.",
"{new_name} already exists" : "{new_name} כבר קיים",
- "Share" : "שתף",
"Delete" : "מחיקה",
"Unshare" : "הסר שיתוף",
- "Delete permanently" : "מחק לצמיתות",
"Rename" : "שינוי שם",
"Pending" : "ממתין",
"Error" : "שגיאה",
diff --git a/apps/files/l10n/hi.js b/apps/files/l10n/hi.js
index 21b409ce9ef..6439a1af93a 100644
--- a/apps/files/l10n/hi.js
+++ b/apps/files/l10n/hi.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"files",
{
"Files" : "फाइलें ",
- "Share" : "साझा करें",
"Error" : "त्रुटि",
"_%n folder_::_%n folders_" : ["",""],
"_%n file_::_%n files_" : ["",""],
diff --git a/apps/files/l10n/hi.json b/apps/files/l10n/hi.json
index 093b80ce700..0e61c34bcdc 100644
--- a/apps/files/l10n/hi.json
+++ b/apps/files/l10n/hi.json
@@ -1,6 +1,5 @@
{ "translations": {
"Files" : "फाइलें ",
- "Share" : "साझा करें",
"Error" : "त्रुटि",
"_%n folder_::_%n folders_" : ["",""],
"_%n file_::_%n files_" : ["",""],
diff --git a/apps/files/l10n/hr.js b/apps/files/l10n/hr.js
index ad4eead41cc..f840cf3fa41 100644
--- a/apps/files/l10n/hr.js
+++ b/apps/files/l10n/hr.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Datoteku nije moguće kreirati",
"Could not create folder" : "Mapu nije moguće kreirati",
"Error fetching URL" : "Pogrešan dohvat URL",
- "Share" : "Podijelite resurs",
"Delete" : "Izbrišite",
"Disconnect storage" : "Isključite pohranu",
"Unshare" : "Prestanite dijeliti",
- "Delete permanently" : "Trajno izbrišite",
"Rename" : "Preimenujte",
"Pending" : "Na čekanju",
"Error moving file." : "Pogrešno premještanje datoteke",
diff --git a/apps/files/l10n/hr.json b/apps/files/l10n/hr.json
index 482796da4a1..fb94891580d 100644
--- a/apps/files/l10n/hr.json
+++ b/apps/files/l10n/hr.json
@@ -44,11 +44,9 @@
"Could not create file" : "Datoteku nije moguće kreirati",
"Could not create folder" : "Mapu nije moguće kreirati",
"Error fetching URL" : "Pogrešan dohvat URL",
- "Share" : "Podijelite resurs",
"Delete" : "Izbrišite",
"Disconnect storage" : "Isključite pohranu",
"Unshare" : "Prestanite dijeliti",
- "Delete permanently" : "Trajno izbrišite",
"Rename" : "Preimenujte",
"Pending" : "Na čekanju",
"Error moving file." : "Pogrešno premještanje datoteke",
diff --git a/apps/files/l10n/hu_HU.js b/apps/files/l10n/hu_HU.js
index 34a9c73aa08..3b1f298e5f2 100644
--- a/apps/files/l10n/hu_HU.js
+++ b/apps/files/l10n/hu_HU.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Az állomány nem hozható létre",
"Could not create folder" : "A mappa nem hozható létre",
"Error fetching URL" : "A megadott URL-ről nem sikerül adatokat kapni",
- "Share" : "Megosztás",
"Delete" : "Törlés",
"Disconnect storage" : "Tároló leválasztása",
"Unshare" : "A megosztás visszavonása",
- "Delete permanently" : "Végleges törlés",
"Rename" : "Átnevezés",
"Pending" : "Folyamatban",
"Error moving file." : "Hiba történt a fájl áthelyezése közben.",
diff --git a/apps/files/l10n/hu_HU.json b/apps/files/l10n/hu_HU.json
index 10ff167fd46..c5fd6b93bd6 100644
--- a/apps/files/l10n/hu_HU.json
+++ b/apps/files/l10n/hu_HU.json
@@ -44,11 +44,9 @@
"Could not create file" : "Az állomány nem hozható létre",
"Could not create folder" : "A mappa nem hozható létre",
"Error fetching URL" : "A megadott URL-ről nem sikerül adatokat kapni",
- "Share" : "Megosztás",
"Delete" : "Törlés",
"Disconnect storage" : "Tároló leválasztása",
"Unshare" : "A megosztás visszavonása",
- "Delete permanently" : "Végleges törlés",
"Rename" : "Átnevezés",
"Pending" : "Folyamatban",
"Error moving file." : "Hiba történt a fájl áthelyezése közben.",
diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js
index 8c93abf1bef..415f74842d4 100644
--- a/apps/files/l10n/ia.js
+++ b/apps/files/l10n/ia.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"No file was uploaded" : "Nulle file esseva incargate.",
"Missing a temporary folder" : "Manca un dossier temporari",
"Files" : "Files",
- "Share" : "Compartir",
"Delete" : "Deler",
"Unshare" : "Leva compartir",
"Error" : "Error",
diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json
index 962419f288b..d18deefc264 100644
--- a/apps/files/l10n/ia.json
+++ b/apps/files/l10n/ia.json
@@ -5,7 +5,6 @@
"No file was uploaded" : "Nulle file esseva incargate.",
"Missing a temporary folder" : "Manca un dossier temporari",
"Files" : "Files",
- "Share" : "Compartir",
"Delete" : "Deler",
"Unshare" : "Leva compartir",
"Error" : "Error",
diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js
index 8ae4c822ea8..d8438537792 100644
--- a/apps/files/l10n/id.js
+++ b/apps/files/l10n/id.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Tidak dapat membuat berkas",
"Could not create folder" : "Tidak dapat membuat folder",
"Error fetching URL" : "Kesalahan saat mengambil URL",
- "Share" : "Bagikan",
"Delete" : "Hapus",
"Disconnect storage" : "Memutuskan penyimpaan",
"Unshare" : "Batalkan berbagi",
- "Delete permanently" : "Hapus secara permanen",
"Rename" : "Ubah nama",
"Pending" : "Menunggu",
"Error moving file." : "Kesalahan saat memindahkan berkas.",
diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json
index d644aa22ec4..38668a71d0a 100644
--- a/apps/files/l10n/id.json
+++ b/apps/files/l10n/id.json
@@ -44,11 +44,9 @@
"Could not create file" : "Tidak dapat membuat berkas",
"Could not create folder" : "Tidak dapat membuat folder",
"Error fetching URL" : "Kesalahan saat mengambil URL",
- "Share" : "Bagikan",
"Delete" : "Hapus",
"Disconnect storage" : "Memutuskan penyimpaan",
"Unshare" : "Batalkan berbagi",
- "Delete permanently" : "Hapus secara permanen",
"Rename" : "Ubah nama",
"Pending" : "Menunggu",
"Error moving file." : "Kesalahan saat memindahkan berkas.",
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 5f3e2e78f26..72dcb93b3ff 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"Upload cancelled." : "Hætt við innsendingu.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
"{new_name} already exists" : "{new_name} er þegar til",
- "Share" : "Deila",
"Delete" : "Eyða",
"Unshare" : "Hætta deilingu",
"Rename" : "Endurskýra",
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 0a6afcb0b64..ba575238d16 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -16,7 +16,6 @@
"Upload cancelled." : "Hætt við innsendingu.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
"{new_name} already exists" : "{new_name} er þegar til",
- "Share" : "Deila",
"Delete" : "Eyða",
"Unshare" : "Hætta deilingu",
"Rename" : "Endurskýra",
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index 693888bb7c8..b54e95685a1 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Impossibile creare il file",
"Could not create folder" : "Impossibile creare la cartella",
"Error fetching URL" : "Errore durante il recupero dello URL",
- "Share" : "Condividi",
"Delete" : "Elimina",
"Disconnect storage" : "Disconnetti archiviazione",
"Unshare" : "Rimuovi condivisione",
- "Delete permanently" : "Elimina definitivamente",
"Rename" : "Rinomina",
"Pending" : "In corso",
"Error moving file." : "Errore durante lo spostamento del file.",
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index 4efbf6f64b4..cbdb66c118f 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -44,11 +44,9 @@
"Could not create file" : "Impossibile creare il file",
"Could not create folder" : "Impossibile creare la cartella",
"Error fetching URL" : "Errore durante il recupero dello URL",
- "Share" : "Condividi",
"Delete" : "Elimina",
"Disconnect storage" : "Disconnetti archiviazione",
"Unshare" : "Rimuovi condivisione",
- "Delete permanently" : "Elimina definitivamente",
"Rename" : "Rinomina",
"Pending" : "In corso",
"Error moving file." : "Errore durante lo spostamento del file.",
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index 201da49664b..0f11ad44f82 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "ファイルを作成できませんでした",
"Could not create folder" : "フォルダーを作成できませんでした",
"Error fetching URL" : "URL取得エラー",
- "Share" : "共有",
"Delete" : "削除",
"Disconnect storage" : "ストレージを切断する",
"Unshare" : "共有解除",
- "Delete permanently" : "完全に削除する",
"Rename" : "名前の変更",
"Pending" : "中断",
"Error moving file." : "ファイル移動でエラー",
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index 314bc723322..b18b25c2432 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -44,11 +44,9 @@
"Could not create file" : "ファイルを作成できませんでした",
"Could not create folder" : "フォルダーを作成できませんでした",
"Error fetching URL" : "URL取得エラー",
- "Share" : "共有",
"Delete" : "削除",
"Disconnect storage" : "ストレージを切断する",
"Unshare" : "共有解除",
- "Delete permanently" : "完全に削除する",
"Rename" : "名前の変更",
"Pending" : "中断",
"Error moving file." : "ファイル移動でエラー",
diff --git a/apps/files/l10n/ka_GE.js b/apps/files/l10n/ka_GE.js
index 9845b12b129..d23d8b860b4 100644
--- a/apps/files/l10n/ka_GE.js
+++ b/apps/files/l10n/ka_GE.js
@@ -20,10 +20,8 @@ OC.L10N.register(
"Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.",
"File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას",
"{new_name} already exists" : "{new_name} უკვე არსებობს",
- "Share" : "გაზიარება",
"Delete" : "წაშლა",
"Unshare" : "გაუზიარებადი",
- "Delete permanently" : "სრულად წაშლა",
"Rename" : "გადარქმევა",
"Pending" : "მოცდის რეჟიმში",
"Error" : "შეცდომა",
diff --git a/apps/files/l10n/ka_GE.json b/apps/files/l10n/ka_GE.json
index 65dde81cfc4..512e96864f2 100644
--- a/apps/files/l10n/ka_GE.json
+++ b/apps/files/l10n/ka_GE.json
@@ -18,10 +18,8 @@
"Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.",
"File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას",
"{new_name} already exists" : "{new_name} უკვე არსებობს",
- "Share" : "გაზიარება",
"Delete" : "წაშლა",
"Unshare" : "გაუზიარებადი",
- "Delete permanently" : "სრულად წაშლა",
"Rename" : "გადარქმევა",
"Pending" : "მოცდის რეჟიმში",
"Error" : "შეცდომა",
diff --git a/apps/files/l10n/km.js b/apps/files/l10n/km.js
index 5a44796d1e7..f329a51bcf4 100644
--- a/apps/files/l10n/km.js
+++ b/apps/files/l10n/km.js
@@ -11,10 +11,8 @@ OC.L10N.register(
"Files" : "ឯកសារ",
"Upload cancelled." : "បាន​បោះបង់​ការ​ផ្ទុក​ឡើង។",
"{new_name} already exists" : "មាន​ឈ្មោះ {new_name} រួច​ហើយ",
- "Share" : "ចែក​រំលែក",
"Delete" : "លុប",
"Unshare" : "លែង​ចែក​រំលែក",
- "Delete permanently" : "លុប​ជា​អចិន្ត្រៃយ៍",
"Rename" : "ប្ដូរ​ឈ្មោះ",
"Pending" : "កំពុង​រង់ចាំ",
"Error" : "កំហុស",
diff --git a/apps/files/l10n/km.json b/apps/files/l10n/km.json
index 6ed24afe47a..bcd7be4c977 100644
--- a/apps/files/l10n/km.json
+++ b/apps/files/l10n/km.json
@@ -9,10 +9,8 @@
"Files" : "ឯកសារ",
"Upload cancelled." : "បាន​បោះបង់​ការ​ផ្ទុក​ឡើង។",
"{new_name} already exists" : "មាន​ឈ្មោះ {new_name} រួច​ហើយ",
- "Share" : "ចែក​រំលែក",
"Delete" : "លុប",
"Unshare" : "លែង​ចែក​រំលែក",
- "Delete permanently" : "លុប​ជា​អចិន្ត្រៃយ៍",
"Rename" : "ប្ដូរ​ឈ្មោះ",
"Pending" : "កំពុង​រង់ចាំ",
"Error" : "កំហុស",
diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js
index 519652e4796..a587e324998 100644
--- a/apps/files/l10n/ko.js
+++ b/apps/files/l10n/ko.js
@@ -37,10 +37,8 @@ OC.L10N.register(
"Could not create file" : "파일을 만들 수 없음",
"Could not create folder" : "폴더를 만들 수 없음",
"Error fetching URL" : "URL을 가져올 수 없음",
- "Share" : "공유",
"Delete" : "삭제",
"Unshare" : "공유 해제",
- "Delete permanently" : "영구히 삭제",
"Rename" : "이름 바꾸기",
"Pending" : "대기 중",
"Error moving file" : "파일 이동 오류",
diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json
index afcda78ecd0..031925b5f5e 100644
--- a/apps/files/l10n/ko.json
+++ b/apps/files/l10n/ko.json
@@ -35,10 +35,8 @@
"Could not create file" : "파일을 만들 수 없음",
"Could not create folder" : "폴더를 만들 수 없음",
"Error fetching URL" : "URL을 가져올 수 없음",
- "Share" : "공유",
"Delete" : "삭제",
"Unshare" : "공유 해제",
- "Delete permanently" : "영구히 삭제",
"Rename" : "이름 바꾸기",
"Pending" : "대기 중",
"Error moving file" : "파일 이동 오류",
diff --git a/apps/files/l10n/ku_IQ.js b/apps/files/l10n/ku_IQ.js
index 5236669f239..f8749d38d34 100644
--- a/apps/files/l10n/ku_IQ.js
+++ b/apps/files/l10n/ku_IQ.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"files",
{
"Files" : "په‌ڕگەکان",
- "Share" : "هاوبەشی کردن",
"Error" : "هه‌ڵه",
"Name" : "ناو",
"_%n folder_::_%n folders_" : ["",""],
diff --git a/apps/files/l10n/ku_IQ.json b/apps/files/l10n/ku_IQ.json
index c11984e29d7..b63c05e1c9b 100644
--- a/apps/files/l10n/ku_IQ.json
+++ b/apps/files/l10n/ku_IQ.json
@@ -1,6 +1,5 @@
{ "translations": {
"Files" : "په‌ڕگەکان",
- "Share" : "هاوبەشی کردن",
"Error" : "هه‌ڵه",
"Name" : "ناو",
"_%n folder_::_%n folders_" : ["",""],
diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js
index 05c3ff1e7e4..6b5211e1d9d 100644
--- a/apps/files/l10n/lb.js
+++ b/apps/files/l10n/lb.js
@@ -11,7 +11,6 @@ OC.L10N.register(
"Files" : "Dateien",
"Upload cancelled." : "Upload ofgebrach.",
"File upload is in progress. Leaving the page now will cancel the upload." : "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.",
- "Share" : "Deelen",
"Delete" : "Läschen",
"Unshare" : "Net méi deelen",
"Rename" : "Ëm-benennen",
diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json
index 868141071f3..7b7ad7d5cff 100644
--- a/apps/files/l10n/lb.json
+++ b/apps/files/l10n/lb.json
@@ -9,7 +9,6 @@
"Files" : "Dateien",
"Upload cancelled." : "Upload ofgebrach.",
"File upload is in progress. Leaving the page now will cancel the upload." : "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.",
- "Share" : "Deelen",
"Delete" : "Läschen",
"Unshare" : "Net méi deelen",
"Rename" : "Ëm-benennen",
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index c4b391bee67..089eb1d83ff 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -37,10 +37,8 @@ OC.L10N.register(
"Could not create file" : "Neįmanoma sukurti failo",
"Could not create folder" : "Neįmanoma sukurti aplanko",
"Error fetching URL" : "Klauda gaunant URL",
- "Share" : "Dalintis",
"Delete" : "Ištrinti",
"Unshare" : "Nebesidalinti",
- "Delete permanently" : "Ištrinti negrįžtamai",
"Rename" : "Pervadinti",
"Pending" : "Laukiantis",
"Error moving file" : "Klaida perkeliant failą",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index 6baaa79c92c..d3de21aef97 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -35,10 +35,8 @@
"Could not create file" : "Neįmanoma sukurti failo",
"Could not create folder" : "Neįmanoma sukurti aplanko",
"Error fetching URL" : "Klauda gaunant URL",
- "Share" : "Dalintis",
"Delete" : "Ištrinti",
"Unshare" : "Nebesidalinti",
- "Delete permanently" : "Ištrinti negrįžtamai",
"Rename" : "Pervadinti",
"Pending" : "Laukiantis",
"Error moving file" : "Klaida perkeliant failą",
diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js
index d01f2894d94..74bc5b50763 100644
--- a/apps/files/l10n/lv.js
+++ b/apps/files/l10n/lv.js
@@ -22,10 +22,8 @@ OC.L10N.register(
"Upload cancelled." : "Augšupielāde ir atcelta.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.",
"{new_name} already exists" : "{new_name} jau eksistē",
- "Share" : "Dalīties",
"Delete" : "Dzēst",
"Unshare" : "Pārtraukt dalīšanos",
- "Delete permanently" : "Dzēst pavisam",
"Rename" : "Pārsaukt",
"Pending" : "Gaida savu kārtu",
"Error" : "Kļūda",
diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json
index 39a0caea5b2..ebc5df7026f 100644
--- a/apps/files/l10n/lv.json
+++ b/apps/files/l10n/lv.json
@@ -20,10 +20,8 @@
"Upload cancelled." : "Augšupielāde ir atcelta.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.",
"{new_name} already exists" : "{new_name} jau eksistē",
- "Share" : "Dalīties",
"Delete" : "Dzēst",
"Unshare" : "Pārtraukt dalīšanos",
- "Delete permanently" : "Dzēst pavisam",
"Rename" : "Pārsaukt",
"Pending" : "Gaida savu kārtu",
"Error" : "Kļūda",
diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js
index 57a717ceaf6..218d014f8de 100644
--- a/apps/files/l10n/mk.js
+++ b/apps/files/l10n/mk.js
@@ -32,10 +32,8 @@ OC.L10N.register(
"{new_name} already exists" : "{new_name} веќе постои",
"Could not create file" : "Не множам да креирам датотека",
"Could not create folder" : "Не можам да креирам папка",
- "Share" : "Сподели",
"Delete" : "Избриши",
"Unshare" : "Не споделувај",
- "Delete permanently" : "Трајно избришани",
"Rename" : "Преименувај",
"Pending" : "Чека",
"Error moving file" : "Грешка при префрлање на датотека",
diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json
index 2d3df73a75f..0ff8dd00d87 100644
--- a/apps/files/l10n/mk.json
+++ b/apps/files/l10n/mk.json
@@ -30,10 +30,8 @@
"{new_name} already exists" : "{new_name} веќе постои",
"Could not create file" : "Не множам да креирам датотека",
"Could not create folder" : "Не можам да креирам папка",
- "Share" : "Сподели",
"Delete" : "Избриши",
"Unshare" : "Не споделувај",
- "Delete permanently" : "Трајно избришани",
"Rename" : "Преименувај",
"Pending" : "Чека",
"Error moving file" : "Грешка при префрлање на датотека",
diff --git a/apps/files/l10n/ms_MY.js b/apps/files/l10n/ms_MY.js
index 50e95b4bca2..a97e955417e 100644
--- a/apps/files/l10n/ms_MY.js
+++ b/apps/files/l10n/ms_MY.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"Failed to write to disk" : "Gagal untuk disimpan",
"Files" : "Fail-fail",
"Upload cancelled." : "Muatnaik dibatalkan.",
- "Share" : "Kongsi",
"Delete" : "Padam",
"Rename" : "Namakan",
"Pending" : "Dalam proses",
diff --git a/apps/files/l10n/ms_MY.json b/apps/files/l10n/ms_MY.json
index 6f085a76a68..8a64b1b7a7b 100644
--- a/apps/files/l10n/ms_MY.json
+++ b/apps/files/l10n/ms_MY.json
@@ -8,7 +8,6 @@
"Failed to write to disk" : "Gagal untuk disimpan",
"Files" : "Fail-fail",
"Upload cancelled." : "Muatnaik dibatalkan.",
- "Share" : "Kongsi",
"Delete" : "Padam",
"Rename" : "Namakan",
"Pending" : "Dalam proses",
diff --git a/apps/files/l10n/nb_NO.js b/apps/files/l10n/nb_NO.js
index d9c59b1bdd7..32f1e97bd27 100644
--- a/apps/files/l10n/nb_NO.js
+++ b/apps/files/l10n/nb_NO.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Klarte ikke å opprette fil",
"Could not create folder" : "Klarte ikke å opprette mappe",
"Error fetching URL" : "Feil ved henting av URL",
- "Share" : "Del",
"Delete" : "Slett",
"Disconnect storage" : "Koble fra lagring",
"Unshare" : "Avslutt deling",
- "Delete permanently" : "Slett permanent",
"Rename" : "Gi nytt navn",
"Pending" : "Ventende",
"Error moving file." : "Feil ved flytting av fil.",
diff --git a/apps/files/l10n/nb_NO.json b/apps/files/l10n/nb_NO.json
index ab3dfc782e6..47cab7d2615 100644
--- a/apps/files/l10n/nb_NO.json
+++ b/apps/files/l10n/nb_NO.json
@@ -44,11 +44,9 @@
"Could not create file" : "Klarte ikke å opprette fil",
"Could not create folder" : "Klarte ikke å opprette mappe",
"Error fetching URL" : "Feil ved henting av URL",
- "Share" : "Del",
"Delete" : "Slett",
"Disconnect storage" : "Koble fra lagring",
"Unshare" : "Avslutt deling",
- "Delete permanently" : "Slett permanent",
"Rename" : "Gi nytt navn",
"Pending" : "Ventende",
"Error moving file." : "Feil ved flytting av fil.",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 75f1e26ec0b..07d4a559685 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Kon bestand niet creëren",
"Could not create folder" : "Kon niet creëren map",
"Error fetching URL" : "Fout bij ophalen URL",
- "Share" : "Delen",
"Delete" : "Verwijderen",
"Disconnect storage" : "Verbinding met opslag verbreken",
"Unshare" : "Stop met delen",
- "Delete permanently" : "Definitief verwijderen",
"Rename" : "Naam wijzigen",
"Pending" : "In behandeling",
"Error moving file." : "Fout bij verplaatsen bestand.",
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 58416264c9a..30551f59cf0 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -44,11 +44,9 @@
"Could not create file" : "Kon bestand niet creëren",
"Could not create folder" : "Kon niet creëren map",
"Error fetching URL" : "Fout bij ophalen URL",
- "Share" : "Delen",
"Delete" : "Verwijderen",
"Disconnect storage" : "Verbinding met opslag verbreken",
"Unshare" : "Stop met delen",
- "Delete permanently" : "Definitief verwijderen",
"Rename" : "Naam wijzigen",
"Pending" : "In behandeling",
"Error moving file." : "Fout bij verplaatsen bestand.",
diff --git a/apps/files/l10n/nn_NO.js b/apps/files/l10n/nn_NO.js
index 6d17a9458c5..5889930e7f1 100644
--- a/apps/files/l10n/nn_NO.js
+++ b/apps/files/l10n/nn_NO.js
@@ -26,10 +26,8 @@ OC.L10N.register(
"Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.",
"{new_name} already exists" : "{new_name} finst allereie",
- "Share" : "Del",
"Delete" : "Slett",
"Unshare" : "Udel",
- "Delete permanently" : "Slett for godt",
"Rename" : "Endra namn",
"Pending" : "Under vegs",
"Error moving file" : "Feil ved flytting av fil",
diff --git a/apps/files/l10n/nn_NO.json b/apps/files/l10n/nn_NO.json
index 4008ab0778c..3f3026655d8 100644
--- a/apps/files/l10n/nn_NO.json
+++ b/apps/files/l10n/nn_NO.json
@@ -24,10 +24,8 @@
"Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.",
"{new_name} already exists" : "{new_name} finst allereie",
- "Share" : "Del",
"Delete" : "Slett",
"Unshare" : "Udel",
- "Delete permanently" : "Slett for godt",
"Rename" : "Endra namn",
"Pending" : "Under vegs",
"Error moving file" : "Feil ved flytting av fil",
diff --git a/apps/files/l10n/oc.js b/apps/files/l10n/oc.js
index deb447f57d9..4d427297080 100644
--- a/apps/files/l10n/oc.js
+++ b/apps/files/l10n/oc.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"Files" : "Fichièrs",
"Upload cancelled." : "Amontcargar anullat.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. ",
- "Share" : "Parteja",
"Delete" : "Escafa",
"Unshare" : "Pas partejador",
"Rename" : "Torna nomenar",
diff --git a/apps/files/l10n/oc.json b/apps/files/l10n/oc.json
index 994cb0055ea..4f316b62e9e 100644
--- a/apps/files/l10n/oc.json
+++ b/apps/files/l10n/oc.json
@@ -8,7 +8,6 @@
"Files" : "Fichièrs",
"Upload cancelled." : "Amontcargar anullat.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. ",
- "Share" : "Parteja",
"Delete" : "Escafa",
"Unshare" : "Pas partejador",
"Rename" : "Torna nomenar",
diff --git a/apps/files/l10n/pa.js b/apps/files/l10n/pa.js
index 84216361960..ec6847929e3 100644
--- a/apps/files/l10n/pa.js
+++ b/apps/files/l10n/pa.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Unknown error" : "ਅਣਜਾਣ ਗਲਤੀ",
"Files" : "ਫਾਇਲਾਂ",
- "Share" : "ਸਾਂਝਾ ਕਰੋ",
"Delete" : "ਹਟਾਓ",
"Rename" : "ਨਾਂ ਬਦਲੋ",
"Error" : "ਗਲਤੀ",
diff --git a/apps/files/l10n/pa.json b/apps/files/l10n/pa.json
index b429b4ab19b..b8c98948c73 100644
--- a/apps/files/l10n/pa.json
+++ b/apps/files/l10n/pa.json
@@ -1,7 +1,6 @@
{ "translations": {
"Unknown error" : "ਅਣਜਾਣ ਗਲਤੀ",
"Files" : "ਫਾਇਲਾਂ",
- "Share" : "ਸਾਂਝਾ ਕਰੋ",
"Delete" : "ਹਟਾਓ",
"Rename" : "ਨਾਂ ਬਦਲੋ",
"Error" : "ਗਲਤੀ",
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index 1a0fb57ec30..da1966b203c 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Nie można utworzyć pliku",
"Could not create folder" : "Nie można utworzyć folderu",
"Error fetching URL" : "Błąd przy pobieraniu adresu URL",
- "Share" : "Udostępnij",
"Delete" : "Usuń",
"Disconnect storage" : "Odłącz magazyn",
"Unshare" : "Zatrzymaj współdzielenie",
- "Delete permanently" : "Trwale usuń",
"Rename" : "Zmień nazwę",
"Pending" : "Oczekujące",
"Error moving file." : "Błąd podczas przenoszenia pliku.",
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index b073141e3d1..447145f221c 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -44,11 +44,9 @@
"Could not create file" : "Nie można utworzyć pliku",
"Could not create folder" : "Nie można utworzyć folderu",
"Error fetching URL" : "Błąd przy pobieraniu adresu URL",
- "Share" : "Udostępnij",
"Delete" : "Usuń",
"Disconnect storage" : "Odłącz magazyn",
"Unshare" : "Zatrzymaj współdzielenie",
- "Delete permanently" : "Trwale usuń",
"Rename" : "Zmień nazwę",
"Pending" : "Oczekujące",
"Error moving file." : "Błąd podczas przenoszenia pliku.",
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index b4c97887362..ede4f2521f3 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Não foi possível criar o arquivo",
"Could not create folder" : "Não foi possível criar a pasta",
"Error fetching URL" : "Erro ao buscar URL",
- "Share" : "Compartilhar",
"Delete" : "Excluir",
"Disconnect storage" : "Desconectar armazenagem",
"Unshare" : "Descompartilhar",
- "Delete permanently" : "Excluir permanentemente",
"Rename" : "Renomear",
"Pending" : "Pendente",
"Error moving file." : "Erro movendo o arquivo.",
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index 8c303c234ae..10faf5ce8c8 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -44,11 +44,9 @@
"Could not create file" : "Não foi possível criar o arquivo",
"Could not create folder" : "Não foi possível criar a pasta",
"Error fetching URL" : "Erro ao buscar URL",
- "Share" : "Compartilhar",
"Delete" : "Excluir",
"Disconnect storage" : "Desconectar armazenagem",
"Unshare" : "Descompartilhar",
- "Delete permanently" : "Excluir permanentemente",
"Rename" : "Renomear",
"Pending" : "Pendente",
"Error moving file." : "Erro movendo o arquivo.",
diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js
index 2ce2038d661..d43720f0e8a 100644
--- a/apps/files/l10n/pt_PT.js
+++ b/apps/files/l10n/pt_PT.js
@@ -46,12 +46,10 @@ OC.L10N.register(
"Could not create file" : "Não pôde criar ficheiro",
"Could not create folder" : "Não pôde criar pasta",
"Error fetching URL" : "Erro ao obter URL",
- "Share" : "Compartilhar",
+ "Rename" : "Renomear",
"Delete" : "Apagar",
"Disconnect storage" : "Desconete o armazenamento",
"Unshare" : "Deixar de partilhar",
- "Delete permanently" : "Apagar Para Sempre",
- "Rename" : "Renomear",
"Pending" : "Pendente",
"Error moving file." : "Erro a mover o ficheiro.",
"Error moving file" : "Erro ao mover o ficheiro",
diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json
index 4be9e4306dc..e735114678b 100644
--- a/apps/files/l10n/pt_PT.json
+++ b/apps/files/l10n/pt_PT.json
@@ -44,12 +44,10 @@
"Could not create file" : "Não pôde criar ficheiro",
"Could not create folder" : "Não pôde criar pasta",
"Error fetching URL" : "Erro ao obter URL",
- "Share" : "Compartilhar",
+ "Rename" : "Renomear",
"Delete" : "Apagar",
"Disconnect storage" : "Desconete o armazenamento",
"Unshare" : "Deixar de partilhar",
- "Delete permanently" : "Apagar Para Sempre",
- "Rename" : "Renomear",
"Pending" : "Pendente",
"Error moving file." : "Erro a mover o ficheiro.",
"Error moving file" : "Erro ao mover o ficheiro",
diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js
index 2b3e662aafd..fb242789296 100644
--- a/apps/files/l10n/ro.js
+++ b/apps/files/l10n/ro.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Nu s-a putut crea fisierul",
"Could not create folder" : "Nu s-a putut crea folderul",
"Error fetching URL" : "Eroare încarcare URL",
- "Share" : "Partajează",
"Delete" : "Șterge",
"Disconnect storage" : "Stocare deconectata",
"Unshare" : "Anulare",
- "Delete permanently" : "Șterge permanent",
"Rename" : "Redenumește",
"Pending" : "În așteptare",
"Error moving file." : "Eroare la mutarea fișierului.",
diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json
index c0e85b4b916..5ebb191e2e1 100644
--- a/apps/files/l10n/ro.json
+++ b/apps/files/l10n/ro.json
@@ -44,11 +44,9 @@
"Could not create file" : "Nu s-a putut crea fisierul",
"Could not create folder" : "Nu s-a putut crea folderul",
"Error fetching URL" : "Eroare încarcare URL",
- "Share" : "Partajează",
"Delete" : "Șterge",
"Disconnect storage" : "Stocare deconectata",
"Unshare" : "Anulare",
- "Delete permanently" : "Șterge permanent",
"Rename" : "Redenumește",
"Pending" : "În așteptare",
"Error moving file." : "Eroare la mutarea fișierului.",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index cd982266155..7d3f3dd8a85 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Не удалось создать файл",
"Could not create folder" : "Не удалось создать каталог",
"Error fetching URL" : "Ошибка получения URL",
- "Share" : "Открыть доступ",
"Delete" : "Удалить",
"Disconnect storage" : "Отсоединиться от хранилища",
"Unshare" : "Закрыть доступ",
- "Delete permanently" : "Удалить окончательно",
"Rename" : "Переименовать",
"Pending" : "Ожидание",
"Error moving file." : "Ошибка перемещения файла.",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 7ac4fb7c3c3..d6a3759b5a0 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -44,11 +44,9 @@
"Could not create file" : "Не удалось создать файл",
"Could not create folder" : "Не удалось создать каталог",
"Error fetching URL" : "Ошибка получения URL",
- "Share" : "Открыть доступ",
"Delete" : "Удалить",
"Disconnect storage" : "Отсоединиться от хранилища",
"Unshare" : "Закрыть доступ",
- "Delete permanently" : "Удалить окончательно",
"Rename" : "Переименовать",
"Pending" : "Ожидание",
"Error moving file." : "Ошибка перемещения файла.",
diff --git a/apps/files/l10n/si_LK.js b/apps/files/l10n/si_LK.js
index 80df02a9ada..fbba973c6c2 100644
--- a/apps/files/l10n/si_LK.js
+++ b/apps/files/l10n/si_LK.js
@@ -11,7 +11,6 @@ OC.L10N.register(
"Files" : "ගොනු",
"Upload cancelled." : "උඩුගත කිරීම අත් හරින්න ලදී",
"File upload is in progress. Leaving the page now will cancel the upload." : "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත",
- "Share" : "බෙදා හදා ගන්න",
"Delete" : "මකා දමන්න",
"Unshare" : "නොබෙදු",
"Rename" : "නැවත නම් කරන්න",
diff --git a/apps/files/l10n/si_LK.json b/apps/files/l10n/si_LK.json
index e66d5c2a1f1..b76adf30052 100644
--- a/apps/files/l10n/si_LK.json
+++ b/apps/files/l10n/si_LK.json
@@ -9,7 +9,6 @@
"Files" : "ගොනු",
"Upload cancelled." : "උඩුගත කිරීම අත් හරින්න ලදී",
"File upload is in progress. Leaving the page now will cancel the upload." : "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත",
- "Share" : "බෙදා හදා ගන්න",
"Delete" : "මකා දමන්න",
"Unshare" : "නොබෙදු",
"Rename" : "නැවත නම් කරන්න",
diff --git a/apps/files/l10n/sk_SK.js b/apps/files/l10n/sk_SK.js
index b29bc7e2c0f..f4f2ecb66ea 100644
--- a/apps/files/l10n/sk_SK.js
+++ b/apps/files/l10n/sk_SK.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Nemožno vytvoriť súbor",
"Could not create folder" : "Nemožno vytvoriť priečinok",
"Error fetching URL" : "Chyba pri načítavaní URL",
- "Share" : "Zdieľať",
"Delete" : "Zmazať",
"Disconnect storage" : "Odpojiť úložisko",
"Unshare" : "Zrušiť zdieľanie",
- "Delete permanently" : "Zmazať trvalo",
"Rename" : "Premenovať",
"Pending" : "Čaká",
"Error moving file." : "Chyba pri presune súboru.",
diff --git a/apps/files/l10n/sk_SK.json b/apps/files/l10n/sk_SK.json
index a61a5ac06ad..ab4e176c9c6 100644
--- a/apps/files/l10n/sk_SK.json
+++ b/apps/files/l10n/sk_SK.json
@@ -44,11 +44,9 @@
"Could not create file" : "Nemožno vytvoriť súbor",
"Could not create folder" : "Nemožno vytvoriť priečinok",
"Error fetching URL" : "Chyba pri načítavaní URL",
- "Share" : "Zdieľať",
"Delete" : "Zmazať",
"Disconnect storage" : "Odpojiť úložisko",
"Unshare" : "Zrušiť zdieľanie",
- "Delete permanently" : "Zmazať trvalo",
"Rename" : "Premenovať",
"Pending" : "Čaká",
"Error moving file." : "Chyba pri presune súboru.",
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index 6a8bcbe68a6..d9dfb5bec46 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Ni mogoče ustvariti datoteke",
"Could not create folder" : "Ni mogoče ustvariti mape",
"Error fetching URL" : "Napaka pridobivanja naslova URL",
- "Share" : "Souporaba",
"Delete" : "Izbriši",
"Disconnect storage" : "Odklopi shrambo",
"Unshare" : "Prekini souporabo",
- "Delete permanently" : "Izbriši dokončno",
"Rename" : "Preimenuj",
"Pending" : "V čakanju ...",
"Error moving file." : "Napaka premikanja datoteke.",
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index c759bd2abfe..a2e28a2e058 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -44,11 +44,9 @@
"Could not create file" : "Ni mogoče ustvariti datoteke",
"Could not create folder" : "Ni mogoče ustvariti mape",
"Error fetching URL" : "Napaka pridobivanja naslova URL",
- "Share" : "Souporaba",
"Delete" : "Izbriši",
"Disconnect storage" : "Odklopi shrambo",
"Unshare" : "Prekini souporabo",
- "Delete permanently" : "Izbriši dokončno",
"Rename" : "Preimenuj",
"Pending" : "V čakanju ...",
"Error moving file." : "Napaka premikanja datoteke.",
diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js
index d85523ba062..00eb892333f 100644
--- a/apps/files/l10n/sq.js
+++ b/apps/files/l10n/sq.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Skedari nuk mund të krijohet",
"Could not create folder" : "I pamundur krijimi i kartelës",
"Error fetching URL" : "Gabim në ngarkimin e URL",
- "Share" : "Ndaj",
"Delete" : "Fshi",
"Disconnect storage" : "Shkëput hapësirën e memorizimit",
"Unshare" : "Hiq ndarjen",
- "Delete permanently" : "Fshi përfundimisht",
"Rename" : "Riemëro",
"Pending" : "Në vijim",
"Error moving file." : "Gabim në lëvizjen e skedarëve.",
diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json
index f15bc950d03..3abc90c7427 100644
--- a/apps/files/l10n/sq.json
+++ b/apps/files/l10n/sq.json
@@ -44,11 +44,9 @@
"Could not create file" : "Skedari nuk mund të krijohet",
"Could not create folder" : "I pamundur krijimi i kartelës",
"Error fetching URL" : "Gabim në ngarkimin e URL",
- "Share" : "Ndaj",
"Delete" : "Fshi",
"Disconnect storage" : "Shkëput hapësirën e memorizimit",
"Unshare" : "Hiq ndarjen",
- "Delete permanently" : "Fshi përfundimisht",
"Rename" : "Riemëro",
"Pending" : "Në vijim",
"Error moving file." : "Gabim në lëvizjen e skedarëve.",
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index a758c833ff5..a9c17d8c7c9 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -19,10 +19,8 @@ OC.L10N.register(
"Upload cancelled." : "Отпремање је прекинуто.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Отпремање датотеке је у току. Ако сада напустите страницу, прекинућете отпремање.",
"{new_name} already exists" : "{new_name} већ постоји",
- "Share" : "Дели",
"Delete" : "Обриши",
"Unshare" : "Укини дељење",
- "Delete permanently" : "Обриши за стално",
"Rename" : "Преименуј",
"Pending" : "На чекању",
"Error" : "Грешка",
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index a68c3f8ad8d..b486c13f640 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -17,10 +17,8 @@
"Upload cancelled." : "Отпремање је прекинуто.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Отпремање датотеке је у току. Ако сада напустите страницу, прекинућете отпремање.",
"{new_name} already exists" : "{new_name} већ постоји",
- "Share" : "Дели",
"Delete" : "Обриши",
"Unshare" : "Укини дељење",
- "Delete permanently" : "Обриши за стално",
"Rename" : "Преименуј",
"Pending" : "На чекању",
"Error" : "Грешка",
diff --git a/apps/files/l10n/sr@latin.js b/apps/files/l10n/sr@latin.js
index 2209b673abd..85fb77f2474 100644
--- a/apps/files/l10n/sr@latin.js
+++ b/apps/files/l10n/sr@latin.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"No file was uploaded" : "Nijedan fajl nije poslat",
"Missing a temporary folder" : "Nedostaje privremena fascikla",
"Files" : "Fajlovi",
- "Share" : "Podeli",
"Delete" : "Obriši",
"Unshare" : "Ukljoni deljenje",
"Rename" : "Preimenij",
diff --git a/apps/files/l10n/sr@latin.json b/apps/files/l10n/sr@latin.json
index f130138bc55..8c91d7a58b3 100644
--- a/apps/files/l10n/sr@latin.json
+++ b/apps/files/l10n/sr@latin.json
@@ -5,7 +5,6 @@
"No file was uploaded" : "Nijedan fajl nije poslat",
"Missing a temporary folder" : "Nedostaje privremena fascikla",
"Files" : "Fajlovi",
- "Share" : "Podeli",
"Delete" : "Obriši",
"Unshare" : "Ukljoni deljenje",
"Rename" : "Preimenij",
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index 234731fec2b..fddc56639d6 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -42,10 +42,8 @@ OC.L10N.register(
"Could not create file" : "Kunde ej skapa fil",
"Could not create folder" : "Kunde ej skapa katalog",
"Error fetching URL" : "Fel vid hämtning av URL",
- "Share" : "Dela",
"Delete" : "Radera",
"Unshare" : "Sluta dela",
- "Delete permanently" : "Radera permanent",
"Rename" : "Byt namn",
"Pending" : "Väntar",
"Error moving file." : "Fel vid flytt av fil.",
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index 36aa5d5984f..1fca280c405 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -40,10 +40,8 @@
"Could not create file" : "Kunde ej skapa fil",
"Could not create folder" : "Kunde ej skapa katalog",
"Error fetching URL" : "Fel vid hämtning av URL",
- "Share" : "Dela",
"Delete" : "Radera",
"Unshare" : "Sluta dela",
- "Delete permanently" : "Radera permanent",
"Rename" : "Byt namn",
"Pending" : "Väntar",
"Error moving file." : "Fel vid flytt av fil.",
diff --git a/apps/files/l10n/ta_LK.js b/apps/files/l10n/ta_LK.js
index 2014dd6ceb9..4dfdcd82faf 100644
--- a/apps/files/l10n/ta_LK.js
+++ b/apps/files/l10n/ta_LK.js
@@ -13,7 +13,6 @@ OC.L10N.register(
"Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது",
"File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.",
"{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது",
- "Share" : "பகிர்வு",
"Delete" : "நீக்குக",
"Unshare" : "பகிரப்படாதது",
"Rename" : "பெயர்மாற்றம்",
diff --git a/apps/files/l10n/ta_LK.json b/apps/files/l10n/ta_LK.json
index c8426f9eb32..ec79b1713e9 100644
--- a/apps/files/l10n/ta_LK.json
+++ b/apps/files/l10n/ta_LK.json
@@ -11,7 +11,6 @@
"Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது",
"File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.",
"{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது",
- "Share" : "பகிர்வு",
"Delete" : "நீக்குக",
"Unshare" : "பகிரப்படாதது",
"Rename" : "பெயர்மாற்றம்",
diff --git a/apps/files/l10n/te.js b/apps/files/l10n/te.js
index 2d0a3ed3d9a..ef04ca24f80 100644
--- a/apps/files/l10n/te.js
+++ b/apps/files/l10n/te.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"files",
{
"Delete" : "తొలగించు",
- "Delete permanently" : "శాశ్వతంగా తొలగించు",
"Error" : "పొరపాటు",
"Name" : "పేరు",
"Size" : "పరిమాణం",
diff --git a/apps/files/l10n/te.json b/apps/files/l10n/te.json
index efa952f212a..c263e796d61 100644
--- a/apps/files/l10n/te.json
+++ b/apps/files/l10n/te.json
@@ -1,6 +1,5 @@
{ "translations": {
"Delete" : "తొలగించు",
- "Delete permanently" : "శాశ్వతంగా తొలగించు",
"Error" : "పొరపాటు",
"Name" : "పేరు",
"Size" : "పరిమాణం",
diff --git a/apps/files/l10n/th_TH.js b/apps/files/l10n/th_TH.js
index 039d4562a7a..8da4193704d 100644
--- a/apps/files/l10n/th_TH.js
+++ b/apps/files/l10n/th_TH.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Upload cancelled." : "การอัพโหลดถูกยกเลิก",
"File upload is in progress. Leaving the page now will cancel the upload." : "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก",
"{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ",
- "Share" : "แชร์",
"Delete" : "ลบ",
"Unshare" : "ยกเลิกการแชร์",
"Rename" : "เปลี่ยนชื่อ",
diff --git a/apps/files/l10n/th_TH.json b/apps/files/l10n/th_TH.json
index bd4afed4aec..90fd9c7bd3d 100644
--- a/apps/files/l10n/th_TH.json
+++ b/apps/files/l10n/th_TH.json
@@ -18,7 +18,6 @@
"Upload cancelled." : "การอัพโหลดถูกยกเลิก",
"File upload is in progress. Leaving the page now will cancel the upload." : "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก",
"{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ",
- "Share" : "แชร์",
"Delete" : "ลบ",
"Unshare" : "ยกเลิกการแชร์",
"Rename" : "เปลี่ยนชื่อ",
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 81eaf632112..be5bebd6a24 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Dosya oluşturulamadı",
"Could not create folder" : "Klasör oluşturulamadı",
"Error fetching URL" : "Adres getirilirken hata",
- "Share" : "Paylaş",
"Delete" : "Sil",
"Disconnect storage" : "Depolama bağlantısını kes",
"Unshare" : "Paylaşmayı Kaldır",
- "Delete permanently" : "Kalıcı olarak sil",
"Rename" : "Yeniden adlandır",
"Pending" : "Bekliyor",
"Error moving file." : "Dosya taşıma hatası.",
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index 41ba10c4e7f..6c03db5090b 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -44,11 +44,9 @@
"Could not create file" : "Dosya oluşturulamadı",
"Could not create folder" : "Klasör oluşturulamadı",
"Error fetching URL" : "Adres getirilirken hata",
- "Share" : "Paylaş",
"Delete" : "Sil",
"Disconnect storage" : "Depolama bağlantısını kes",
"Unshare" : "Paylaşmayı Kaldır",
- "Delete permanently" : "Kalıcı olarak sil",
"Rename" : "Yeniden adlandır",
"Pending" : "Bekliyor",
"Error moving file." : "Dosya taşıma hatası.",
diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js
index cfa6db88c4a..c3d9d839c2f 100644
--- a/apps/files/l10n/ug.js
+++ b/apps/files/l10n/ug.js
@@ -12,10 +12,8 @@ OC.L10N.register(
"Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.",
"File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.",
"{new_name} already exists" : "{new_name} مەۋجۇت",
- "Share" : "ھەمبەھىر",
"Delete" : "ئۆچۈر",
"Unshare" : "ھەمبەھىرلىمە",
- "Delete permanently" : "مەڭگۈلۈك ئۆچۈر",
"Rename" : "ئات ئۆزگەرت",
"Pending" : "كۈتۈۋاتىدۇ",
"Error" : "خاتالىق",
diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json
index 19c010492e7..b0a267e31e8 100644
--- a/apps/files/l10n/ug.json
+++ b/apps/files/l10n/ug.json
@@ -10,10 +10,8 @@
"Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.",
"File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.",
"{new_name} already exists" : "{new_name} مەۋجۇت",
- "Share" : "ھەمبەھىر",
"Delete" : "ئۆچۈر",
"Unshare" : "ھەمبەھىرلىمە",
- "Delete permanently" : "مەڭگۈلۈك ئۆچۈر",
"Rename" : "ئات ئۆزگەرت",
"Pending" : "كۈتۈۋاتىدۇ",
"Error" : "خاتالىق",
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index b2bbbcbfc4c..14ca3192469 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "Не вдалося створити файл",
"Could not create folder" : "Не вдалося створити теку",
"Error fetching URL" : "Помилка отримання URL",
- "Share" : "Поділитися",
"Delete" : "Видалити",
"Disconnect storage" : "Від’єднати сховище",
"Unshare" : "Закрити доступ",
- "Delete permanently" : "Видалити назавжди",
"Rename" : "Перейменувати",
"Pending" : "Очікування",
"Error moving file." : "Помилка переміщення файлу.",
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index 6c8a5be4f5c..d1340773365 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -44,11 +44,9 @@
"Could not create file" : "Не вдалося створити файл",
"Could not create folder" : "Не вдалося створити теку",
"Error fetching URL" : "Помилка отримання URL",
- "Share" : "Поділитися",
"Delete" : "Видалити",
"Disconnect storage" : "Від’єднати сховище",
"Unshare" : "Закрити доступ",
- "Delete permanently" : "Видалити назавжди",
"Rename" : "Перейменувати",
"Pending" : "Очікування",
"Error moving file." : "Помилка переміщення файлу.",
diff --git a/apps/files/l10n/ur_PK.js b/apps/files/l10n/ur_PK.js
index c0be28aa0d4..21c0da147a2 100644
--- a/apps/files/l10n/ur_PK.js
+++ b/apps/files/l10n/ur_PK.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"files",
{
"Unknown error" : "غیر معروف خرابی",
- "Share" : "تقسیم",
"Delete" : "حذف کریں",
"Unshare" : "شئیرنگ ختم کریں",
"Error" : "ایرر",
diff --git a/apps/files/l10n/ur_PK.json b/apps/files/l10n/ur_PK.json
index 1ceef01a442..744f90a3b99 100644
--- a/apps/files/l10n/ur_PK.json
+++ b/apps/files/l10n/ur_PK.json
@@ -1,6 +1,5 @@
{ "translations": {
"Unknown error" : "غیر معروف خرابی",
- "Share" : "تقسیم",
"Delete" : "حذف کریں",
"Unshare" : "شئیرنگ ختم کریں",
"Error" : "ایرر",
diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js
index 744f37082fe..c718d000f29 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -36,10 +36,8 @@ OC.L10N.register(
"{new_name} already exists" : "{new_name} đã tồn tại",
"Could not create file" : "Không thể tạo file",
"Could not create folder" : "Không thể tạo thư mục",
- "Share" : "Chia sẻ",
"Delete" : "Xóa",
"Unshare" : "Bỏ chia sẻ",
- "Delete permanently" : "Xóa vĩnh vễn",
"Rename" : "Sửa tên",
"Pending" : "Đang chờ",
"Error moving file" : "Lỗi di chuyển tập tin",
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index 32e953b68e1..8e3273c751c 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -34,10 +34,8 @@
"{new_name} already exists" : "{new_name} đã tồn tại",
"Could not create file" : "Không thể tạo file",
"Could not create folder" : "Không thể tạo thư mục",
- "Share" : "Chia sẻ",
"Delete" : "Xóa",
"Unshare" : "Bỏ chia sẻ",
- "Delete permanently" : "Xóa vĩnh vễn",
"Rename" : "Sửa tên",
"Pending" : "Đang chờ",
"Error moving file" : "Lỗi di chuyển tập tin",
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 502c673764e..95fb863e320 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -44,11 +44,9 @@ OC.L10N.register(
"Could not create file" : "不能创建文件",
"Could not create folder" : "不能创建文件夹",
"Error fetching URL" : "获取URL出错",
- "Share" : "分享",
"Delete" : "删除",
"Disconnect storage" : "断开储存连接",
"Unshare" : "取消共享",
- "Delete permanently" : "永久删除",
"Rename" : "重命名",
"Pending" : "等待",
"Error moving file." : "移动文件出错。",
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index a0244f1965a..1368060a9d4 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -42,11 +42,9 @@
"Could not create file" : "不能创建文件",
"Could not create folder" : "不能创建文件夹",
"Error fetching URL" : "获取URL出错",
- "Share" : "分享",
"Delete" : "删除",
"Disconnect storage" : "断开储存连接",
"Unshare" : "取消共享",
- "Delete permanently" : "永久删除",
"Rename" : "重命名",
"Pending" : "等待",
"Error moving file." : "移动文件出错。",
diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js
index e3e2aec65a0..17c47da37bf 100644
--- a/apps/files/l10n/zh_HK.js
+++ b/apps/files/l10n/zh_HK.js
@@ -4,7 +4,6 @@ OC.L10N.register(
"Unknown error" : "不明錯誤",
"Files" : "文件",
"All files" : "所有文件",
- "Share" : "分享",
"Delete" : "刪除",
"Unshare" : "取消分享",
"Rename" : "重新命名",
diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json
index da0632f0882..56af7599e2e 100644
--- a/apps/files/l10n/zh_HK.json
+++ b/apps/files/l10n/zh_HK.json
@@ -2,7 +2,6 @@
"Unknown error" : "不明錯誤",
"Files" : "文件",
"All files" : "所有文件",
- "Share" : "分享",
"Delete" : "刪除",
"Unshare" : "取消分享",
"Rename" : "重新命名",
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 73e17fa47fc..17998c7c8d7 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -46,11 +46,9 @@ OC.L10N.register(
"Could not create file" : "無法建立檔案",
"Could not create folder" : "無法建立資料夾",
"Error fetching URL" : "抓取 URL 發生錯誤",
- "Share" : "分享",
"Delete" : "刪除",
"Disconnect storage" : "斷開儲存空間連接",
"Unshare" : "取消分享",
- "Delete permanently" : "永久刪除",
"Rename" : "重新命名",
"Pending" : "等候中",
"Error moving file." : "移動檔案發生錯誤",
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index f55b936a40f..7ce3ca7bc6a 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -44,11 +44,9 @@
"Could not create file" : "無法建立檔案",
"Could not create folder" : "無法建立資料夾",
"Error fetching URL" : "抓取 URL 發生錯誤",
- "Share" : "分享",
"Delete" : "刪除",
"Disconnect storage" : "斷開儲存空間連接",
"Unshare" : "取消分享",
- "Delete permanently" : "永久刪除",
"Rename" : "重新命名",
"Pending" : "等候中",
"Error moving file." : "移動檔案發生錯誤",
diff --git a/apps/files/lib/helper.php b/apps/files/lib/helper.php
index aa5a2f8c68a..97b9d8e7044 100644
--- a/apps/files/lib/helper.php
+++ b/apps/files/lib/helper.php
@@ -82,7 +82,7 @@ class Helper
public static function compareTimestamp(FileInfo $a, FileInfo $b) {
$aTime = $a->getMTime();
$bTime = $b->getMTime();
- return $aTime - $bTime;
+ return ($aTime < $bTime) ? -1 : 1;
}
/**
diff --git a/apps/files/templates/fileexists.html b/apps/files/templates/fileexists.html
index 79beccef3e5..5360a7c8e8f 100644
--- a/apps/files/templates/fileexists.html
+++ b/apps/files/templates/fileexists.html
@@ -20,6 +20,7 @@
<span class="svg icon"></span>
<div class="mtime"></div>
<div class="size"></div>
+ <div class="message"></div>
</div>
</div>
</div>
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index b52effb1e78..222a996aae3 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -15,5 +15,6 @@
<input type="hidden" name="encryptedFiles" id="encryptedFiles" value="<?php $_['encryptedFiles'] ? p('1') : p('0'); ?>" />
<input type="hidden" name="encryptedInitStatus" id="encryptionInitStatus" value="<?php p($_['encryptionInitStatus']) ?>" />
<input type="hidden" name="mailNotificationEnabled" id="mailNotificationEnabled" value="<?php p($_['mailNotificationEnabled']) ?>" />
+<input type="hidden" name="mailPublicNotificationEnabled" id="mailPublicNotificationEnabled" value="<?php p($_['mailPublicNotificationEnabled']) ?>" />
<input type="hidden" name="allowShareWithLink" id="allowShareWithLink" value="<?php p($_['allowShareWithLink']) ?>" />
<?php endif;
diff --git a/apps/files/tests/helper.php b/apps/files/tests/helper.php
index da902f4f78a..1b7c8eef43a 100644
--- a/apps/files/tests/helper.php
+++ b/apps/files/tests/helper.php
@@ -33,10 +33,10 @@ class Test_Files_Helper extends \Test\TestCase {
*/
private function getTestFileList() {
return array(
- self::makeFileInfo('a.txt', 4, 1000),
+ self::makeFileInfo('a.txt', 4, 2.3 * pow(10, 9)),
self::makeFileInfo('q.txt', 5, 150),
self::makeFileInfo('subdir2', 87, 128, true),
- self::makeFileInfo('b.txt', 166, 800),
+ self::makeFileInfo('b.txt', 2.2 * pow(10, 9), 800),
self::makeFileInfo('o.txt', 12, 100),
self::makeFileInfo('subdir', 88, 125, true),
);
diff --git a/apps/files/tests/js/fileactionsSpec.js b/apps/files/tests/js/fileactionsSpec.js
index f5f18a45a75..828aec9b6b9 100644
--- a/apps/files/tests/js/fileactionsSpec.js
+++ b/apps/files/tests/js/fileactionsSpec.js
@@ -193,6 +193,54 @@ describe('OCA.Files.FileActions tests', function() {
context = actionStub.getCall(0).args[1];
expect(context.dir).toEqual('/somepath');
});
+ describe('custom rendering', function() {
+ var $tr;
+ beforeEach(function() {
+ var fileData = {
+ id: 18,
+ type: 'file',
+ name: 'testName.txt',
+ mimetype: 'text/plain',
+ size: '1234',
+ etag: 'a01234c',
+ mtime: '123456'
+ };
+ $tr = fileList.add(fileData);
+ });
+ it('regular function', function() {
+ var actionStub = sinon.stub();
+ FileActions.registerAction({
+ name: 'Test',
+ displayName: '',
+ mime: 'all',
+ permissions: OC.PERMISSION_READ,
+ render: function(actionSpec, isDefault, context) {
+ expect(actionSpec.name).toEqual('Test');
+ expect(actionSpec.displayName).toEqual('');
+ expect(actionSpec.permissions).toEqual(OC.PERMISSION_READ);
+ expect(actionSpec.mime).toEqual('all');
+ expect(isDefault).toEqual(false);
+
+ expect(context.fileList).toEqual(fileList);
+ expect(context.$file[0]).toEqual($tr[0]);
+
+ var $customEl = $('<a href="#"><span>blabli</span><span>blabla</span></a>');
+ $tr.find('td:first').append($customEl);
+ return $customEl;
+ },
+ actionHandler: actionStub
+ });
+ FileActions.display($tr.find('td.filename'), true, fileList);
+
+ var $actionEl = $tr.find('td:first .action-test');
+ expect($actionEl.length).toEqual(1);
+ expect($actionEl.hasClass('action')).toEqual(true);
+
+ $actionEl.click();
+ expect(actionStub.calledOnce).toEqual(true);
+ expect(actionStub.getCall(0).args[0]).toEqual('testName.txt');
+ });
+ });
describe('merging', function() {
var $tr;
beforeEach(function() {
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index d7a1433485d..3ca41fbae7d 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -968,8 +968,8 @@ describe('OCA.Files.FileList tests', function() {
name: 'testFile.txt'
};
var $tr = fileList.add(fileData);
- var $td = $tr.find('td.filename');
- expect(OC.TestUtil.getImageUrl($td)).toEqual(OC.webroot + '/core/img/filetypes/file.svg');
+ var $imgDiv = $tr.find('td.filename .thumbnail');
+ expect(OC.TestUtil.getImageUrl($imgDiv)).toEqual(OC.webroot + '/core/img/filetypes/file.svg');
expect(previewLoadStub.notCalled).toEqual(true);
});
it('renders default icon for dir when none provided and no preview is available', function() {
@@ -978,8 +978,8 @@ describe('OCA.Files.FileList tests', function() {
name: 'test dir'
};
var $tr = fileList.add(fileData);
- var $td = $tr.find('td.filename');
- expect(OC.TestUtil.getImageUrl($td)).toEqual(OC.webroot + '/core/img/filetypes/folder.svg');
+ var $imgDiv = $tr.find('td.filename .thumbnail');
+ expect(OC.TestUtil.getImageUrl($imgDiv)).toEqual(OC.webroot + '/core/img/filetypes/folder.svg');
expect(previewLoadStub.notCalled).toEqual(true);
});
it('renders provided icon for file when provided', function() {
@@ -989,8 +989,8 @@ describe('OCA.Files.FileList tests', function() {
icon: OC.webroot + '/core/img/filetypes/application-pdf.svg'
};
var $tr = fileList.add(fileData);
- var $td = $tr.find('td.filename');
- expect(OC.TestUtil.getImageUrl($td)).toEqual(OC.webroot + '/core/img/filetypes/application-pdf.svg');
+ var $imgDiv = $tr.find('td.filename .thumbnail');
+ expect(OC.TestUtil.getImageUrl($imgDiv)).toEqual(OC.webroot + '/core/img/filetypes/application-pdf.svg');
expect(previewLoadStub.notCalled).toEqual(true);
});
it('renders preview when no icon was provided and preview is available', function() {
@@ -1001,11 +1001,11 @@ describe('OCA.Files.FileList tests', function() {
};
var $tr = fileList.add(fileData);
var $td = $tr.find('td.filename');
- expect(OC.TestUtil.getImageUrl($td)).toEqual(OC.webroot + '/core/img/filetypes/file.svg');
+ expect(OC.TestUtil.getImageUrl($td.find('.thumbnail'))).toEqual(OC.webroot + '/core/img/filetypes/file.svg');
expect(previewLoadStub.calledOnce).toEqual(true);
// third argument is callback
previewLoadStub.getCall(0).args[0].callback(OC.webroot + '/somepath.png');
- expect(OC.TestUtil.getImageUrl($td)).toEqual(OC.webroot + '/somepath.png');
+ expect(OC.TestUtil.getImageUrl($td.find('.thumbnail'))).toEqual(OC.webroot + '/somepath.png');
});
it('renders default file type icon when no icon was provided and no preview is available', function() {
var fileData = {
@@ -1014,8 +1014,8 @@ describe('OCA.Files.FileList tests', function() {
isPreviewAvailable: false
};
var $tr = fileList.add(fileData);
- var $td = $tr.find('td.filename');
- expect(OC.TestUtil.getImageUrl($td)).toEqual(OC.webroot + '/core/img/filetypes/file.svg');
+ var $imgDiv = $tr.find('td.filename .thumbnail');
+ expect(OC.TestUtil.getImageUrl($imgDiv)).toEqual(OC.webroot + '/core/img/filetypes/file.svg');
expect(previewLoadStub.notCalled).toEqual(true);
});
});
diff --git a/apps/files/triggerupdate.php b/apps/files/triggerupdate.php
deleted file mode 100644
index 3f85da9913b..00000000000
--- a/apps/files/triggerupdate.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-require_once __DIR__ . '/../../lib/base.php';
-
-if (OC::$CLI) {
- if (count($argv) === 2) {
- $file = $argv[1];
- list(, $user) = explode('/', $file);
- OCP\JSON::checkUserExists($user);
- OC_Util::setupFS($user);
- $view = new \OC\Files\View('');
- /**
- * @var \OC\Files\Storage\Storage $storage
- */
- list($storage, $internalPath) = $view->resolvePath($file);
- $watcher = $storage->getWatcher($internalPath);
- $watcher->checkUpdate($internalPath);
- } else {
- echo "Usage: php triggerupdate.php /path/to/file\n";
- }
-} else {
- echo "This script can be run from the command line only\n";
-}
diff --git a/apps/files_encryption/ajax/adminrecovery.php b/apps/files_encryption/ajax/adminrecovery.php
index 684fd51ae13..503c15b53a9 100644
--- a/apps/files_encryption/ajax/adminrecovery.php
+++ b/apps/files_encryption/ajax/adminrecovery.php
@@ -7,7 +7,8 @@
*
* Script to handle admin settings for encrypted key recovery
*/
-use OCA\Encryption;
+
+use OCA\Files_Encryption\Helper;
\OCP\JSON::checkAdminUser();
\OCP\JSON::checkAppEnabled('files_encryption');
@@ -42,7 +43,7 @@ $recoveryKeyId = \OC::$server->getAppConfig()->getValue('files_encryption', 'rec
if (isset($_POST['adminEnableRecovery']) && $_POST['adminEnableRecovery'] === '1') {
- $return = \OCA\Encryption\Helper::adminEnableRecovery($recoveryKeyId, $_POST['recoveryPassword']);
+ $return = Helper::adminEnableRecovery($recoveryKeyId, $_POST['recoveryPassword']);
// Return success or failure
if ($return) {
@@ -56,7 +57,7 @@ if (isset($_POST['adminEnableRecovery']) && $_POST['adminEnableRecovery'] === '1
isset($_POST['adminEnableRecovery'])
&& '0' === $_POST['adminEnableRecovery']
) {
- $return = \OCA\Encryption\Helper::adminDisableRecovery($_POST['recoveryPassword']);
+ $return = Helper::adminDisableRecovery($_POST['recoveryPassword']);
if ($return) {
$successMessage = $l->t('Recovery key successfully disabled');
diff --git a/apps/files_encryption/ajax/changeRecoveryPassword.php b/apps/files_encryption/ajax/changeRecoveryPassword.php
index 01b76a969b6..3d31b12af7c 100644
--- a/apps/files_encryption/ajax/changeRecoveryPassword.php
+++ b/apps/files_encryption/ajax/changeRecoveryPassword.php
@@ -9,8 +9,6 @@
*
*/
-use OCA\Encryption;
-
\OCP\JSON::checkAdminUser();
\OCP\JSON::checkAppEnabled('files_encryption');
\OCP\JSON::callCheck();
@@ -49,21 +47,21 @@ if ($_POST['newPassword'] !== $_POST['confirmPassword']) {
}
$view = new \OC\Files\View('/');
-$util = new \OCA\Encryption\Util(new \OC\Files\View('/'), \OCP\User::getUser());
+$util = new \OCA\Files_Encryption\Util(new \OC\Files\View('/'), \OCP\User::getUser());
$proxyStatus = \OC_FileProxy::$enabled;
\OC_FileProxy::$enabled = false;
$keyId = $util->getRecoveryKeyId();
-$encryptedRecoveryKey = Encryption\Keymanager::getPrivateSystemKey($keyId);
-$decryptedRecoveryKey = $encryptedRecoveryKey ? \OCA\Encryption\Crypt::decryptPrivateKey($encryptedRecoveryKey, $oldPassword) : false;
+$encryptedRecoveryKey = \OCA\Files_Encryption\Keymanager::getPrivateSystemKey($keyId);
+$decryptedRecoveryKey = $encryptedRecoveryKey ? \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedRecoveryKey, $oldPassword) : false;
if ($decryptedRecoveryKey) {
- $cipher = \OCA\Encryption\Helper::getCipher();
- $encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($decryptedRecoveryKey, $newPassword, $cipher);
+ $cipher = \OCA\Files_Encryption\Helper::getCipher();
+ $encryptedKey = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($decryptedRecoveryKey, $newPassword, $cipher);
if ($encryptedKey) {
- \OCA\Encryption\Keymanager::setPrivateSystemKey($encryptedKey, $keyId);
+ \OCA\Files_Encryption\Keymanager::setPrivateSystemKey($encryptedKey, $keyId);
$return = true;
}
}
diff --git a/apps/files_encryption/ajax/getMigrationStatus.php b/apps/files_encryption/ajax/getMigrationStatus.php
index adceb949044..bb260199b19 100644
--- a/apps/files_encryption/ajax/getMigrationStatus.php
+++ b/apps/files_encryption/ajax/getMigrationStatus.php
@@ -6,7 +6,8 @@
*
* check migration status
*/
-use OCA\Encryption\Util;
+
+use OCA\Files_Encryption\Util;
\OCP\JSON::checkAppEnabled('files_encryption');
diff --git a/apps/files_encryption/ajax/updatePrivateKeyPassword.php b/apps/files_encryption/ajax/updatePrivateKeyPassword.php
index 97da3811a0f..7161b0cff92 100644
--- a/apps/files_encryption/ajax/updatePrivateKeyPassword.php
+++ b/apps/files_encryption/ajax/updatePrivateKeyPassword.php
@@ -9,8 +9,6 @@
*
*/
-use OCA\Encryption;
-
\OCP\JSON::checkLoggedIn();
\OCP\JSON::checkAppEnabled('files_encryption');
\OCP\JSON::callCheck();
@@ -24,7 +22,7 @@ $oldPassword = $_POST['oldPassword'];
$newPassword = $_POST['newPassword'];
$view = new \OC\Files\View('/');
-$session = new \OCA\Encryption\Session($view);
+$session = new \OCA\Files_Encryption\Session($view);
$user = \OCP\User::getUser();
$loginName = \OC::$server->getUserSession()->getLoginName();
@@ -36,14 +34,14 @@ if ($passwordCorrect !== false) {
$proxyStatus = \OC_FileProxy::$enabled;
\OC_FileProxy::$enabled = false;
-$encryptedKey = Encryption\Keymanager::getPrivateKey($view, $user);
-$decryptedKey = $encryptedKey ? \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, $oldPassword) : false;
+$encryptedKey = \OCA\Files_Encryption\Keymanager::getPrivateKey($view, $user);
+$decryptedKey = $encryptedKey ? \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, $oldPassword) : false;
if ($decryptedKey) {
- $cipher = \OCA\Encryption\Helper::getCipher();
- $encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($decryptedKey, $newPassword, $cipher);
+ $cipher = \OCA\Files_Encryption\Helper::getCipher();
+ $encryptedKey = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($decryptedKey, $newPassword, $cipher);
if ($encryptedKey) {
- \OCA\Encryption\Keymanager::setPrivateKey($encryptedKey, $user);
+ \OCA\Files_Encryption\Keymanager::setPrivateKey($encryptedKey, $user);
$session->setPrivateKey($decryptedKey);
$return = true;
}
@@ -61,7 +59,7 @@ if ($decryptedKey) {
// success or failure
if ($return) {
- $session->setInitialized(\OCA\Encryption\Session::INIT_SUCCESSFUL);
+ $session->setInitialized(\OCA\Files_Encryption\Session::INIT_SUCCESSFUL);
\OCP\JSON::success(array('data' => array('message' => $l->t('Private key password successfully updated.'))));
} else {
\OCP\JSON::error(array('data' => array('message' => $errorMessage)));
diff --git a/apps/files_encryption/ajax/userrecovery.php b/apps/files_encryption/ajax/userrecovery.php
index a5b89fa7233..e49fee83a36 100644
--- a/apps/files_encryption/ajax/userrecovery.php
+++ b/apps/files_encryption/ajax/userrecovery.php
@@ -7,8 +7,6 @@
* Script to handle admin settings for encrypted key recovery
*/
-use OCA\Encryption;
-
\OCP\JSON::checkLoggedIn();
\OCP\JSON::checkAppEnabled('files_encryption');
\OCP\JSON::callCheck();
@@ -22,7 +20,7 @@ if (
$userId = \OCP\USER::getUser();
$view = new \OC\Files\View('/');
- $util = new \OCA\Encryption\Util($view, $userId);
+ $util = new \OCA\Files_Encryption\Util($view, $userId);
// Save recovery preference to DB
$return = $util->setRecoveryForUser($_POST['userEnableRecovery']);
diff --git a/apps/files_encryption/appinfo/app.php b/apps/files_encryption/appinfo/app.php
index 8bf422a612e..f2dc63c340d 100644
--- a/apps/files_encryption/appinfo/app.php
+++ b/apps/files_encryption/appinfo/app.php
@@ -1,41 +1,26 @@
<?php
-OC::$CLASSPATH['OCA\Encryption\Crypt'] = 'files_encryption/lib/crypt.php';
-OC::$CLASSPATH['OCA\Encryption\Hooks'] = 'files_encryption/hooks/hooks.php';
-OC::$CLASSPATH['OCA\Encryption\Util'] = 'files_encryption/lib/util.php';
-OC::$CLASSPATH['OCA\Encryption\Keymanager'] = 'files_encryption/lib/keymanager.php';
-OC::$CLASSPATH['OCA\Encryption\Stream'] = 'files_encryption/lib/stream.php';
-OC::$CLASSPATH['OCA\Encryption\Proxy'] = 'files_encryption/lib/proxy.php';
-OC::$CLASSPATH['OCA\Encryption\Session'] = 'files_encryption/lib/session.php';
-OC::$CLASSPATH['OCA\Encryption\Capabilities'] = 'files_encryption/lib/capabilities.php';
-OC::$CLASSPATH['OCA\Encryption\Helper'] = 'files_encryption/lib/helper.php';
-
-// Exceptions
-OC::$CLASSPATH['OCA\Encryption\Exception\MultiKeyEncryptException'] = 'files_encryption/exception/multiKeyEncryptException.php';
-OC::$CLASSPATH['OCA\Encryption\Exception\MultiKeyDecryptException'] = 'files_encryption/exception/multiKeyDecryptException.php';
-OC::$CLASSPATH['OCA\Encryption\Exception\EncryptionException'] = 'files_encryption/exception/encryptionException.php';
-
\OCP\Util::addTranslations('files_encryption');
\OCP\Util::addscript('files_encryption', 'encryption');
\OCP\Util::addscript('files_encryption', 'detect-migration');
if (!OC_Config::getValue('maintenance', false)) {
- OC_FileProxy::register(new OCA\Encryption\Proxy());
+ OC_FileProxy::register(new OCA\Files_Encryption\Proxy());
// User related hooks
- OCA\Encryption\Helper::registerUserHooks();
+ OCA\Files_Encryption\Helper::registerUserHooks();
// Sharing related hooks
- OCA\Encryption\Helper::registerShareHooks();
+ OCA\Files_Encryption\Helper::registerShareHooks();
// Filesystem related hooks
- OCA\Encryption\Helper::registerFilesystemHooks();
+ OCA\Files_Encryption\Helper::registerFilesystemHooks();
// App manager related hooks
- OCA\Encryption\Helper::registerAppHooks();
+ OCA\Files_Encryption\Helper::registerAppHooks();
if(!in_array('crypt', stream_get_wrappers())) {
- stream_wrapper_register('crypt', 'OCA\Encryption\Stream');
+ stream_wrapper_register('crypt', 'OCA\Files_Encryption\Stream');
}
} else {
// logout user if we are in maintenance to force re-login
diff --git a/apps/files_encryption/appinfo/routes.php b/apps/files_encryption/appinfo/routes.php
index 97635ae1236..9733c17fe95 100644
--- a/apps/files_encryption/appinfo/routes.php
+++ b/apps/files_encryption/appinfo/routes.php
@@ -19,4 +19,4 @@ $this->create('files_encryption_ajax_userrecovery', 'ajax/userrecovery.php')
->actionInclude('files_encryption/ajax/userrecovery.php');
// Register with the capabilities API
-OC_API::register('get', '/cloud/capabilities', array('OCA\Encryption\Capabilities', 'getCapabilities'), 'files_encryption', OC_API::USER_AUTH);
+OC_API::register('get', '/cloud/capabilities', array('OCA\Files_Encryption\Capabilities', 'getCapabilities'), 'files_encryption', OC_API::USER_AUTH);
diff --git a/apps/files_encryption/exception/encryptionException.php b/apps/files_encryption/exception/encryptionexception.php
index de1f16b4f4b..2fb679e91d2 100644
--- a/apps/files_encryption/exception/encryptionException.php
+++ b/apps/files_encryption/exception/encryptionexception.php
@@ -21,7 +21,7 @@
*
*/
-namespace OCA\Encryption\Exception;
+namespace OCA\Files_Encryption\Exception;
/**
* Base class for all encryption exception
diff --git a/apps/files_encryption/exception/multiKeyDecryptException.php b/apps/files_encryption/exception/multikeydecryptexception.php
index c1e40e045e0..9ab10fd3e63 100644
--- a/apps/files_encryption/exception/multiKeyDecryptException.php
+++ b/apps/files_encryption/exception/multikeydecryptexception.php
@@ -21,7 +21,7 @@
*
*/
-namespace OCA\Encryption\Exception;
+namespace OCA\Files_Encryption\Exception;
/**
* Throw this encryption if multi key decryption failed
diff --git a/apps/files_encryption/exception/multiKeyEncryptException.php b/apps/files_encryption/exception/multikeyencryptexception.php
index e3aa7de591f..2dc8216abaa 100644
--- a/apps/files_encryption/exception/multiKeyEncryptException.php
+++ b/apps/files_encryption/exception/multikeyencryptexception.php
@@ -21,7 +21,7 @@
*
*/
-namespace OCA\Encryption\Exception;
+namespace OCA\Files_Encryption\Exception;
/**
* Throw this exception if multi key encrytion fails
diff --git a/apps/files_encryption/files/error.php b/apps/files_encryption/files/error.php
index b801c17bd40..4a1ed021f7c 100644
--- a/apps/files_encryption/files/error.php
+++ b/apps/files_encryption/files/error.php
@@ -12,14 +12,14 @@ if (!isset($_)) { //also provide standalone error page
if (isset($_GET['errorCode'])) {
$errorCode = $_GET['errorCode'];
switch ($errorCode) {
- case \OCA\Encryption\Crypt::ENCRYPTION_NOT_INITIALIZED_ERROR:
+ case \OCA\Files_Encryption\Crypt::ENCRYPTION_NOT_INITIALIZED_ERROR:
$errorMsg = $l->t('Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app.');
break;
- case \OCA\Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR:
+ case \OCA\Files_Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR:
$theme = new OC_Defaults();
$errorMsg = $l->t('Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files.', array($theme->getName()));
break;
- case \OCA\Encryption\Crypt::ENCRYPTION_NO_SHARE_KEY_FOUND:
+ case \OCA\Files_Encryption\Crypt::ENCRYPTION_NO_SHARE_KEY_FOUND:
$errorMsg = $l->t('Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you.');
break;
default:
@@ -27,7 +27,7 @@ if (!isset($_)) { //also provide standalone error page
break;
}
} else {
- $errorCode = \OCA\Encryption\Crypt::ENCRYPTION_UNKNOWN_ERROR;
+ $errorCode = \OCA\Files_Encryption\Crypt::ENCRYPTION_UNKNOWN_ERROR;
$errorMsg = $l->t("Unknown error. Please check your system settings or contact your administrator");
}
diff --git a/apps/files_encryption/l10n/cs_CZ.js b/apps/files_encryption/l10n/cs_CZ.js
index af26da94d78..bb0087002d2 100644
--- a/apps/files_encryption/l10n/cs_CZ.js
+++ b/apps/files_encryption/l10n/cs_CZ.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.",
"Unknown error. Please check your system settings or contact your administrator" : "Neznámá chyba. Zkontrolujte nastavení systému nebo kontaktujte vašeho správce.",
"Missing requirements." : "Nesplněné závislosti.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Ujistěte se prosím, že máte máte povolené a správně nakonfigurované OpenSSL včetně jeho rozšíření pro PHP. Aplikace pro šifrování byla prozatím vypnuta.",
"Following users are not set up for encryption:" : "Následující uživatelé nemají nastavené šifrování:",
"Initial encryption started... This can take some time. Please wait." : "Počáteční šifrování zahájeno... Toto může chvíli trvat. Počkejte prosím.",
"Initial encryption running... Please try again later." : "Probíhá počáteční šifrování... Zkuste to prosím znovu později.",
diff --git a/apps/files_encryption/l10n/cs_CZ.json b/apps/files_encryption/l10n/cs_CZ.json
index f60e17ec0e2..7ec10517aad 100644
--- a/apps/files_encryption/l10n/cs_CZ.json
+++ b/apps/files_encryption/l10n/cs_CZ.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.",
"Unknown error. Please check your system settings or contact your administrator" : "Neznámá chyba. Zkontrolujte nastavení systému nebo kontaktujte vašeho správce.",
"Missing requirements." : "Nesplněné závislosti.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Ujistěte se prosím, že máte máte povolené a správně nakonfigurované OpenSSL včetně jeho rozšíření pro PHP. Aplikace pro šifrování byla prozatím vypnuta.",
"Following users are not set up for encryption:" : "Následující uživatelé nemají nastavené šifrování:",
"Initial encryption started... This can take some time. Please wait." : "Počáteční šifrování zahájeno... Toto může chvíli trvat. Počkejte prosím.",
"Initial encryption running... Please try again later." : "Probíhá počáteční šifrování... Zkuste to prosím znovu později.",
diff --git a/apps/files_encryption/l10n/da.js b/apps/files_encryption/l10n/da.js
index eea2a08f83a..93c718357c9 100644
--- a/apps/files_encryption/l10n/da.js
+++ b/apps/files_encryption/l10n/da.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke kryptere denne fil, sandsynligvis fordi felen er delt. Bed venligst filens ejer om at dele den med dig på ny.",
"Unknown error. Please check your system settings or contact your administrator" : "Ukendt fejl. Venligst tjek dine systemindstillinger eller kontakt din systemadministrator",
"Missing requirements." : "Manglende betingelser.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Sørg for at OpenSSL, sammen med PHP-udvidelsen, er aktiveret og korrekt konfigureret. Indtil videre er krypteringsprogrammet deaktiveret.",
"Following users are not set up for encryption:" : "Følgende brugere er ikke sat op til kryptering:",
"Initial encryption started... This can take some time. Please wait." : "Førstegangskrypteringen er påbegyndt... Dette kan tage nogen tid. Vent venligst.",
"Initial encryption running... Please try again later." : "Kryptering foretages... Prøv venligst igen senere.",
diff --git a/apps/files_encryption/l10n/da.json b/apps/files_encryption/l10n/da.json
index 96d989ce7ba..cd77a31993e 100644
--- a/apps/files_encryption/l10n/da.json
+++ b/apps/files_encryption/l10n/da.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke kryptere denne fil, sandsynligvis fordi felen er delt. Bed venligst filens ejer om at dele den med dig på ny.",
"Unknown error. Please check your system settings or contact your administrator" : "Ukendt fejl. Venligst tjek dine systemindstillinger eller kontakt din systemadministrator",
"Missing requirements." : "Manglende betingelser.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Sørg for at OpenSSL, sammen med PHP-udvidelsen, er aktiveret og korrekt konfigureret. Indtil videre er krypteringsprogrammet deaktiveret.",
"Following users are not set up for encryption:" : "Følgende brugere er ikke sat op til kryptering:",
"Initial encryption started... This can take some time. Please wait." : "Førstegangskrypteringen er påbegyndt... Dette kan tage nogen tid. Vent venligst.",
"Initial encryption running... Please try again later." : "Kryptering foretages... Prøv venligst igen senere.",
diff --git a/apps/files_encryption/l10n/de.js b/apps/files_encryption/l10n/de.js
index c6a61b3a232..9687e081c76 100644
--- a/apps/files_encryption/l10n/de.js
+++ b/apps/files_encryption/l10n/de.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte frage den Dateibesitzer, ob er die Datei nochmals mit Dir teilt.",
"Unknown error. Please check your system settings or contact your administrator" : "Unbekannter Fehler. Bitte prüfe Deine Systemeinstellungen oder kontaktiere Deinen Administrator",
"Missing requirements." : "Fehlende Vorraussetzungen",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Bitte stelle sicher, dass OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Die Verschlüsselungsanwendung ist vorerst deaktiviert.",
"Following users are not set up for encryption:" : "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:",
"Initial encryption started... This can take some time. Please wait." : "Initialverschlüsselung gestartet... Dies kann einige Zeit dauern. Bitte warten.",
"Initial encryption running... Please try again later." : "Anfangsverschlüsselung läuft … Bitte versuche es später wieder.",
diff --git a/apps/files_encryption/l10n/de.json b/apps/files_encryption/l10n/de.json
index 4739c547537..5fc3fb822fd 100644
--- a/apps/files_encryption/l10n/de.json
+++ b/apps/files_encryption/l10n/de.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte frage den Dateibesitzer, ob er die Datei nochmals mit Dir teilt.",
"Unknown error. Please check your system settings or contact your administrator" : "Unbekannter Fehler. Bitte prüfe Deine Systemeinstellungen oder kontaktiere Deinen Administrator",
"Missing requirements." : "Fehlende Vorraussetzungen",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Bitte stelle sicher, dass OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Die Verschlüsselungsanwendung ist vorerst deaktiviert.",
"Following users are not set up for encryption:" : "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:",
"Initial encryption started... This can take some time. Please wait." : "Initialverschlüsselung gestartet... Dies kann einige Zeit dauern. Bitte warten.",
"Initial encryption running... Please try again later." : "Anfangsverschlüsselung läuft … Bitte versuche es später wieder.",
diff --git a/apps/files_encryption/l10n/de_DE.js b/apps/files_encryption/l10n/de_DE.js
index 5b5e12c78a4..01420b52e8d 100644
--- a/apps/files_encryption/l10n/de_DE.js
+++ b/apps/files_encryption/l10n/de_DE.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte fragen Sie den Dateibesitzer, dass er die Datei nochmals mit Ihnen teilt.",
"Unknown error. Please check your system settings or contact your administrator" : "Unbekannter Fehler. Bitte prüfen Sie die Systemeinstellungen oder kontaktieren Sie Ihren Administrator",
"Missing requirements." : "Fehlende Voraussetzungen",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Bitte stellen Sie sicher, dass OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Die Verschlüsselungsanwendung ist vorerst deaktiviert.",
"Following users are not set up for encryption:" : "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:",
"Initial encryption started... This can take some time. Please wait." : "Anfangsverschlüsselung gestartet … Dieses kann einige Zeit dauern. Bitte warten.",
"Initial encryption running... Please try again later." : "Anfangsverschlüsselung läuft … Bitte versuchen Sie es später wieder.",
diff --git a/apps/files_encryption/l10n/de_DE.json b/apps/files_encryption/l10n/de_DE.json
index 8830cc6022d..9105dc1e4c3 100644
--- a/apps/files_encryption/l10n/de_DE.json
+++ b/apps/files_encryption/l10n/de_DE.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte fragen Sie den Dateibesitzer, dass er die Datei nochmals mit Ihnen teilt.",
"Unknown error. Please check your system settings or contact your administrator" : "Unbekannter Fehler. Bitte prüfen Sie die Systemeinstellungen oder kontaktieren Sie Ihren Administrator",
"Missing requirements." : "Fehlende Voraussetzungen",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Bitte stellen Sie sicher, dass OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Die Verschlüsselungsanwendung ist vorerst deaktiviert.",
"Following users are not set up for encryption:" : "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:",
"Initial encryption started... This can take some time. Please wait." : "Anfangsverschlüsselung gestartet … Dieses kann einige Zeit dauern. Bitte warten.",
"Initial encryption running... Please try again later." : "Anfangsverschlüsselung läuft … Bitte versuchen Sie es später wieder.",
diff --git a/apps/files_encryption/l10n/en_GB.js b/apps/files_encryption/l10n/en_GB.js
index 96a13912ef3..1e5e07d450d 100644
--- a/apps/files_encryption/l10n/en_GB.js
+++ b/apps/files_encryption/l10n/en_GB.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Cannot decrypt this file, which is probably a shared file. Please ask the file owner to reshare the file with you.",
"Unknown error. Please check your system settings or contact your administrator" : "Unknown error. Please check your system settings or contact your administrator",
"Missing requirements." : "Missing requirements.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Please make sure that OpenSSL together with the PHP extension is enabled and properly configured. For now, the encryption app has been disabled.",
"Following users are not set up for encryption:" : "Following users are not set up for encryption:",
"Initial encryption started... This can take some time. Please wait." : "Initial encryption started... This can take some time. Please wait.",
"Initial encryption running... Please try again later." : "Initial encryption running... Please try again later.",
diff --git a/apps/files_encryption/l10n/en_GB.json b/apps/files_encryption/l10n/en_GB.json
index 3a722673a84..68478b60d68 100644
--- a/apps/files_encryption/l10n/en_GB.json
+++ b/apps/files_encryption/l10n/en_GB.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Cannot decrypt this file, which is probably a shared file. Please ask the file owner to reshare the file with you.",
"Unknown error. Please check your system settings or contact your administrator" : "Unknown error. Please check your system settings or contact your administrator",
"Missing requirements." : "Missing requirements.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Please make sure that OpenSSL together with the PHP extension is enabled and properly configured. For now, the encryption app has been disabled.",
"Following users are not set up for encryption:" : "Following users are not set up for encryption:",
"Initial encryption started... This can take some time. Please wait." : "Initial encryption started... This can take some time. Please wait.",
"Initial encryption running... Please try again later." : "Initial encryption running... Please try again later.",
diff --git a/apps/files_encryption/l10n/es.js b/apps/files_encryption/l10n/es.js
index 045b0ee8abe..c70ea8e341d 100644
--- a/apps/files_encryption/l10n/es.js
+++ b/apps/files_encryption/l10n/es.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No fue posible descifrar este archivo, probablemente se trate de un archivo compartido. Solicite al propietario del mismo que vuelva a compartirlo con usted.",
"Unknown error. Please check your system settings or contact your administrator" : "Error desconocido. Revise la configuración de su sistema o contacte a su administrador",
"Missing requirements." : "Requisitos incompletos.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Asegúrese de que OpenSSL y la extensión de PHP estén habilitados y configurados correctamente. Por el momento, la aplicación de cifrado ha sido deshabilitada.",
"Following users are not set up for encryption:" : "Los siguientes usuarios no han sido configurados para el cifrado:",
"Initial encryption started... This can take some time. Please wait." : "Encriptación iniciada..... Esto puede tomar un tiempo. Por favor espere.",
"Initial encryption running... Please try again later." : "Cifrado inicial en curso... Inténtelo más tarde.",
diff --git a/apps/files_encryption/l10n/es.json b/apps/files_encryption/l10n/es.json
index f3717c0c049..ab62508b000 100644
--- a/apps/files_encryption/l10n/es.json
+++ b/apps/files_encryption/l10n/es.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No fue posible descifrar este archivo, probablemente se trate de un archivo compartido. Solicite al propietario del mismo que vuelva a compartirlo con usted.",
"Unknown error. Please check your system settings or contact your administrator" : "Error desconocido. Revise la configuración de su sistema o contacte a su administrador",
"Missing requirements." : "Requisitos incompletos.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Asegúrese de que OpenSSL y la extensión de PHP estén habilitados y configurados correctamente. Por el momento, la aplicación de cifrado ha sido deshabilitada.",
"Following users are not set up for encryption:" : "Los siguientes usuarios no han sido configurados para el cifrado:",
"Initial encryption started... This can take some time. Please wait." : "Encriptación iniciada..... Esto puede tomar un tiempo. Por favor espere.",
"Initial encryption running... Please try again later." : "Cifrado inicial en curso... Inténtelo más tarde.",
diff --git a/apps/files_encryption/l10n/fr.js b/apps/files_encryption/l10n/fr.js
index fc5e2d5c5fb..34d5f7a13f2 100644
--- a/apps/files_encryption/l10n/fr.js
+++ b/apps/files_encryption/l10n/fr.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire de ce fichier de le repartager avec vous.",
"Unknown error. Please check your system settings or contact your administrator" : "Erreur inconnue. Veuillez vérifier vos paramètres système ou contacter un administrateur.",
"Missing requirements." : "Système minimum requis non respecté.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Merci de vous assurer que OpenSSL et son extension PHP sont activés et configurés correctement. Pour l'instant, l'application de chiffrement a été désactivée.",
"Following users are not set up for encryption:" : "Les utilisateurs suivants ne sont pas configurés pour le chiffrement :",
"Initial encryption started... This can take some time. Please wait." : "Chiffrement initial démarré... Cela peut prendre un certain temps. Veuillez patienter.",
"Initial encryption running... Please try again later." : "Chiffrement initial en cours... Veuillez re-essayer ultérieurement.",
diff --git a/apps/files_encryption/l10n/fr.json b/apps/files_encryption/l10n/fr.json
index c4a4fd1a23e..998947b8053 100644
--- a/apps/files_encryption/l10n/fr.json
+++ b/apps/files_encryption/l10n/fr.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire de ce fichier de le repartager avec vous.",
"Unknown error. Please check your system settings or contact your administrator" : "Erreur inconnue. Veuillez vérifier vos paramètres système ou contacter un administrateur.",
"Missing requirements." : "Système minimum requis non respecté.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Merci de vous assurer que OpenSSL et son extension PHP sont activés et configurés correctement. Pour l'instant, l'application de chiffrement a été désactivée.",
"Following users are not set up for encryption:" : "Les utilisateurs suivants ne sont pas configurés pour le chiffrement :",
"Initial encryption started... This can take some time. Please wait." : "Chiffrement initial démarré... Cela peut prendre un certain temps. Veuillez patienter.",
"Initial encryption running... Please try again later." : "Chiffrement initial en cours... Veuillez re-essayer ultérieurement.",
diff --git a/apps/files_encryption/l10n/it.js b/apps/files_encryption/l10n/it.js
index 6a63d188c36..08167b8ea7c 100644
--- a/apps/files_encryption/l10n/it.js
+++ b/apps/files_encryption/l10n/it.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile decifrare questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
"Unknown error. Please check your system settings or contact your administrator" : "Errore sconosciuto. Controlla le impostazioni di sistema o contatta il tuo amministratore",
"Missing requirements." : "Requisiti mancanti.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Assicurati che OpenSSL e l'estensione PHP sia abilitatati e configurati correttamente. Per ora, l'applicazione di cifratura è disabilitata.",
"Following users are not set up for encryption:" : "I seguenti utenti non sono configurati per la cifratura:",
"Initial encryption started... This can take some time. Please wait." : "Cifratura iniziale avviata... Potrebbe richiedere del tempo. Attendi.",
"Initial encryption running... Please try again later." : "Cifratura iniziale in esecuzione... Riprova più tardi.",
diff --git a/apps/files_encryption/l10n/it.json b/apps/files_encryption/l10n/it.json
index f92e26a40ee..15d2b1b0343 100644
--- a/apps/files_encryption/l10n/it.json
+++ b/apps/files_encryption/l10n/it.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile decifrare questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
"Unknown error. Please check your system settings or contact your administrator" : "Errore sconosciuto. Controlla le impostazioni di sistema o contatta il tuo amministratore",
"Missing requirements." : "Requisiti mancanti.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Assicurati che OpenSSL e l'estensione PHP sia abilitatati e configurati correttamente. Per ora, l'applicazione di cifratura è disabilitata.",
"Following users are not set up for encryption:" : "I seguenti utenti non sono configurati per la cifratura:",
"Initial encryption started... This can take some time. Please wait." : "Cifratura iniziale avviata... Potrebbe richiedere del tempo. Attendi.",
"Initial encryption running... Please try again later." : "Cifratura iniziale in esecuzione... Riprova più tardi.",
diff --git a/apps/files_encryption/l10n/ja.js b/apps/files_encryption/l10n/ja.js
index 765d1193de4..6d0930b5e25 100644
--- a/apps/files_encryption/l10n/ja.js
+++ b/apps/files_encryption/l10n/ja.js
@@ -23,10 +23,11 @@ OC.L10N.register(
"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." : "プライベートキーが有効ではありません!パスワードが%sの外部で変更された(例: 共同ディレクトリ)と思われます。個人設定でプライベートキーのパスワードを更新して、暗号化ファイルへのアクセスを回復することができます。",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
"Unknown error. Please check your system settings or contact your administrator" : "不明なエラーです。システム設定を確認するか、管理者に問い合わせてください。",
- "Missing requirements." : "必要要件が満たされていません。",
- "Following users are not set up for encryption:" : "以下のユーザーは、暗号化設定がされていません:",
"Initial encryption started... This can take some time. Please wait." : "暗号化の初期化作業を開始しました... この処理にはしばらく時間がかかります。お待ちください。",
"Initial encryption running... Please try again later." : "初期暗号化実行中... 後でもう一度お試しください。",
+ "Missing requirements." : "必要要件が満たされていません。",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "必ず、OpenSSL及びOpenSSLのPHPの拡張を有効にした上で、適切に設定してください。現時点では暗号化アプリは無効になっています。",
+ "Following users are not set up for encryption:" : "以下のユーザーは、暗号化設定がされていません:",
"Go directly to your %spersonal settings%s." : "直接 %s個人設定%s に進む。",
"Encryption" : "暗号化",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
diff --git a/apps/files_encryption/l10n/ja.json b/apps/files_encryption/l10n/ja.json
index 1bfa3c4b650..abf2a3555ee 100644
--- a/apps/files_encryption/l10n/ja.json
+++ b/apps/files_encryption/l10n/ja.json
@@ -21,10 +21,11 @@
"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." : "プライベートキーが有効ではありません!パスワードが%sの外部で変更された(例: 共同ディレクトリ)と思われます。個人設定でプライベートキーのパスワードを更新して、暗号化ファイルへのアクセスを回復することができます。",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
"Unknown error. Please check your system settings or contact your administrator" : "不明なエラーです。システム設定を確認するか、管理者に問い合わせてください。",
- "Missing requirements." : "必要要件が満たされていません。",
- "Following users are not set up for encryption:" : "以下のユーザーは、暗号化設定がされていません:",
"Initial encryption started... This can take some time. Please wait." : "暗号化の初期化作業を開始しました... この処理にはしばらく時間がかかります。お待ちください。",
"Initial encryption running... Please try again later." : "初期暗号化実行中... 後でもう一度お試しください。",
+ "Missing requirements." : "必要要件が満たされていません。",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "必ず、OpenSSL及びOpenSSLのPHPの拡張を有効にした上で、適切に設定してください。現時点では暗号化アプリは無効になっています。",
+ "Following users are not set up for encryption:" : "以下のユーザーは、暗号化設定がされていません:",
"Go directly to your %spersonal settings%s." : "直接 %s個人設定%s に進む。",
"Encryption" : "暗号化",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
diff --git a/apps/files_encryption/l10n/nl.js b/apps/files_encryption/l10n/nl.js
index 4ba98adff34..0400accd2bd 100644
--- a/apps/files_encryption/l10n/nl.js
+++ b/apps/files_encryption/l10n/nl.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet ontcijferen, waarschijnlijk is het een gedeeld bestand, Vraag de eigenaar om het bestand opnieuw met u te delen.",
"Unknown error. Please check your system settings or contact your administrator" : "Onbekende fout. Controleer uw systeeminstellingen of neem contact op met de beheerder",
"Missing requirements." : "Missende benodigdheden.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Weed er zeker van dat OpenSSL met de PHP extensie is ingeschakeld en goed geconfigureerd. Op dit moment is de encryptie app uitgeschakeld.",
"Following users are not set up for encryption:" : "De volgende gebruikers hebben geen configuratie voor encryptie:",
"Initial encryption started... This can take some time. Please wait." : "initiële versleuteling gestart... Dit kan even duren, geduld a.u.b.",
"Initial encryption running... Please try again later." : "Initiële versleuteling bezig... Probeer het later opnieuw.",
diff --git a/apps/files_encryption/l10n/nl.json b/apps/files_encryption/l10n/nl.json
index fe0d21610b8..eb2ea89428b 100644
--- a/apps/files_encryption/l10n/nl.json
+++ b/apps/files_encryption/l10n/nl.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet ontcijferen, waarschijnlijk is het een gedeeld bestand, Vraag de eigenaar om het bestand opnieuw met u te delen.",
"Unknown error. Please check your system settings or contact your administrator" : "Onbekende fout. Controleer uw systeeminstellingen of neem contact op met de beheerder",
"Missing requirements." : "Missende benodigdheden.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Weed er zeker van dat OpenSSL met de PHP extensie is ingeschakeld en goed geconfigureerd. Op dit moment is de encryptie app uitgeschakeld.",
"Following users are not set up for encryption:" : "De volgende gebruikers hebben geen configuratie voor encryptie:",
"Initial encryption started... This can take some time. Please wait." : "initiële versleuteling gestart... Dit kan even duren, geduld a.u.b.",
"Initial encryption running... Please try again later." : "Initiële versleuteling bezig... Probeer het later opnieuw.",
diff --git a/apps/files_encryption/l10n/pt_BR.js b/apps/files_encryption/l10n/pt_BR.js
index c519bdfde2b..2bcf3bc345b 100644
--- a/apps/files_encryption/l10n/pt_BR.js
+++ b/apps/files_encryption/l10n/pt_BR.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser decriptado, provavelmente este é um arquivo compartilhado. Poe favoe peça ao dono do arquivo para compartilha-lo com você.",
"Unknown error. Please check your system settings or contact your administrator" : "Erro desconhecido. Por favor, verifique as configurações do sistema ou entre em contato com o administrador",
"Missing requirements." : "Requisitos não encontrados.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Por favor, certifique-se de que o OpenSSL em conjunto com a extensão PHP está habilitado e configurado corretamente. Por enquanto, o aplicativo de criptografia foi desativado.",
"Following users are not set up for encryption:" : "Seguintes usuários não estão configurados para criptografia:",
"Initial encryption started... This can take some time. Please wait." : "Criptografia inicial inicializada... Isto pode tomar algum tempo. Por favor espere.",
"Initial encryption running... Please try again later." : "Criptografia inicial em execução ... Por favor, tente novamente mais tarde.",
diff --git a/apps/files_encryption/l10n/pt_BR.json b/apps/files_encryption/l10n/pt_BR.json
index 8aae593d03e..d078c218ad3 100644
--- a/apps/files_encryption/l10n/pt_BR.json
+++ b/apps/files_encryption/l10n/pt_BR.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser decriptado, provavelmente este é um arquivo compartilhado. Poe favoe peça ao dono do arquivo para compartilha-lo com você.",
"Unknown error. Please check your system settings or contact your administrator" : "Erro desconhecido. Por favor, verifique as configurações do sistema ou entre em contato com o administrador",
"Missing requirements." : "Requisitos não encontrados.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Por favor, certifique-se de que o OpenSSL em conjunto com a extensão PHP está habilitado e configurado corretamente. Por enquanto, o aplicativo de criptografia foi desativado.",
"Following users are not set up for encryption:" : "Seguintes usuários não estão configurados para criptografia:",
"Initial encryption started... This can take some time. Please wait." : "Criptografia inicial inicializada... Isto pode tomar algum tempo. Por favor espere.",
"Initial encryption running... Please try again later." : "Criptografia inicial em execução ... Por favor, tente novamente mais tarde.",
diff --git a/apps/files_encryption/l10n/ru.js b/apps/files_encryption/l10n/ru.js
index e43a6430f27..8e3615e169c 100644
--- a/apps/files_encryption/l10n/ru.js
+++ b/apps/files_encryption/l10n/ru.js
@@ -23,10 +23,11 @@ OC.L10N.register(
"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." : "Ваш закрытый ключ недействителен! Вероятно, ваш пароль был изменен вне %s (например, корпоративный каталог). Вы можете обновить закрытый ключ в личных настройках на странице восстановления доступа к зашифрованным файлам. ",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не могу расшифровать файл, возможно это опубликованный файл. Пожалуйста, попросите владельца файла поделиться им с вами еще раз.",
"Unknown error. Please check your system settings or contact your administrator" : "Неизвестная ошибка. Пожалуйста, проверьте системные настройки или свяжитесь с администратором",
- "Missing requirements." : "Требования отсутствуют.",
- "Following users are not set up for encryption:" : "Для следующих пользователей шифрование не настроено:",
"Initial encryption started... This can take some time. Please wait." : "Начато начальное шифрование... Это может занять какое-то время. Пожалуйста, подождите.",
"Initial encryption running... Please try again later." : "Работает первоначальное шифрование... Пожалуйста, повторите попытку позже.",
+ "Missing requirements." : "Требования отсутствуют.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Пожалуйста, убедитесь, что OpenSSL и соответствующее расширение PHP включены и и правильно настроены. На данный момент приложение шифрования отключено.",
+ "Following users are not set up for encryption:" : "Для следующих пользователей шифрование не настроено:",
"Go directly to your %spersonal settings%s." : "Перейти напряму к вашим %spersonal settings%s.",
"Encryption" : "Шифрование",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Приложение для шифрования активно, но ваши ключи не инициализированы, пожалуйста, перелогиньтесь",
diff --git a/apps/files_encryption/l10n/ru.json b/apps/files_encryption/l10n/ru.json
index 93584da0cc4..9162f8da1f6 100644
--- a/apps/files_encryption/l10n/ru.json
+++ b/apps/files_encryption/l10n/ru.json
@@ -21,10 +21,11 @@
"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." : "Ваш закрытый ключ недействителен! Вероятно, ваш пароль был изменен вне %s (например, корпоративный каталог). Вы можете обновить закрытый ключ в личных настройках на странице восстановления доступа к зашифрованным файлам. ",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не могу расшифровать файл, возможно это опубликованный файл. Пожалуйста, попросите владельца файла поделиться им с вами еще раз.",
"Unknown error. Please check your system settings or contact your administrator" : "Неизвестная ошибка. Пожалуйста, проверьте системные настройки или свяжитесь с администратором",
- "Missing requirements." : "Требования отсутствуют.",
- "Following users are not set up for encryption:" : "Для следующих пользователей шифрование не настроено:",
"Initial encryption started... This can take some time. Please wait." : "Начато начальное шифрование... Это может занять какое-то время. Пожалуйста, подождите.",
"Initial encryption running... Please try again later." : "Работает первоначальное шифрование... Пожалуйста, повторите попытку позже.",
+ "Missing requirements." : "Требования отсутствуют.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Пожалуйста, убедитесь, что OpenSSL и соответствующее расширение PHP включены и и правильно настроены. На данный момент приложение шифрования отключено.",
+ "Following users are not set up for encryption:" : "Для следующих пользователей шифрование не настроено:",
"Go directly to your %spersonal settings%s." : "Перейти напряму к вашим %spersonal settings%s.",
"Encryption" : "Шифрование",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Приложение для шифрования активно, но ваши ключи не инициализированы, пожалуйста, перелогиньтесь",
diff --git a/apps/files_encryption/l10n/sl.js b/apps/files_encryption/l10n/sl.js
index 7969a6b5cfd..678709ab891 100644
--- a/apps/files_encryption/l10n/sl.js
+++ b/apps/files_encryption/l10n/sl.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Te datoteke ni mogoče šifrirati, ker je to najverjetneje datoteka v souporabi. Prosite lastnika datoteke, da jo da ponovno v souporabo.",
"Unknown error. Please check your system settings or contact your administrator" : "Neznana napaka. Preverite nastavitve sistema ali pa stopite v stik s skrbnikom sistema.",
"Missing requirements." : "Manjkajoče zahteve",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Preverite, ali je OpenSSL z ustrezno razširitvijo PHP omogočen in ustrezno nastavljen. Trenutno je šifriranje onemogočeno.",
"Following users are not set up for encryption:" : "Navedeni uporabniki še nimajo nastavljenega šifriranja:",
"Initial encryption started... This can take some time. Please wait." : "Začetno šifriranje je začeto ... Opravilo je lahko dolgotrajno.",
"Initial encryption running... Please try again later." : "Začetno šifriranje je v teku ... Poskusite kasneje.",
diff --git a/apps/files_encryption/l10n/sl.json b/apps/files_encryption/l10n/sl.json
index 31c401df567..943fe8a96c1 100644
--- a/apps/files_encryption/l10n/sl.json
+++ b/apps/files_encryption/l10n/sl.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Te datoteke ni mogoče šifrirati, ker je to najverjetneje datoteka v souporabi. Prosite lastnika datoteke, da jo da ponovno v souporabo.",
"Unknown error. Please check your system settings or contact your administrator" : "Neznana napaka. Preverite nastavitve sistema ali pa stopite v stik s skrbnikom sistema.",
"Missing requirements." : "Manjkajoče zahteve",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Preverite, ali je OpenSSL z ustrezno razširitvijo PHP omogočen in ustrezno nastavljen. Trenutno je šifriranje onemogočeno.",
"Following users are not set up for encryption:" : "Navedeni uporabniki še nimajo nastavljenega šifriranja:",
"Initial encryption started... This can take some time. Please wait." : "Začetno šifriranje je začeto ... Opravilo je lahko dolgotrajno.",
"Initial encryption running... Please try again later." : "Začetno šifriranje je v teku ... Poskusite kasneje.",
diff --git a/apps/files_encryption/l10n/tr.js b/apps/files_encryption/l10n/tr.js
index 56787c176f8..43a05a696a6 100644
--- a/apps/files_encryption/l10n/tr.js
+++ b/apps/files_encryption/l10n/tr.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan şifrelemesi kaldırılamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
"Unknown error. Please check your system settings or contact your administrator" : "Bilinmeyen hata. Lütfen sistem ayarlarınızı denetleyin veya yöneticiniz ile iletişime geçin",
"Missing requirements." : "Gereklilikler eksik.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "OpenSSL'nin PHP uzantısıyla birlikte etkin ve düzgün yapılandırılmış olduğundan emin olun. Şimdilik şifreleme uygulaması devre dışı bırakıldı.",
"Following users are not set up for encryption:" : "Aşağıdaki kullanıcılar şifreleme için ayarlanmamış:",
"Initial encryption started... This can take some time. Please wait." : "İlk şifreleme başladı... Bu biraz zaman alabilir. Lütfen bekleyin.",
"Initial encryption running... Please try again later." : "İlk şifreleme çalışıyor... Lütfen daha sonra tekrar deneyin.",
diff --git a/apps/files_encryption/l10n/tr.json b/apps/files_encryption/l10n/tr.json
index 92cd17c57b6..e78f8fb5203 100644
--- a/apps/files_encryption/l10n/tr.json
+++ b/apps/files_encryption/l10n/tr.json
@@ -22,6 +22,7 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan şifrelemesi kaldırılamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
"Unknown error. Please check your system settings or contact your administrator" : "Bilinmeyen hata. Lütfen sistem ayarlarınızı denetleyin veya yöneticiniz ile iletişime geçin",
"Missing requirements." : "Gereklilikler eksik.",
+ "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "OpenSSL'nin PHP uzantısıyla birlikte etkin ve düzgün yapılandırılmış olduğundan emin olun. Şimdilik şifreleme uygulaması devre dışı bırakıldı.",
"Following users are not set up for encryption:" : "Aşağıdaki kullanıcılar şifreleme için ayarlanmamış:",
"Initial encryption started... This can take some time. Please wait." : "İlk şifreleme başladı... Bu biraz zaman alabilir. Lütfen bekleyin.",
"Initial encryption running... Please try again later." : "İlk şifreleme çalışıyor... Lütfen daha sonra tekrar deneyin.",
diff --git a/apps/files_encryption/lib/capabilities.php b/apps/files_encryption/lib/capabilities.php
index ef94c9e086d..e6e4ee7d419 100644
--- a/apps/files_encryption/lib/capabilities.php
+++ b/apps/files_encryption/lib/capabilities.php
@@ -6,7 +6,7 @@
* See the COPYING-README file.
*/
-namespace OCA\Encryption;
+namespace OCA\Files_Encryption;
class Capabilities {
diff --git a/apps/files_encryption/lib/crypt.php b/apps/files_encryption/lib/crypt.php
index cf915ae27b2..38993ba65b0 100644
--- a/apps/files_encryption/lib/crypt.php
+++ b/apps/files_encryption/lib/crypt.php
@@ -25,7 +25,7 @@
*
*/
-namespace OCA\Encryption;
+namespace OCA\Files_Encryption;
/**
* Class for common cryptography functionality
@@ -133,7 +133,7 @@ class Crypt {
* Check if a file's contents contains an IV and is symmetrically encrypted
* @param string $content
* @return boolean
- * @note see also OCA\Encryption\Util->isEncryptedPath()
+ * @note see also \OCA\Files_Encryption\Util->isEncryptedPath()
*/
public static function isCatfileContent($content) {
@@ -190,7 +190,7 @@ class Crypt {
* @param string $passphrase
* @param string $cypher used for encryption, currently we support AES-128-CFB and AES-256-CFB
* @return string encrypted file content
- * @throws \OCA\Encryption\Exception\EncryptionException
+ * @throws \OCA\Files_Encryption\Exception\EncryptionException
*/
private static function encrypt($plainContent, $iv, $passphrase = '', $cipher = Crypt::DEFAULT_CIPHER) {
@@ -379,7 +379,7 @@ class Crypt {
* @param string $plainContent content to be encrypted
* @param array $publicKeys array keys must be the userId of corresponding user
* @return array keys: keys (array, key = userId), data
- * @throws \OCA\Encryption\Exception\MultiKeyEncryptException if encryption failed
+ * @throws \OCA\Files_Encryption\Exception\MultiKeyEncryptException if encryption failed
* @note symmetricDecryptFileContent() can decrypt files created using this method
*/
public static function multiKeyEncrypt($plainContent, array $publicKeys) {
@@ -425,7 +425,7 @@ class Crypt {
* @param string $encryptedContent
* @param string $shareKey
* @param mixed $privateKey
- * @throws \OCA\Encryption\Exception\MultiKeyDecryptException if decryption failed
+ * @throws \OCA\Files_Encryption\Exception\MultiKeyDecryptException if decryption failed
* @internal param string $plainContent contains decrypted content
* @return string $plainContent decrypted string
* @note symmetricDecryptFileContent() can be used to decrypt files created using this method
@@ -554,7 +554,7 @@ class Crypt {
* get chiper from header
*
* @param array $header
- * @throws \OCA\Encryption\Exception\EncryptionException
+ * @throws \OCA\Files_Encryption\Exception\EncryptionException
*/
public static function getCipher($header) {
$cipher = isset($header['cipher']) ? $header['cipher'] : 'AES-128-CFB';
diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php
index 34deb112798..6a8ea25d44e 100644
--- a/apps/files_encryption/lib/helper.php
+++ b/apps/files_encryption/lib/helper.php
@@ -23,11 +23,11 @@
*
*/
-namespace OCA\Encryption;
+namespace OCA\Files_Encryption;
/**
* Class to manage registration of hooks an various helper methods
- * @package OCA\Encryption
+ * @package OCA\Files_Encryption
*/
class Helper {
@@ -39,9 +39,9 @@ class Helper {
*/
public static function registerShareHooks() {
- \OCP\Util::connectHook('OCP\Share', 'pre_shared', 'OCA\Encryption\Hooks', 'preShared');
- \OCP\Util::connectHook('OCP\Share', 'post_shared', 'OCA\Encryption\Hooks', 'postShared');
- \OCP\Util::connectHook('OCP\Share', 'post_unshare', 'OCA\Encryption\Hooks', 'postUnshare');
+ \OCP\Util::connectHook('OCP\Share', 'pre_shared', 'OCA\Files_Encryption\Hooks', 'preShared');
+ \OCP\Util::connectHook('OCP\Share', 'post_shared', 'OCA\Files_Encryption\Hooks', 'postShared');
+ \OCP\Util::connectHook('OCP\Share', 'post_unshare', 'OCA\Files_Encryption\Hooks', 'postUnshare');
}
/**
@@ -50,12 +50,12 @@ class Helper {
*/
public static function registerUserHooks() {
- \OCP\Util::connectHook('OC_User', 'post_login', 'OCA\Encryption\Hooks', 'login');
- \OCP\Util::connectHook('OC_User', 'logout', 'OCA\Encryption\Hooks', 'logout');
- \OCP\Util::connectHook('OC_User', 'post_setPassword', 'OCA\Encryption\Hooks', 'setPassphrase');
- \OCP\Util::connectHook('OC_User', 'pre_setPassword', 'OCA\Encryption\Hooks', 'preSetPassphrase');
- \OCP\Util::connectHook('OC_User', 'post_createUser', 'OCA\Encryption\Hooks', 'postCreateUser');
- \OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OCA\Encryption\Hooks', 'postDeleteUser');
+ \OCP\Util::connectHook('OC_User', 'post_login', 'OCA\Files_Encryption\Hooks', 'login');
+ \OCP\Util::connectHook('OC_User', 'logout', 'OCA\Files_Encryption\Hooks', 'logout');
+ \OCP\Util::connectHook('OC_User', 'post_setPassword', 'OCA\Files_Encryption\Hooks', 'setPassphrase');
+ \OCP\Util::connectHook('OC_User', 'pre_setPassword', 'OCA\Files_Encryption\Hooks', 'preSetPassphrase');
+ \OCP\Util::connectHook('OC_User', 'post_createUser', 'OCA\Files_Encryption\Hooks', 'postCreateUser');
+ \OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OCA\Files_Encryption\Hooks', 'postDeleteUser');
}
/**
@@ -64,15 +64,15 @@ class Helper {
*/
public static function registerFilesystemHooks() {
- \OCP\Util::connectHook('OC_Filesystem', 'rename', 'OCA\Encryption\Hooks', 'preRename');
- \OCP\Util::connectHook('OC_Filesystem', 'post_rename', 'OCA\Encryption\Hooks', 'postRenameOrCopy');
- \OCP\Util::connectHook('OC_Filesystem', 'copy', 'OCA\Encryption\Hooks', 'preCopy');
- \OCP\Util::connectHook('OC_Filesystem', 'post_copy', 'OCA\Encryption\Hooks', 'postRenameOrCopy');
- \OCP\Util::connectHook('OC_Filesystem', 'post_delete', 'OCA\Encryption\Hooks', 'postDelete');
- \OCP\Util::connectHook('OC_Filesystem', 'delete', 'OCA\Encryption\Hooks', 'preDelete');
- \OCP\Util::connectHook('\OC\Core\LostPassword\Controller\LostController', 'post_passwordReset', 'OCA\Encryption\Hooks', 'postPasswordReset');
- \OCP\Util::connectHook('OC_Filesystem', 'post_umount', 'OCA\Encryption\Hooks', 'postUnmount');
- \OCP\Util::connectHook('OC_Filesystem', 'umount', 'OCA\Encryption\Hooks', 'preUnmount');
+ \OCP\Util::connectHook('OC_Filesystem', 'rename', 'OCA\Files_Encryption\Hooks', 'preRename');
+ \OCP\Util::connectHook('OC_Filesystem', 'post_rename', 'OCA\Files_Encryption\Hooks', 'postRenameOrCopy');
+ \OCP\Util::connectHook('OC_Filesystem', 'copy', 'OCA\Files_Encryption\Hooks', 'preCopy');
+ \OCP\Util::connectHook('OC_Filesystem', 'post_copy', 'OCA\Files_Encryption\Hooks', 'postRenameOrCopy');
+ \OCP\Util::connectHook('OC_Filesystem', 'post_delete', 'OCA\Files_Encryption\Hooks', 'postDelete');
+ \OCP\Util::connectHook('OC_Filesystem', 'delete', 'OCA\Files_Encryption\Hooks', 'preDelete');
+ \OCP\Util::connectHook('\OC\Core\LostPassword\Controller\LostController', 'post_passwordReset', 'OCA\Files_Encryption\Hooks', 'postPasswordReset');
+ \OCP\Util::connectHook('OC_Filesystem', 'post_umount', 'OCA\Files_Encryption\Hooks', 'postUnmount');
+ \OCP\Util::connectHook('OC_Filesystem', 'umount', 'OCA\Files_Encryption\Hooks', 'preUnmount');
}
/**
@@ -81,8 +81,8 @@ class Helper {
*/
public static function registerAppHooks() {
- \OCP\Util::connectHook('OC_App', 'pre_disable', 'OCA\Encryption\Hooks', 'preDisable');
- \OCP\Util::connectHook('OC_App', 'post_disable', 'OCA\Encryption\Hooks', 'postEnable');
+ \OCP\Util::connectHook('OC_App', 'pre_disable', 'OCA\Files_Encryption\Hooks', 'preDisable');
+ \OCP\Util::connectHook('OC_App', 'post_disable', 'OCA\Files_Encryption\Hooks', 'postEnable');
}
/**
@@ -131,8 +131,6 @@ class Helper {
*
* @param string $recoveryKeyId
* @param string $recoveryPassword
- * @internal param \OCA\Encryption\Util $util
- * @internal param string $password
* @return bool
*/
public static function adminEnableRecovery($recoveryKeyId, $recoveryPassword) {
@@ -147,13 +145,13 @@ class Helper {
if (!Keymanager::recoveryKeyExists($view)) {
- $keypair = \OCA\Encryption\Crypt::createKeypair();
+ $keypair = Crypt::createKeypair();
// Save public key
Keymanager::setPublicKey($keypair['publicKey'], $recoveryKeyId);
- $cipher = \OCA\Encryption\Helper::getCipher();
- $encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($keypair['privateKey'], $recoveryPassword, $cipher);
+ $cipher = Helper::getCipher();
+ $encryptedKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $recoveryPassword, $cipher);
if ($encryptedKey) {
Keymanager::setPrivateSystemKey($encryptedKey, $recoveryKeyId);
// Set recoveryAdmin as enabled
@@ -162,7 +160,7 @@ class Helper {
}
} else { // get recovery key and check the password
- $util = new \OCA\Encryption\Util(new \OC\Files\View('/'), \OCP\User::getUser());
+ $util = new Util(new \OC\Files\View('/'), \OCP\User::getUser());
$return = $util->checkRecoveryPassword($recoveryPassword);
if ($return) {
$appConfig->setValue('files_encryption', 'recoveryAdminEnabled', 1);
@@ -362,14 +360,14 @@ class Helper {
if ($errorCode === null) {
$init = $session->getInitialized();
switch ($init) {
- case \OCA\Encryption\Session::INIT_EXECUTED:
- $errorCode = \OCA\Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR;
+ case Session::INIT_EXECUTED:
+ $errorCode = Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR;
break;
- case \OCA\Encryption\Session::NOT_INITIALIZED:
- $errorCode = \OCA\Encryption\Crypt::ENCRYPTION_NOT_INITIALIZED_ERROR;
+ case Session::NOT_INITIALIZED:
+ $errorCode = Crypt::ENCRYPTION_NOT_INITIALIZED_ERROR;
break;
default:
- $errorCode = \OCA\Encryption\Crypt::ENCRYPTION_UNKNOWN_ERROR;
+ $errorCode = Crypt::ENCRYPTION_UNKNOWN_ERROR;
}
}
diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/lib/hooks.php
index a6b7555b376..bddfb7b2544 100644
--- a/apps/files_encryption/hooks/hooks.php
+++ b/apps/files_encryption/lib/hooks.php
@@ -23,7 +23,7 @@
*
*/
-namespace OCA\Encryption;
+namespace OCA\Files_Encryption;
use OC\Files\Filesystem;
@@ -59,7 +59,7 @@ class Hooks {
\OC_Util::setupFS($params['uid']);
}
- $privateKey = \OCA\Encryption\Keymanager::getPrivateKey($view, $params['uid']);
+ $privateKey = Keymanager::getPrivateKey($view, $params['uid']);
// if no private key exists, check server configuration
if (!$privateKey) {
@@ -128,7 +128,7 @@ class Hooks {
* remove keys from session during logout
*/
public static function logout() {
- $session = new \OCA\Encryption\Session(new \OC\Files\View());
+ $session = new Session(new \OC\Files\View());
$session->removeKeys();
}
@@ -182,7 +182,7 @@ class Hooks {
if (Crypt::mode() === 'server') {
$view = new \OC\Files\View('/');
- $session = new \OCA\Encryption\Session($view);
+ $session = new Session($view);
// Get existing decrypted private key
$privateKey = $session->getPrivateKey();
@@ -236,7 +236,7 @@ class Hooks {
Keymanager::setPublicKey($keypair['publicKey'], $user);
// Encrypt private key with new password
- $encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($keypair['privateKey'], $newUserPassword, Helper::getCipher());
+ $encryptedKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $newUserPassword, Helper::getCipher());
if ($encryptedKey) {
Keymanager::setPrivateKey($encryptedKey, $user);
@@ -331,7 +331,7 @@ class Hooks {
private static function updateKeyfiles($path) {
$view = new \OC\Files\View('/');
$userId = \OCP\User::getUser();
- $session = new \OCA\Encryption\Session($view);
+ $session = new Session($view);
$util = new Util($view, $userId);
$sharingEnabled = \OCP\Share::isEnabled();
@@ -502,10 +502,10 @@ class Hooks {
public static function preDisable($params) {
if ($params['app'] === 'files_encryption') {
- \OC_Preferences::deleteAppFromAllUsers('files_encryption');
+ \OC::$server->getConfig()->deleteAppFromAllUsers('files_encryption');
- $session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
- $session->setInitialized(\OCA\Encryption\Session::NOT_INITIALIZED);
+ $session = new Session(new \OC\Files\View('/'));
+ $session->setInitialized(Session::NOT_INITIALIZED);
}
}
@@ -515,8 +515,8 @@ class Hooks {
*/
public static function postEnable($params) {
if ($params['app'] === 'files_encryption') {
- $session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
- $session->setInitialized(\OCA\Encryption\Session::NOT_INITIALIZED);
+ $session = new Session(new \OC\Files\View('/'));
+ $session->setInitialized(Session::NOT_INITIALIZED);
}
}
diff --git a/apps/files_encryption/lib/keymanager.php b/apps/files_encryption/lib/keymanager.php
index c8de1a73d27..dfde3684798 100644
--- a/apps/files_encryption/lib/keymanager.php
+++ b/apps/files_encryption/lib/keymanager.php
@@ -22,7 +22,7 @@
*
*/
-namespace OCA\Encryption;
+namespace OCA\Files_Encryption;
/**
* Class to manage storage and retrieval of encryption keys
@@ -141,7 +141,7 @@ class Keymanager {
* store file encryption key
*
* @param \OC\Files\View $view
- * @param \OCA\Encryption\Util $util
+ * @param \OCA\Files_Encryption\Util $util
* @param string $path relative path of the file, including filename
* @param string $catfile keyfile content
* @return bool true/false
@@ -158,7 +158,7 @@ class Keymanager {
* get path to key folder for a given file
*
* @param \OC\Files\View $view relative to data directory
- * @param \OCA\Encryption\Util $util
+ * @param \OCA\Files_Encryption\Util $util
* @param string $path path to the file, relative to the users file directory
* @return string
*/
@@ -186,7 +186,7 @@ class Keymanager {
* get path to file key for a given file
*
* @param \OC\Files\View $view relative to data directory
- * @param \OCA\Encryption\Util $util
+ * @param \OCA\Files_Encryption\Util $util
* @param string $path path to the file, relative to the users file directory
* @return string
*/
@@ -199,7 +199,7 @@ class Keymanager {
* get path to share key for a given user
*
* @param \OC\Files\View $view relateive to data directory
- * @param \OCA\Encryption\Util $util
+ * @param \OCA\Files_Encryption\Util $util
* @param string $path path to file relative to the users files directoy
* @param string $uid user for whom we want the share-key path
* @retrun string
@@ -243,9 +243,8 @@ class Keymanager {
/**
* retrieve keyfile for an encrypted file
* @param \OC\Files\View $view
- * @param \OCA\Encryption\Util $util
+ * @param \OCA\Files_Encryption\Util $util
* @param string|false $filePath
- * @internal param \OCA\Encryption\file $string name
* @return string file key or false
* @note The keyfile returned is asymmetrically encrypted. Decryption
* of the keyfile must be performed by client code
@@ -347,7 +346,7 @@ class Keymanager {
/**
* store multiple share keys for a single file
* @param \OC\Files\View $view
- * @param \OCA\Encryption\Util $util
+ * @param \OCA\Files_Encryption\Util $util
* @param string $path
* @param array $shareKeys
* @return bool
@@ -376,7 +375,7 @@ class Keymanager {
* retrieve shareKey for an encrypted file
* @param \OC\Files\View $view
* @param string $userId
- * @param \OCA\Encryption\Util $util
+ * @param \OCA\Files_Encryption\Util $util
* @param string $filePath
* @return string file key or false
* @note The sharekey returned is encrypted. Decryption
diff --git a/apps/files_encryption/lib/migration.php b/apps/files_encryption/lib/migration.php
index ee2e52114cf..1bab1dfe4a5 100644
--- a/apps/files_encryption/lib/migration.php
+++ b/apps/files_encryption/lib/migration.php
@@ -35,8 +35,8 @@ class Migration {
public function __construct() {
$this->view = new \OC\Files\View();
- $this->public_share_key_id = \OCA\Encryption\Helper::getPublicShareKeyId();
- $this->recovery_key_id = \OCA\Encryption\Helper::getRecoveryKeyId();
+ $this->public_share_key_id = Helper::getPublicShareKeyId();
+ $this->recovery_key_id = Helper::getRecoveryKeyId();
}
public function reorganizeFolderStructure() {
diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php
index 0e8ca7319f0..ba78c81aa35 100644
--- a/apps/files_encryption/lib/proxy.php
+++ b/apps/files_encryption/lib/proxy.php
@@ -30,11 +30,11 @@
* webui.
*/
-namespace OCA\Encryption;
+namespace OCA\Files_Encryption;
/**
* Class Proxy
- * @package OCA\Encryption
+ * @package OCA\Files_Encryption
*/
class Proxy extends \OC_FileProxy {
@@ -130,7 +130,7 @@ class Proxy extends \OC_FileProxy {
$view = new \OC\Files\View('/');
// get relative path
- $relativePath = \OCA\Encryption\Helper::stripUserFilesPath($path);
+ $relativePath = Helper::stripUserFilesPath($path);
if (!isset($relativePath)) {
return true;
@@ -338,7 +338,7 @@ class Proxy extends \OC_FileProxy {
}
// get relative path
- $relativePath = \OCA\Encryption\Helper::stripUserFilesPath($path);
+ $relativePath = Helper::stripUserFilesPath($path);
// if path is empty we cannot resolve anything
if (empty($relativePath)) {
diff --git a/apps/files_encryption/lib/session.php b/apps/files_encryption/lib/session.php
index 7f1e0664cdc..4c70bc7e8fc 100644
--- a/apps/files_encryption/lib/session.php
+++ b/apps/files_encryption/lib/session.php
@@ -22,7 +22,7 @@
*
*/
-namespace OCA\Encryption;
+namespace OCA\Files_Encryption;
/**
* Class for handling encryption related session data
@@ -72,8 +72,8 @@ class Session {
Keymanager::setPublicKey($keypair['publicKey'], $publicShareKeyId);
// Encrypt private key empty passphrase
- $cipher = \OCA\Encryption\Helper::getCipher();
- $encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($keypair['privateKey'], '', $cipher);
+ $cipher = Helper::getCipher();
+ $encryptedKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], '', $cipher);
if ($encryptedKey) {
Keymanager::setPrivateSystemKey($encryptedKey, $publicShareKeyId);
} else {
@@ -82,7 +82,7 @@ class Session {
}
- if (\OCA\Encryption\Helper::isPublicAccess() && !self::getPublicSharePrivateKey()) {
+ if (Helper::isPublicAccess() && !self::getPublicSharePrivateKey()) {
// Disable encryption proxy to prevent recursive calls
$proxyStatus = \OC_FileProxy::$enabled;
\OC_FileProxy::$enabled = false;
@@ -151,7 +151,7 @@ class Session {
public function getInitialized() {
if (!is_null(\OC::$server->getSession()->get('encryptionInitialized'))) {
return \OC::$server->getSession()->get('encryptionInitialized');
- } else if (\OCA\Encryption\Helper::isPublicAccess() && self::getPublicSharePrivateKey()) {
+ } else if (Helper::isPublicAccess() && self::getPublicSharePrivateKey()) {
return self::INIT_SUCCESSFUL;
} else {
return self::NOT_INITIALIZED;
@@ -165,7 +165,7 @@ class Session {
*/
public function getPrivateKey() {
// return the public share private key if this is a public access
- if (\OCA\Encryption\Helper::isPublicAccess()) {
+ if (Helper::isPublicAccess()) {
return self::getPublicSharePrivateKey();
} else {
if (!is_null(\OC::$server->getSession()->get('privateKey'))) {
diff --git a/apps/files_encryption/lib/stream.php b/apps/files_encryption/lib/stream.php
index 4038e641343..17da4eb1cdc 100644
--- a/apps/files_encryption/lib/stream.php
+++ b/apps/files_encryption/lib/stream.php
@@ -30,8 +30,9 @@
* and then fopen('crypt://streams/foo');
*/
-namespace OCA\Encryption;
-use OCA\Encryption\Exception\EncryptionException;
+namespace OCA\Files_Encryption;
+
+use OCA\Files_Encryption\Exception\EncryptionException;
/**
* Provides 'crypt://' stream wrapper protocol.
@@ -81,7 +82,7 @@ class Stream {
private $rootView; // a fsview object set to '/'
/**
- * @var \OCA\Encryption\Session
+ * @var \OCA\Files_Encryption\Session
*/
private $session;
private $privateKey;
@@ -92,7 +93,7 @@ class Stream {
* @param int $options
* @param string $opened_path
* @return bool
- * @throw \OCA\Encryption\Exception\EncryptionException
+ * @throw \OCA\Files_Encryption\Exception\EncryptionException
*/
public function stream_open($path, $mode, $options, &$opened_path) {
@@ -106,7 +107,7 @@ class Stream {
$this->rootView = new \OC\Files\View('/');
}
- $this->session = new \OCA\Encryption\Session($this->rootView);
+ $this->session = new Session($this->rootView);
$this->privateKey = $this->session->getPrivateKey();
if ($this->privateKey === false) {
@@ -162,7 +163,7 @@ class Stream {
if($this->privateKey === false) {
// if private key is not valid redirect user to a error page
- \OCA\Encryption\Helper::redirectToErrorPage($this->session);
+ Helper::redirectToErrorPage($this->session);
}
$this->size = $this->rootView->filesize($this->rawPath);
@@ -251,7 +252,7 @@ class Stream {
/**
* @param int $count
* @return bool|string
- * @throws \OCA\Encryption\Exception\EncryptionException
+ * @throws \OCA\Files_Encryption\Exception\EncryptionException
*/
public function stream_read($count) {
@@ -329,7 +330,7 @@ class Stream {
// Fetch and decrypt keyfile
// Fetch existing keyfile
- $util = new \OCA\Encryption\Util($this->rootView, $this->userId);
+ $util = new Util($this->rootView, $this->userId);
$this->encKeyfile = Keymanager::getFileKey($this->rootView, $util, $this->relPath);
// If a keyfile already exists
@@ -340,13 +341,13 @@ class Stream {
// if there is no valid private key return false
if ($this->privateKey === false) {
// if private key is not valid redirect user to a error page
- \OCA\Encryption\Helper::redirectToErrorPage($this->session);
+ Helper::redirectToErrorPage($this->session);
return false;
}
if ($shareKey === false) {
// if no share key is available redirect user to a error page
- \OCA\Encryption\Helper::redirectToErrorPage($this->session, \OCA\Encryption\Crypt::ENCRYPTION_NO_SHARE_KEY_FOUND);
+ Helper::redirectToErrorPage($this->session, Crypt::ENCRYPTION_NO_SHARE_KEY_FOUND);
return false;
}
@@ -367,7 +368,7 @@ class Stream {
/**
* write header at beginning of encrypted file
*
- * @throws Exception\EncryptionException
+ * @throws \OCA\Files_Encryption\Exception\EncryptionException
*/
private function writeHeader() {
@@ -589,7 +590,7 @@ class Stream {
}
// if private key is not valid redirect user to a error page
- \OCA\Encryption\Helper::redirectToErrorPage($this->session);
+ Helper::redirectToErrorPage($this->session);
}
if (
diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php
index 42a7e20c87f..ad6948b95a6 100644
--- a/apps/files_encryption/lib/util.php
+++ b/apps/files_encryption/lib/util.php
@@ -23,7 +23,7 @@
*
*/
-namespace OCA\Encryption;
+namespace OCA\Files_Encryption;
/**
* Class for utilities relating to encrypted file storage system
@@ -83,7 +83,7 @@ class Util {
// make sure that the owners home is mounted
\OC\Files\Filesystem::initMountPoints($userId);
- if (\OCA\Encryption\Helper::isPublicAccess()) {
+ if (Helper::isPublicAccess()) {
$this->keyId = $this->publicShareKeyId;
$this->isPublic = true;
} else {
@@ -225,7 +225,7 @@ class Util {
*/
public function recoveryEnabledForUser() {
- $recoveryMode = \OC_Preferences::getValue($this->userId, 'files_encryption', 'recovery_enabled', '0');
+ $recoveryMode = \OC::$server->getConfig()->getUserValue($this->userId, 'files_encryption', 'recovery_enabled', '0');
return ($recoveryMode === '1') ? true : false;
@@ -239,7 +239,12 @@ class Util {
public function setRecoveryForUser($enabled) {
$value = $enabled ? '1' : '0';
- return \OC_Preferences::setValue($this->userId, 'files_encryption', 'recovery_enabled', $value);
+ try {
+ \OC::$server->getConfig()->setUserValue($this->userId, 'files_encryption', 'recovery_enabled', $value);
+ return true;
+ } catch(\OCP\PreConditionNotMetException $e) {
+ return false;
+ }
}
@@ -272,7 +277,7 @@ class Util {
if ($file !== "." && $file !== "..") {
$filePath = $directory . '/' . $this->view->getRelativePath('/' . $file);
- $relPath = \OCA\Encryption\Helper::stripUserFilesPath($filePath);
+ $relPath = Helper::stripUserFilesPath($filePath);
// If the path is a directory, search
// its contents
@@ -446,13 +451,13 @@ class Util {
}
}
fclose($stream);
- $relPath = \OCA\Encryption\Helper::stripUserFilesPath($path);
+ $relPath = Helper::stripUserFilesPath($path);
$shareKey = Keymanager::getShareKey($this->view, $this->keyId, $this, $relPath);
if($shareKey===false) {
\OC_FileProxy::$enabled = $proxyStatus;
return $result;
}
- $session = new \OCA\Encryption\Session($this->view);
+ $session = new Session($this->view);
$privateKey = $session->getPrivateKey();
$plainKeyfile = $this->decryptKeyfile($relPath, $privateKey);
$plainKey = Crypt::multiKeyDecrypt($plainKeyfile, $shareKey, $privateKey);
@@ -1035,7 +1040,7 @@ class Util {
// Make sure that a share key is generated for the owner too
list($owner, $ownerPath) = $this->getUidAndFilename($filePath);
- $ownerPath = \OCA\Encryption\Helper::stripPartialFileExtension($ownerPath);
+ $ownerPath = Helper::stripPartialFileExtension($ownerPath);
// always add owner to the list of users with access to the file
$userIds = array($owner);
@@ -1102,7 +1107,12 @@ class Util {
// convert to string if preCondition is set
$preCondition = ($preCondition === null) ? null : (string)$preCondition;
- return \OC_Preferences::setValue($this->userId, 'files_encryption', 'migration_status', (string)$status, $preCondition);
+ try {
+ \OC::$server->getConfig()->setUserValue($this->userId, 'files_encryption', 'migration_status', (string)$status, $preCondition);
+ return true;
+ } catch(\OCP\PreConditionNotMetException $e) {
+ return false;
+ }
}
@@ -1154,9 +1164,9 @@ class Util {
$migrationStatus = false;
if (\OCP\User::userExists($this->userId)) {
- $migrationStatus = \OC_Preferences::getValue($this->userId, 'files_encryption', 'migration_status');
+ $migrationStatus = \OC::$server->getConfig()->getUserValue($this->userId, 'files_encryption', 'migration_status', null);
if ($migrationStatus === null) {
- \OC_Preferences::setValue($this->userId, 'files_encryption', 'migration_status', (string)self::MIGRATION_OPEN);
+ \OC::$server->getConfig()->setUserValue($this->userId, 'files_encryption', 'migration_status', (string)self::MIGRATION_OPEN);
$migrationStatus = self::MIGRATION_OPEN;
}
}
@@ -1392,7 +1402,7 @@ class Util {
if ($this->view->is_dir($this->userFilesDir . '/' . $filePath)) {
$this->addRecoveryKeys($filePath . '/');
} else {
- $session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
+ $session = new Session(new \OC\Files\View('/'));
$sharingEnabled = \OCP\Share::isEnabled();
$usersSharing = $this->getSharingUsersArray($sharingEnabled, $filePath);
$this->setSharedFileKeyfiles($session, $usersSharing, $filePath);
@@ -1549,10 +1559,10 @@ class Util {
*/
public function initEncryption($params) {
- $session = new \OCA\Encryption\Session($this->view);
+ $session = new Session($this->view);
// we tried to initialize the encryption app for this session
- $session->setInitialized(\OCA\Encryption\Session::INIT_EXECUTED);
+ $session->setInitialized(Session::INIT_EXECUTED);
$encryptedKey = Keymanager::getPrivateKey($this->view, $params['uid']);
@@ -1568,7 +1578,7 @@ class Util {
}
$session->setPrivateKey($privateKey);
- $session->setInitialized(\OCA\Encryption\Session::INIT_SUCCESSFUL);
+ $session->setInitialized(Session::INIT_SUCCESSFUL);
return $session;
}
@@ -1577,7 +1587,7 @@ class Util {
* remove encryption related keys from the session
*/
public function closeEncryptionSession() {
- $session = new \OCA\Encryption\Session($this->view);
+ $session = new Session($this->view);
$session->closeSession();
}
diff --git a/apps/files_encryption/settings-admin.php b/apps/files_encryption/settings-admin.php
index 496a7cffb50..0f5d56a3734 100644
--- a/apps/files_encryption/settings-admin.php
+++ b/apps/files_encryption/settings-admin.php
@@ -12,7 +12,7 @@ $tmpl = new OCP\Template('files_encryption', 'settings-admin');
// Check if an adminRecovery account is enabled for recovering files after lost pwd
$recoveryAdminEnabled = \OC::$server->getAppConfig()->getValue('files_encryption', 'recoveryAdminEnabled', '0');
-$session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
+$session = new \OCA\Files_Encryption\Session(new \OC\Files\View('/'));
$initStatus = $session->getInitialized();
$tmpl->assign('recoveryEnabled', $recoveryAdminEnabled);
diff --git a/apps/files_encryption/settings-personal.php b/apps/files_encryption/settings-personal.php
index e9875518f67..834bac611ad 100644
--- a/apps/files_encryption/settings-personal.php
+++ b/apps/files_encryption/settings-personal.php
@@ -13,8 +13,8 @@ $tmpl = new OCP\Template('files_encryption', 'settings-personal');
$user = \OCP\USER::getUser();
$view = new \OC\Files\View('/');
-$util = new \OCA\Encryption\Util($view, $user);
-$session = new \OCA\Encryption\Session($view);
+$util = new \OCA\Files_Encryption\Util($view, $user);
+$session = new \OCA\Files_Encryption\Session($view);
$privateKeySet = $session->getPrivateKey() !== false;
// did we tried to initialize the keys for this session?
@@ -28,7 +28,6 @@ $result = false;
if ($recoveryAdminEnabled || !$privateKeySet) {
\OCP\Util::addscript('files_encryption', 'settings-personal');
- \OCP\Util::addScript('settings', 'personal');
$tmpl->assign('recoveryEnabled', $recoveryAdminEnabled);
$tmpl->assign('recoveryEnabledForUser', $recoveryEnabledForUser);
diff --git a/apps/files_encryption/templates/invalid_private_key.php b/apps/files_encryption/templates/invalid_private_key.php
index b275b9c428c..b148e65b199 100644
--- a/apps/files_encryption/templates/invalid_private_key.php
+++ b/apps/files_encryption/templates/invalid_private_key.php
@@ -4,7 +4,7 @@
<?php p($_['message']); ?>
<br/>
- <?php if($_['errorCode'] === \OCA\Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR): ?>
+ <?php if($_['errorCode'] === \OCA\Files_Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR): ?>
<?php p($l->t('Go directly to your %spersonal settings%s.', array('<a href="'.$location.'">', '</a>'))); ?>
<?php endif; ?>
<br/>
diff --git a/apps/files_encryption/templates/settings-admin.php b/apps/files_encryption/templates/settings-admin.php
index d003f245bb3..4c1d724b6dd 100644
--- a/apps/files_encryption/templates/settings-admin.php
+++ b/apps/files_encryption/templates/settings-admin.php
@@ -1,7 +1,7 @@
<form id="encryption" class="section">
<h2><?php p($l->t('Encryption')); ?></h2>
- <?php if($_["initStatus"] === \OCA\Encryption\Session::NOT_INITIALIZED): ?>
+ <?php if($_["initStatus"] === \OCA\Files_Encryption\Session::NOT_INITIALIZED): ?>
<?php p($l->t("Encryption App is enabled but your keys are not initialized, please log-out and log-in again")); ?>
<?php else: ?>
<p id="encryptionSetRecoveryKey">
diff --git a/apps/files_encryption/templates/settings-personal.php b/apps/files_encryption/templates/settings-personal.php
index ce8cf6aec28..17123a154d9 100644
--- a/apps/files_encryption/templates/settings-personal.php
+++ b/apps/files_encryption/templates/settings-personal.php
@@ -1,11 +1,11 @@
<form id="encryption" class="section">
<h2><?php p( $l->t( 'Encryption' ) ); ?></h2>
- <?php if ( $_["initialized"] === \OCA\Encryption\Session::NOT_INITIALIZED ): ?>
+ <?php if ( $_["initialized"] === \OCA\Files_Encryption\Session::NOT_INITIALIZED ): ?>
<?php p($l->t("Encryption App is enabled but your keys are not initialized, please log-out and log-in again")); ?>
- <?php elseif ( $_["initialized"] === \OCA\Encryption\Session::INIT_EXECUTED ): ?>
+ <?php elseif ( $_["initialized"] === \OCA\Files_Encryption\Session::INIT_EXECUTED ): ?>
<p>
<a name="changePKPasswd" />
<label for="changePrivateKeyPasswd">
@@ -37,7 +37,7 @@
<span class="msg"></span>
</p>
- <?php elseif ( $_["recoveryEnabled"] && $_["privateKeySet"] && $_["initialized"] === \OCA\Encryption\Session::INIT_SUCCESSFUL ): ?>
+ <?php elseif ( $_["recoveryEnabled"] && $_["privateKeySet"] && $_["initialized"] === \OCA\Files_Encryption\Session::INIT_SUCCESSFUL ): ?>
<br />
<p id="userEnableRecovery">
<label for="userEnableRecovery"><?php p( $l->t( "Enable password recovery:" ) ); ?></label>
diff --git a/apps/files_encryption/tests/crypt.php b/apps/files_encryption/tests/crypt.php
index ab2ce066cdb..451fa62fe57 100755
--- a/apps/files_encryption/tests/crypt.php
+++ b/apps/files_encryption/tests/crypt.php
@@ -7,12 +7,12 @@
* See the COPYING-README file.
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Crypt
+ * Class Crypt
*/
-class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
+class Crypt extends TestCase {
const TEST_ENCRYPTION_CRYPT_USER1 = "test-crypt-user1";
@@ -23,7 +23,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
public $dataUrl;
public $dataShort;
/**
- * @var OC\Files\View
+ * @var \OC\Files\View
*/
public $view;
public $legacyEncryptedData;
@@ -34,16 +34,16 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
parent::setUpBeforeClass();
// create test user
- self::loginHelper(\Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1, true);
+ self::loginHelper(self::TEST_ENCRYPTION_CRYPT_USER1, true);
}
protected function setUp() {
parent::setUp();
// set user id
- self::loginHelper(\Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1);
- $this->userId = \Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1;
- $this->pass = \Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1;
+ self::loginHelper(self::TEST_ENCRYPTION_CRYPT_USER1);
+ $this->userId = self::TEST_ENCRYPTION_CRYPT_USER1;
+ $this->pass = self::TEST_ENCRYPTION_CRYPT_USER1;
// set content for encrypting / decrypting in tests
$this->dataLong = file_get_contents(__DIR__ . '/../lib/crypt.php');
@@ -52,16 +52,16 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
$this->legacyData = __DIR__ . '/legacy-text.txt';
$this->legacyEncryptedData = __DIR__ . '/legacy-encrypted-text.txt';
$this->legacyEncryptedDataKey = __DIR__ . '/encryption.key';
- $this->randomKey = Encryption\Crypt::generateKey();
+ $this->randomKey = \OCA\Files_Encryption\Crypt::generateKey();
- $keypair = Encryption\Crypt::createKeypair();
+ $keypair = \OCA\Files_Encryption\Crypt::createKeypair();
$this->genPublicKey = $keypair['publicKey'];
$this->genPrivateKey = $keypair['privateKey'];
$this->view = new \OC\Files\View('/');
// remember files_trashbin state
- $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ $this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we don't want to tests with app files_trashbin enabled
\OC_App::disable('files_trashbin');
@@ -70,9 +70,9 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
protected function tearDown() {
// reset app files_trashbin
if ($this->stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
} else {
- OC_App::disable('files_trashbin');
+ \OC_App::disable('files_trashbin');
}
$this->assertTrue(\OC_FileProxy::$enabled);
@@ -83,7 +83,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
public static function tearDownAfterClass() {
// cleanup test user
- \OC_User::deleteUser(\Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_CRYPT_USER1);
parent::tearDownAfterClass();
}
@@ -95,7 +95,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
# TODO: use more accurate (larger) string length for test confirmation
- $key = Encryption\Crypt::generateKey();
+ $key = \OCA\Files_Encryption\Crypt::generateKey();
$this->assertTrue(strlen($key) > 16);
@@ -104,16 +104,16 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
public function testDecryptPrivateKey() {
// test successful decrypt
- $crypted = Encryption\Crypt::symmetricEncryptFileContent($this->genPrivateKey, 'hat');
+ $crypted = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->genPrivateKey, 'hat');
- $header = Encryption\Crypt::generateHeader();
+ $header = \OCA\Files_Encryption\Crypt::generateHeader();
- $decrypted = Encryption\Crypt::decryptPrivateKey($header . $crypted, 'hat');
+ $decrypted = \OCA\Files_Encryption\Crypt::decryptPrivateKey($header . $crypted, 'hat');
$this->assertEquals($this->genPrivateKey, $decrypted);
//test private key decrypt with wrong password
- $wrongPasswd = Encryption\Crypt::decryptPrivateKey($crypted, 'hat2');
+ $wrongPasswd = \OCA\Files_Encryption\Crypt::decryptPrivateKey($crypted, 'hat2');
$this->assertEquals(false, $wrongPasswd);
@@ -127,12 +127,12 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
# TODO: search in keyfile for actual content as IV will ensure this test always passes
- $crypted = Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat');
+ $crypted = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat');
$this->assertNotEquals($this->dataShort, $crypted);
- $decrypt = Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat');
+ $decrypt = \OCA\Files_Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat');
$this->assertEquals($this->dataShort, $decrypt);
@@ -145,12 +145,12 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
# TODO: search in keyfile for actual content as IV will ensure this test always passes
- $crypted = Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat', 'AES-128-CFB');
+ $crypted = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat', 'AES-128-CFB');
$this->assertNotEquals($this->dataShort, $crypted);
- $decrypt = Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat', 'AES-128-CFB');
+ $decrypt = \OCA\Files_Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat', 'AES-128-CFB');
$this->assertEquals($this->dataShort, $decrypt);
@@ -348,7 +348,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
// remove the header to check if we can also decrypt old files without a header,
// this files should fall back to AES-128
- $cryptedWithoutHeader = substr($retreivedCryptedFile, Encryption\Crypt::BLOCKSIZE);
+ $cryptedWithoutHeader = substr($retreivedCryptedFile, \OCA\Files_Encryption\Crypt::BLOCKSIZE);
$this->view->file_put_contents($this->userId . '/files/' . $filename, $cryptedWithoutHeader);
// Re-enable proxy - our work is done
@@ -367,13 +367,13 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
*/
public function testIsEncryptedContent() {
- $this->assertFalse(Encryption\Crypt::isCatfileContent($this->dataUrl));
+ $this->assertFalse(\OCA\Files_Encryption\Crypt::isCatfileContent($this->dataUrl));
- $this->assertFalse(Encryption\Crypt::isCatfileContent($this->legacyEncryptedData));
+ $this->assertFalse(\OCA\Files_Encryption\Crypt::isCatfileContent($this->legacyEncryptedData));
- $keyfileContent = Encryption\Crypt::symmetricEncryptFileContent($this->dataUrl, 'hat', 'AES-128-CFB');
+ $keyfileContent = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->dataUrl, 'hat', 'AES-128-CFB');
- $this->assertTrue(Encryption\Crypt::isCatfileContent($keyfileContent));
+ $this->assertTrue(\OCA\Files_Encryption\Crypt::isCatfileContent($keyfileContent));
}
@@ -384,7 +384,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
# TODO: search in keyfile for actual content as IV will ensure this test always passes
- $pair1 = Encryption\Crypt::createKeypair();
+ $pair1 = \OCA\Files_Encryption\Crypt::createKeypair();
$this->assertEquals(2, count($pair1));
@@ -393,12 +393,12 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
$this->assertTrue(strlen($pair1['privateKey']) > 1);
- $crypted = Encryption\Crypt::multiKeyEncrypt($this->dataShort, array($pair1['publicKey']));
+ $crypted = \OCA\Files_Encryption\Crypt::multiKeyEncrypt($this->dataShort, array($pair1['publicKey']));
$this->assertNotEquals($this->dataShort, $crypted['data']);
- $decrypt = Encryption\Crypt::multiKeyDecrypt($crypted['data'], $crypted['keys'][0], $pair1['privateKey']);
+ $decrypt = \OCA\Files_Encryption\Crypt::multiKeyDecrypt($crypted['data'], $crypted['keys'][0], $pair1['privateKey']);
$this->assertEquals($this->dataShort, $decrypt);
@@ -529,7 +529,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
// relogin
$params['uid'] = $this->userId;
$params['password'] = 'test';
- OCA\Encryption\Hooks::login($params);
+ \OCA\Files_Encryption\Hooks::login($params);
// Get file decrypted contents
$newDecrypt = file_get_contents('crypt:///' . $this->userId . '/files/' . $filename);
diff --git a/apps/files_encryption/tests/helper.php b/apps/files_encryption/tests/helper.php
index 88ba9f20d53..bf86860125a 100644
--- a/apps/files_encryption/tests/helper.php
+++ b/apps/files_encryption/tests/helper.php
@@ -6,35 +6,35 @@
* See the COPYING-README file.
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Helper
+ * Class Helper
*/
-class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
+class Helper extends TestCase {
const TEST_ENCRYPTION_HELPER_USER1 = "test-helper-user1";
const TEST_ENCRYPTION_HELPER_USER2 = "test-helper-user2";
protected function setUpUsers() {
// create test user
- self::loginHelper(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER2, true);
- self::loginHelper(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1, true);
+ self::loginHelper(self::TEST_ENCRYPTION_HELPER_USER2, true);
+ self::loginHelper(self::TEST_ENCRYPTION_HELPER_USER1, true);
}
protected function cleanUpUsers() {
// cleanup test user
- \OC_User::deleteUser(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1);
- \OC_User::deleteUser(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER2);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_HELPER_USER1);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_HELPER_USER2);
}
public static function setupHooks() {
// Filesystem related hooks
- \OCA\Encryption\Helper::registerFilesystemHooks();
+ \OCA\Files_Encryption\Helper::registerFilesystemHooks();
// clear and register hooks
\OC_FileProxy::clearProxies();
- \OC_FileProxy::register(new OCA\Encryption\Proxy());
+ \OC_FileProxy::register(new \OCA\Files_Encryption\Proxy());
}
public static function tearDownAfterClass() {
@@ -49,13 +49,13 @@ class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
$partFilename = 'testfile.txt.part';
$filename = 'testfile.txt';
- $this->assertTrue(Encryption\Helper::isPartialFilePath($partFilename));
+ $this->assertTrue(\OCA\Files_Encryption\Helper::isPartialFilePath($partFilename));
- $this->assertEquals('testfile.txt', Encryption\Helper::stripPartialFileExtension($partFilename));
+ $this->assertEquals('testfile.txt', \OCA\Files_Encryption\Helper::stripPartialFileExtension($partFilename));
- $this->assertFalse(Encryption\Helper::isPartialFilePath($filename));
+ $this->assertFalse(\OCA\Files_Encryption\Helper::isPartialFilePath($filename));
- $this->assertEquals('testfile.txt', Encryption\Helper::stripPartialFileExtension($filename));
+ $this->assertEquals('testfile.txt', \OCA\Files_Encryption\Helper::stripPartialFileExtension($filename));
}
@@ -67,13 +67,13 @@ class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
$partFilename = 'testfile.txt.ocTransferId643653835.part';
$filename = 'testfile.txt';
- $this->assertTrue(Encryption\Helper::isPartialFilePath($partFilename));
+ $this->assertTrue(\OCA\Files_Encryption\Helper::isPartialFilePath($partFilename));
- $this->assertEquals('testfile.txt', Encryption\Helper::stripPartialFileExtension($partFilename));
+ $this->assertEquals('testfile.txt', \OCA\Files_Encryption\Helper::stripPartialFileExtension($partFilename));
- $this->assertFalse(Encryption\Helper::isPartialFilePath($filename));
+ $this->assertFalse(\OCA\Files_Encryption\Helper::isPartialFilePath($filename));
- $this->assertEquals('testfile.txt', Encryption\Helper::stripPartialFileExtension($filename));
+ $this->assertEquals('testfile.txt', \OCA\Files_Encryption\Helper::stripPartialFileExtension($filename));
}
function testGetPathToRealFile() {
@@ -85,8 +85,8 @@ class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
$versionPath = "/user/files_versions/foo/bar/test.txt.v456756835";
$cachePath = "/user/cache/transferid636483/foo/bar/test.txt";
- $this->assertEquals($relativePath, Encryption\Helper::getPathToRealFile($versionPath));
- $this->assertEquals($relativePath, Encryption\Helper::getPathToRealFile($cachePath));
+ $this->assertEquals($relativePath, \OCA\Files_Encryption\Helper::getPathToRealFile($versionPath));
+ $this->assertEquals($relativePath, \OCA\Files_Encryption\Helper::getPathToRealFile($cachePath));
}
function testGetUser() {
@@ -100,20 +100,20 @@ class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
self::loginHelper(self::TEST_ENCRYPTION_HELPER_USER1);
// if we are logged-in every path should return the currently logged-in user
- $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path3));
+ $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, \OCA\Files_Encryption\Helper::getUser($path3));
// now log out
self::logoutHelper();
// now we should only get the user from /user/files and user/cache paths
- $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path1));
- $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path2));
+ $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, \OCA\Files_Encryption\Helper::getUser($path1));
+ $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, \OCA\Files_Encryption\Helper::getUser($path2));
- $this->assertFalse(Encryption\Helper::getUser($path3));
- $this->assertFalse(Encryption\Helper::getUser($path4));
+ $this->assertFalse(\OCA\Files_Encryption\Helper::getUser($path3));
+ $this->assertFalse(\OCA\Files_Encryption\Helper::getUser($path4));
// Log-in again
- self::loginHelper(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_HELPER_USER1);
self::cleanUpUsers();
}
diff --git a/apps/files_encryption/tests/hooks.php b/apps/files_encryption/tests/hooks.php
index d5a30f5074a..7c60024d637 100644
--- a/apps/files_encryption/tests/hooks.php
+++ b/apps/files_encryption/tests/hooks.php
@@ -20,13 +20,13 @@
*
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Hooks
+ * Class Hooks
* this class provide basic hook app tests
*/
-class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
+class Hooks extends TestCase {
const TEST_ENCRYPTION_HOOKS_USER1 = "test-encryption-hooks-user1.dot";
const TEST_ENCRYPTION_HOOKS_USER2 = "test-encryption-hooks-user2.dot";
@@ -64,20 +64,20 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
);
// create test user
- self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1, true);
- self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2, true);
+ self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER1, true);
+ self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER2, true);
}
protected function setUp() {
parent::setUp();
// set user id
- self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
- \OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER1);
+ \OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER1);
// init filesystem view
- $this->user1View = new \OC\Files\View('/'. \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '/files');
- $this->user2View = new \OC\Files\View('/'. \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '/files');
+ $this->user1View = new \OC\Files\View('/'. self::TEST_ENCRYPTION_HOOKS_USER1 . '/files');
+ $this->user2View = new \OC\Files\View('/'. self::TEST_ENCRYPTION_HOOKS_USER2 . '/files');
$this->rootView = new \OC\Files\View('/');
// init short data
@@ -89,8 +89,8 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
public static function tearDownAfterClass() {
// cleanup test user
- \OC_User::deleteUser(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
- \OC_User::deleteUser(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_HOOKS_USER1);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_HOOKS_USER2);
parent::tearDownAfterClass();
}
@@ -104,7 +104,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
$this->assertTrue(is_array($row));
// disabling the app should delete all user specific settings
- \OCA\Encryption\Hooks::preDisable(array('app' => 'files_encryption'));
+ \OCA\Files_Encryption\Hooks::preDisable(array('app' => 'files_encryption'));
// check if user specific settings for the encryption app are really gone
$query = \OC_DB::prepare('SELECT * FROM `*PREFIX*preferences` WHERE `appid` = ?');
@@ -121,7 +121,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
function testDeleteHooks() {
// remember files_trashbin state
- $stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ $stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we want to tests with app files_trashbin disabled
\OC_App::disable('files_trashbin');
@@ -134,14 +134,14 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
// check if all keys are generated
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
self::logoutHelper();
- self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
- \OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER2);
+ \OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER2);
$this->user2View->file_put_contents($this->filename, $this->data);
@@ -149,7 +149,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
// check if all keys are generated
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
@@ -164,7 +164,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
// all keys should still exist
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
@@ -176,33 +176,33 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
// check if keys from user2 are really deleted
$this->assertFalse($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
$this->assertFalse($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
// but user1 keys should still exist
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
if ($stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
}
else {
- OC_App::disable('files_trashbin');
+ \OC_App::disable('files_trashbin');
}
}
function testDeleteHooksForSharedFiles() {
self::logoutHelper();
- self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
- \OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER1);
+ \OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER1);
// remember files_trashbin state
- $stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ $stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we want to tests with app files_trashbin disabled
\OC_App::disable('files_trashbin');
@@ -215,7 +215,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
// check if all keys are generated
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
@@ -231,11 +231,11 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
// check if new share key exists
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
self::logoutHelper();
- self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
- \OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER2);
+ \OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER2);
// user2 update the shared file
$this->user2View->file_put_contents($this->filename, $this->data);
@@ -243,7 +243,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
// keys should be stored at user1s dir, not in user2s
$this->assertFalse($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
$this->assertFalse($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
@@ -255,24 +255,24 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
// share key for user2 from user1s home should be gone, all other keys should still exists
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
$this->assertFalse($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
$this->assertTrue($this->rootView->file_exists(
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
// cleanup
self::logoutHelper();
- self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
- \OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER1);
+ \OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER1);
if ($stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
}
else {
- OC_App::disable('files_trashbin');
+ \OC_App::disable('files_trashbin');
}
}
@@ -407,35 +407,35 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
$view = new \OC\Files\View();
// set user password for the first time
- \OCA\Encryption\Hooks::postCreateUser(array('uid' => 'newUser', 'password' => 'newUserPassword'));
+ \OCA\Files_Encryption\Hooks::postCreateUser(array('uid' => 'newUser', 'password' => 'newUserPassword'));
- $this->assertTrue($view->file_exists(\OCA\Encryption\Keymanager::getPublicKeyPath() . '/newUser.publicKey'));
+ $this->assertTrue($view->file_exists(\OCA\Files_Encryption\Keymanager::getPublicKeyPath() . '/newUser.publicKey'));
$this->assertTrue($view->file_exists('newUser/files_encryption/newUser.privateKey'));
// check if we are able to decrypt the private key
- $encryptedKey = \OCA\Encryption\Keymanager::getPrivateKey($view, 'newUser');
- $privateKey = \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, 'newUserPassword');
+ $encryptedKey = \OCA\Files_Encryption\Keymanager::getPrivateKey($view, 'newUser');
+ $privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, 'newUserPassword');
$this->assertTrue(is_string($privateKey));
// change the password before the user logged-in for the first time,
// we can replace the encryption keys
- \OCA\Encryption\Hooks::setPassphrase(array('uid' => 'newUser', 'password' => 'passwordChanged'));
+ \OCA\Files_Encryption\Hooks::setPassphrase(array('uid' => 'newUser', 'password' => 'passwordChanged'));
- $encryptedKey = \OCA\Encryption\Keymanager::getPrivateKey($view, 'newUser');
- $privateKey = \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged');
+ $encryptedKey = \OCA\Files_Encryption\Keymanager::getPrivateKey($view, 'newUser');
+ $privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged');
$this->assertTrue(is_string($privateKey));
// now create a files folder to simulate a already used account
$view->mkdir('/newUser/files');
// change the password after the user logged in, now the password should not change
- \OCA\Encryption\Hooks::setPassphrase(array('uid' => 'newUser', 'password' => 'passwordChanged2'));
+ \OCA\Files_Encryption\Hooks::setPassphrase(array('uid' => 'newUser', 'password' => 'passwordChanged2'));
- $encryptedKey = \OCA\Encryption\Keymanager::getPrivateKey($view, 'newUser');
- $privateKey = \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged2');
+ $encryptedKey = \OCA\Files_Encryption\Keymanager::getPrivateKey($view, 'newUser');
+ $privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged2');
$this->assertFalse($privateKey);
- $privateKey = \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged');
+ $privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged');
$this->assertTrue(is_string($privateKey));
}
diff --git a/apps/files_encryption/tests/keymanager.php b/apps/files_encryption/tests/keymanager.php
index 21f03839430..82df9350d4b 100644
--- a/apps/files_encryption/tests/keymanager.php
+++ b/apps/files_encryption/tests/keymanager.php
@@ -6,12 +6,12 @@
* See the COPYING-README file.
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Keymanager
+ * Class Keymanager
*/
-class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
+class Keymanager extends TestCase {
const TEST_USER = "test-keymanager-user.dot";
@@ -19,7 +19,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
public $pass;
public static $stateFilesTrashbin;
/**
- * @var OC\Files\View
+ * @var \OC\Files\View
*/
public $view;
public $randomKey;
@@ -32,14 +32,14 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
\OC_FileProxy::$enabled = false;
// remember files_trashbin state
- self::$stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ self::$stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we don't want to tests with app files_trashbin enabled
\OC_App::disable('files_trashbin');
// create test user
- \OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
- parent::loginHelper(\Test_Encryption_Keymanager::TEST_USER, true);
+ \OC_User::deleteUser(self::TEST_USER);
+ parent::loginHelper(self::TEST_USER, true);
}
protected function setUp() {
@@ -50,24 +50,24 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
$this->dataUrl = __DIR__ . '/../lib/crypt.php';
$this->legacyData = __DIR__ . '/legacy-text.txt';
$this->legacyEncryptedData = __DIR__ . '/legacy-encrypted-text.txt';
- $this->randomKey = Encryption\Crypt::generateKey();
+ $this->randomKey = \OCA\Files_Encryption\Crypt::generateKey();
- $keypair = Encryption\Crypt::createKeypair();
+ $keypair = \OCA\Files_Encryption\Crypt::createKeypair();
$this->genPublicKey = $keypair['publicKey'];
$this->genPrivateKey = $keypair['privateKey'];
$this->view = new \OC\Files\View('/');
- self::loginHelper(Test_Encryption_Keymanager::TEST_USER);
- $this->userId = \Test_Encryption_Keymanager::TEST_USER;
- $this->pass = \Test_Encryption_Keymanager::TEST_USER;
+ self::loginHelper(self::TEST_USER);
+ $this->userId = self::TEST_USER;
+ $this->pass = self::TEST_USER;
$userHome = \OC_User::getHome($this->userId);
$this->dataDir = str_replace('/' . $this->userId, '', $userHome);
}
function tearDown() {
- $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys');
+ $this->view->deleteAll('/' . self::TEST_USER . '/files_encryption/keys');
parent::tearDown();
}
@@ -75,10 +75,10 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
\OC_FileProxy::$enabled = true;
// cleanup test user
- \OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
+ \OC_User::deleteUser(self::TEST_USER);
// reset app files_trashbin
if (self::$stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
}
parent::tearDownAfterClass();
@@ -89,9 +89,9 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testGetPrivateKey() {
- $key = Encryption\Keymanager::getPrivateKey($this->view, $this->userId);
+ $key = \OCA\Files_Encryption\Keymanager::getPrivateKey($this->view, $this->userId);
- $privateKey = Encryption\Crypt::decryptPrivateKey($key, $this->pass);
+ $privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($key, $this->pass);
$res = openssl_pkey_get_private($privateKey);
@@ -108,7 +108,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testGetPublicKey() {
- $publiceKey = Encryption\Keymanager::getPublicKey($this->view, $this->userId);
+ $publiceKey = \OCA\Files_Encryption\Keymanager::getPublicKey($this->view, $this->userId);
$res = openssl_pkey_get_public($publiceKey);
@@ -128,7 +128,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
$file = 'unittest-' . $this->getUniqueID() . '.txt';
- $util = new Encryption\Util($this->view, $this->userId);
+ $util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
// Disable encryption proxy to prevent recursive calls
$proxyStatus = \OC_FileProxy::$enabled;
@@ -136,7 +136,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
$this->view->file_put_contents($this->userId . '/files/' . $file, $this->dataShort);
- Encryption\Keymanager::setFileKey($this->view, $util, $file, $key);
+ \OCA\Files_Encryption\Keymanager::setFileKey($this->view, $util, $file, $key);
$this->assertTrue($this->view->file_exists('/' . $this->userId . '/files_encryption/keys/' . $file . '/fileKey'));
@@ -154,7 +154,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
$key = "dummy key";
- Encryption\Keymanager::setPrivateKey($key, 'dummyUser');
+ \OCA\Files_Encryption\Keymanager::setPrivateKey($key, 'dummyUser');
$this->assertTrue($this->view->file_exists('/dummyUser/files_encryption/dummyUser.privateKey'));
@@ -169,13 +169,13 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
$key = "dummy key";
$keyName = "myDummyKey";
- $encHeader = Encryption\Crypt::generateHeader();
+ $encHeader = \OCA\Files_Encryption\Crypt::generateHeader();
- Encryption\Keymanager::setPrivateSystemKey($key, $keyName);
+ \OCA\Files_Encryption\Keymanager::setPrivateSystemKey($key, $keyName);
$this->assertTrue($this->view->file_exists('/files_encryption/' . $keyName . '.privateKey'));
- $result = Encryption\Keymanager::getPrivateSystemKey($keyName);
+ $result = \OCA\Files_Encryption\Keymanager::getPrivateSystemKey($keyName);
$this->assertSame($encHeader . $key, $result);
@@ -189,7 +189,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testGetUserKeys() {
- $keys = Encryption\Keymanager::getUserKeys($this->view, $this->userId);
+ $keys = \OCA\Files_Encryption\Keymanager::getUserKeys($this->view, $this->userId);
$resPublic = openssl_pkey_get_public($keys['publicKey']);
@@ -199,7 +199,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
$this->assertArrayHasKey('key', $sslInfoPublic);
- $privateKey = Encryption\Crypt::decryptPrivateKey($keys['privateKey'], $this->pass);
+ $privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($keys['privateKey'], $this->pass);
$resPrivate = openssl_pkey_get_private($privateKey);
@@ -215,85 +215,85 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testRecursiveDelShareKeysFolder() {
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
+ $this->view->mkdir('/' . self::TEST_USER . '/files/folder1');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files/folder1/existingFile.txt', 'data');
// create folder structure for some dummy share key files
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1');
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt');
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1');
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file2');
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder');
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/file2');
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder');
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file1');
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file2');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/file2');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/file2');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file1');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file2');
// create some dummy share keys
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt/user1.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt/' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.test.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/test-keymanager-userxdot.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/userx.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/' . Test_Encryption_Keymanager::TEST_USER . '.userx.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/' . Test_Encryption_Keymanager::TEST_USER . '.user1.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file2/user2.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file2/user3.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/file2/user3.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file1/user1.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user2.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user3.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt/user1.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt/' . self::TEST_USER . '.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.test.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/test-keymanager-userxdot.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/userx.' . self::TEST_USER . '.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/' . self::TEST_USER . '.userx.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.' . self::TEST_USER . '.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/' . self::TEST_USER . '.user1.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file2/user2.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file2/user3.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/file2/user3.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file1/user1.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user2.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user3.shareKey', 'data');
// recursive delete share keys from user1 and user2
- Encryption\Keymanager::delShareKey($this->view,
- array('user1', 'user2', Test_Encryption_Keymanager::TEST_USER),
- Encryption\Keymanager::getKeyPath($this->view, new Encryption\Util($this->view, Test_Encryption_Keymanager::TEST_USER), '/folder1'),
- Test_Encryption_Keymanager::TEST_USER,
+ \OCA\Files_Encryption\Keymanager::delShareKey($this->view,
+ array('user1', 'user2', self::TEST_USER),
+ \OCA\Files_Encryption\Keymanager::getKeyPath($this->view, new \OCA\Files_Encryption\Util($this->view, self::TEST_USER), '/folder1'),
+ self::TEST_USER,
'/folder1');
// check if share keys from user1 and user2 are deleted
$this->assertFalse($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt/user1.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt/user1.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file1/user1.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/share-keys/folder1/file1/user1.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file2/user2.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/share-keys/folder1/file2/user2.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/subfolder/subsubfolder/file1/user1.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/share-keys/folder1/subfolder/subsubfolder/file1/user1.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/subfolder/subsubfolder/file2/user2.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/share-keys/folder1/subfolder/subsubfolder/file2/user2.shareKey'));
// check if share keys from user3 still exists
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file2/user3.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/file2/user3.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user3.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user3.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/file2/user3.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/file2/user3.shareKey'));
// check if share keys for user or file with similar name
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.test.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.test.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/test-keymanager-userxdot.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/test-keymanager-userxdot.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/' . Test_Encryption_Keymanager::TEST_USER . '.userx.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/' . self::TEST_USER . '.userx.shareKey'));
// FIXME: this case currently cannot be distinguished, needs further fixing
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/userx.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/userx.' . self::TEST_USER . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.' . self::TEST_USER . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/' . Test_Encryption_Keymanager::TEST_USER . '.user1.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/' . self::TEST_USER . '.user1.shareKey'));
// owner key from existing file should still exists because the file is still there
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt/' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt/' . self::TEST_USER . '.shareKey'));
// cleanup
- $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ $this->view->deleteAll('/' . self::TEST_USER . '/files/folder1');
}
@@ -302,44 +302,44 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testRecursiveDelShareKeysFile() {
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
+ $this->view->mkdir('/' . self::TEST_USER . '/files/folder1');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files/folder1/existingFile.txt', 'data');
// create folder structure for some dummy share key files
- $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1');
+ $this->view->mkdir('/' . self::TEST_USER . '/files_encryption/share-keys/folder1');
// create some dummy share keys
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user1.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user2.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey', 'data');
- $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.user1.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.user2.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey', 'data');
+ $this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.' . self::TEST_USER . '.shareKey', 'data');
// recursive delete share keys from user1 and user2
- Encryption\Keymanager::delShareKey($this->view,
- array('user1', 'user2', Test_Encryption_Keymanager::TEST_USER),
- Encryption\Keymanager::getKeyPath($this->view, new Encryption\Util($this->view, Test_Encryption_Keymanager::TEST_USER), '/folder1/existingFile.txt'),
- Test_Encryption_Keymanager::TEST_USER,
+ \OCA\Files_Encryption\Keymanager::delShareKey($this->view,
+ array('user1', 'user2', self::TEST_USER),
+ \OCA\Files_Encryption\Keymanager::getKeyPath($this->view, new \OCA\Files_Encryption\Util($this->view, self::TEST_USER), '/folder1/existingFile.txt'),
+ self::TEST_USER,
'/folder1/existingFile.txt');
// check if share keys from user1 and user2 are deleted
$this->assertFalse($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.user1.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.user1.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.user2.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.user2.shareKey'));
// check if share keys for user3 and owner
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.' . self::TEST_USER . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey'));
+ '/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey'));
// cleanup
- $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ $this->view->deleteAll('/' . self::TEST_USER . '/files/folder1');
}
function testKeySetPreperation() {
- $basePath = '/'.Test_Encryption_Keymanager::TEST_USER.'/files';
+ $basePath = '/' . self::TEST_USER . '/files';
$path = '/folder1/subfolder/subsubfolder/file.txt';
$this->assertFalse($this->view->is_dir($basePath . '/testKeySetPreperation'));
@@ -356,9 +356,9 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
}
/**
- * dummy class to access protected methods of \OCA\Encryption\Keymanager for testing
+ * dummy class to access protected methods of \OCA\Files_Encryption\Keymanager for testing
*/
-class TestProtectedKeymanagerMethods extends \OCA\Encryption\Keymanager {
+class TestProtectedKeymanagerMethods extends \OCA\Files_Encryption\Keymanager {
/**
* @param \OC\Files\View $view relative to data/
@@ -366,6 +366,6 @@ class TestProtectedKeymanagerMethods extends \OCA\Encryption\Keymanager {
* @param string $basePath
*/
public static function testKeySetPreperation($view, $path) {
- return self::keySetPreparation($view, $path);
+ self::keySetPreparation($view, $path);
}
}
diff --git a/apps/files_encryption/tests/migration.php b/apps/files_encryption/tests/migration.php
index 21c4e354c29..f0d1ba202ed 100644
--- a/apps/files_encryption/tests/migration.php
+++ b/apps/files_encryption/tests/migration.php
@@ -21,15 +21,15 @@
*
*/
-use OCA\Encryption;
-use OCA\Files_Encryption\Migration;
+namespace OCA\Files_Encryption\Tests;
-class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
+class Migration extends TestCase {
const TEST_ENCRYPTION_MIGRATION_USER1='test_encryption_user1';
const TEST_ENCRYPTION_MIGRATION_USER2='test_encryption_user2';
const TEST_ENCRYPTION_MIGRATION_USER3='test_encryption_user3';
+ /** @var \OC\Files\View */
private $view;
private $public_share_key_id;
private $recovery_key_id;
@@ -49,8 +49,8 @@ class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
}
protected function tearDown() {
- if (OC_DB::tableExists('encryption_test')) {
- OC_DB::dropTable('encryption_test');
+ if (\OC_DB::tableExists('encryption_test')) {
+ \OC_DB::dropTable('encryption_test');
}
$this->assertTableNotExist('encryption_test');
@@ -60,10 +60,10 @@ class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
public function setUp() {
$this->loginHelper(self::TEST_ENCRYPTION_MIGRATION_USER1);
$this->view = new \OC\Files\View();
- $this->public_share_key_id = Encryption\Helper::getPublicShareKeyId();
- $this->recovery_key_id = Encryption\Helper::getRecoveryKeyId();
- if (OC_DB::tableExists('encryption_test')) {
- OC_DB::dropTable('encryption_test');
+ $this->public_share_key_id = \OCA\Files_Encryption\Helper::getPublicShareKeyId();
+ $this->recovery_key_id = \OCA\Files_Encryption\Helper::getRecoveryKeyId();
+ if (\OC_DB::tableExists('encryption_test')) {
+ \OC_DB::dropTable('encryption_test');
}
$this->assertTableNotExist('encryption_test');
}
@@ -101,7 +101,7 @@ class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
// create test table
$this->checkLastIndexId();
- OC_DB::createDbFromStructure(__DIR__ . '/encryption_table.xml');
+ \OC_DB::createDbFromStructure(__DIR__ . '/encryption_table.xml');
$this->checkLastIndexId();
}
@@ -109,12 +109,12 @@ class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
* @param string $table
*/
public function assertTableNotExist($table) {
- $type=OC_Config::getValue( "dbtype", "sqlite" );
+ $type = \OC_Config::getValue( "dbtype", "sqlite" );
if( $type == 'sqlite' || $type == 'sqlite3' ) {
// sqlite removes the tables after closing the DB
$this->assertTrue(true);
} else {
- $this->assertFalse(OC_DB::tableExists($table), 'Table ' . $table . ' exists.');
+ $this->assertFalse(\OC_DB::tableExists($table), 'Table ' . $table . ' exists.');
}
}
diff --git a/apps/files_encryption/tests/proxy.php b/apps/files_encryption/tests/proxy.php
index 72a9a9a5551..d5d9cc7daee 100644
--- a/apps/files_encryption/tests/proxy.php
+++ b/apps/files_encryption/tests/proxy.php
@@ -20,13 +20,13 @@
*
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Proxy
+ * Class Proxy
* this class provide basic proxy app tests
*/
-class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
+class Proxy extends TestCase {
const TEST_ENCRYPTION_PROXY_USER1 = "test-proxy-user1";
@@ -45,20 +45,20 @@ class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
parent::setUpBeforeClass();
// create test user
- self::loginHelper(\Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1, true);
+ self::loginHelper(self::TEST_ENCRYPTION_PROXY_USER1, true);
}
protected function setUp() {
parent::setUp();
// set user id
- \OC_User::setUserId(\Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1);
- $this->userId = \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1;
- $this->pass = \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1;
+ \OC_User::setUserId(self::TEST_ENCRYPTION_PROXY_USER1);
+ $this->userId = self::TEST_ENCRYPTION_PROXY_USER1;
+ $this->pass = self::TEST_ENCRYPTION_PROXY_USER1;
// init filesystem view
- $this->view = new \OC\Files\View('/'. \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files');
- $this->rootView = new \OC\Files\View('/'. \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 );
+ $this->view = new \OC\Files\View('/'. self::TEST_ENCRYPTION_PROXY_USER1 . '/files');
+ $this->rootView = new \OC\Files\View('/'. self::TEST_ENCRYPTION_PROXY_USER1 );
// init short data
$this->data = 'hats';
@@ -69,7 +69,7 @@ class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
public static function tearDownAfterClass() {
// cleanup test user
- \OC_User::deleteUser(\Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_PROXY_USER1);
parent::tearDownAfterClass();
}
@@ -137,13 +137,13 @@ class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
public function isExcludedPathProvider() {
return array(
- array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files/test.txt', false),
- array (\Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files/test.txt', false),
+ array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/files/test.txt', false),
+ array (self::TEST_ENCRYPTION_PROXY_USER1 . '/files/test.txt', false),
array ('/files/test.txt', true),
- array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files/versions/test.txt', false),
- array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files_versions/test.txt', false),
- array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files_trashbin/test.txt', true),
- array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/file/test.txt', true),
+ array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/files/versions/test.txt', false),
+ array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/files_versions/test.txt', false),
+ array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/files_trashbin/test.txt', true),
+ array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/file/test.txt', true),
);
}
@@ -153,7 +153,7 @@ class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
/**
* Dummy class to make protected methods available for testing
*/
-class DummyProxy extends \OCA\Encryption\Proxy {
+class DummyProxy extends \OCA\Files_Encryption\Proxy {
public function isExcludedPathTesting($path, $uid) {
return $this->isExcludedPath($path, $uid);
}
diff --git a/apps/files_encryption/tests/share.php b/apps/files_encryption/tests/share.php
index f827017569f..9c53c73aafa 100755
--- a/apps/files_encryption/tests/share.php
+++ b/apps/files_encryption/tests/share.php
@@ -20,12 +20,12 @@
*
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Share
+ * Class Share
*/
-class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
+class Share extends TestCase {
const TEST_ENCRYPTION_SHARE_USER1 = "test-share-user1";
const TEST_ENCRYPTION_SHARE_USER2 = "test-share-user2";
@@ -37,7 +37,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
public $filename;
public $dataShort;
/**
- * @var OC\Files\View
+ * @var \OC\Files\View
*/
public $view;
public $folder1;
@@ -55,18 +55,18 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
\OCA\Files_Sharing\Helper::registerHooks();
// clear and register hooks
- \OC_FileProxy::register(new OCA\Files\Share\Proxy());
+ \OC_FileProxy::register(new \OCA\Files\Share\Proxy());
// create users
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1, true);
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, true);
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3, true);
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4, true);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1, true);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2, true);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER3, true);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER4, true);
// create group and assign users
- \OC_Group::createGroup(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1);
- \OC_Group::addToGroup(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1);
- \OC_Group::addToGroup(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1);
+ \OC_Group::createGroup(self::TEST_ENCRYPTION_SHARE_GROUP1);
+ \OC_Group::addToGroup(self::TEST_ENCRYPTION_SHARE_USER3, self::TEST_ENCRYPTION_SHARE_GROUP1);
+ \OC_Group::addToGroup(self::TEST_ENCRYPTION_SHARE_USER4, self::TEST_ENCRYPTION_SHARE_GROUP1);
}
protected function setUp() {
@@ -82,21 +82,21 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$this->filename = 'share-tmp.test';
// remember files_trashbin state
- $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ $this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we don't want to tests with app files_trashbin enabled
\OC_App::disable('files_trashbin');
// login as first user
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
}
protected function tearDown() {
// reset app files_trashbin
if ($this->stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
} else {
- OC_App::disable('files_trashbin');
+ \OC_App::disable('files_trashbin');
}
parent::tearDown();
@@ -104,13 +104,13 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
public static function tearDownAfterClass() {
// clean group
- \OC_Group::deleteGroup(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1);
+ \OC_Group::deleteGroup(self::TEST_ENCRYPTION_SHARE_GROUP1);
// cleanup users
- \OC_User::deleteUser(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
- \OC_User::deleteUser(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
- \OC_User::deleteUser(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3);
- \OC_User::deleteUser(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_SHARE_USER1);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_SHARE_USER2);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_SHARE_USER3);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_SHARE_USER4);
parent::tearDownAfterClass();
}
@@ -122,10 +122,10 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testShareFile($withTeardown = true) {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// save file with content
- $cryptedFile = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
+ $cryptedFile = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
// test that data was successfully written
$this->assertTrue(is_int($cryptedFile));
@@ -136,7 +136,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// get the file info from previous created file
$fileInfo = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
// check if we have a valid file info
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
@@ -148,22 +148,22 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
\OC_FileProxy::$enabled = $proxyStatus;
// share the file
- \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// check if share key for user1 exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// login as user1
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2);
// get file contents
$retrievedCryptedFile = $this->view->file_get_contents(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename);
// check if data is the same as we previously written
$this->assertEquals($this->dataShort, $retrievedCryptedFile);
@@ -172,25 +172,25 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
if ($withTeardown) {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// unshare the file
- \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
$this->view->unlink($this->filename);
$this->view->chroot('/');
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
}
}
@@ -202,29 +202,29 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$this->testShareFile(false);
// login as user2
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2);
// get the file info
$fileInfo = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename);
// share the file with user3
- \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER3, \OCP\Constants::PERMISSION_ALL);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// check if share key for user2 exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
// login as user2
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER3);
// get file contents
$retrievedCryptedFile = $this->view->file_get_contents(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '/files/' . $this->filename);
// check if data is the same as previously written
$this->assertEquals($this->dataShort, $retrievedCryptedFile);
@@ -233,36 +233,36 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
if ($withTeardown) {
// login as user1
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2);
// unshare the file with user2
- \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3);
+ \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER3);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
// unshare the file with user1
- \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
$this->view->unlink($this->filename);
$this->view->chroot('/');
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
}
}
@@ -273,18 +273,18 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testShareFolder($withTeardown = true) {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// create folder structure
- $this->view->mkdir('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1);
+ $this->view->mkdir('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1);
$this->view->mkdir(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1 . $this->subfolder);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1 . $this->subfolder);
$this->view->mkdir(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1 . $this->subfolder
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1 . $this->subfolder
. $this->subsubfolder);
// save file with content
- $cryptedFile = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
+ $cryptedFile = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
. $this->filename, $this->dataShort);
// test that data was successfully written
@@ -296,7 +296,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// get the file info from previous created folder
$fileInfo = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1);
// check if we have a valid file info
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
@@ -305,23 +305,23 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
\OC_FileProxy::$enabled = $proxyStatus;
// share the folder with user1
- \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// check if share key for user1 exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// login as user1
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2);
// get file contents
$retrievedCryptedFile = $this->view->file_get_contents(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/' . $this->filename);
// check if data is the same
@@ -331,27 +331,27 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
if ($withTeardown) {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// unshare the folder with user1
- \OCP\Share::unshare('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ \OCP\Share::unshare('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
. $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files');
$this->view->unlink($this->folder1);
$this->view->chroot('/');
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
. $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
}
return $fileInfo;
@@ -365,7 +365,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$fileInfoFolder1 = $this->testShareFolder(false);
// login as user2
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2);
// disable encryption proxy to prevent recursive calls
$proxyStatus = \OC_FileProxy::$enabled;
@@ -373,7 +373,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// get the file info from previous created folder
$fileInfoSubFolder = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1
. $this->subfolder);
// check if we have a valid file info
@@ -383,23 +383,23 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
\OC_FileProxy::$enabled = $proxyStatus;
// share the file with user3
- \OCP\Share::shareItem('folder', $fileInfoSubFolder['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('folder', $fileInfoSubFolder['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER3, \OCP\Constants::PERMISSION_ALL);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// check if share key for user3 exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
// login as user3
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER3);
// get file contents
$retrievedCryptedFile = $this->view->file_get_contents(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '/files/' . $this->subfolder
+ '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '/files/' . $this->subfolder
. $this->subsubfolder . '/' . $this->filename);
// check if data is the same
@@ -407,30 +407,30 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// get the file info
$fileInfo = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '/files/' . $this->subfolder
+ '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '/files/' . $this->subfolder
. $this->subsubfolder . '/' . $this->filename);
// check if we have fileInfos
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
// share the file with user3
- \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER4, \OCP\Constants::PERMISSION_ALL);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// check if share key for user3 exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER4 . '.shareKey'));
// login as user3
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER4);
// get file contents
$retrievedCryptedFile = $this->view->file_get_contents(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER4 . '/files/' . $this->filename);
// check if data is the same
$this->assertEquals($this->dataShort, $retrievedCryptedFile);
@@ -439,61 +439,61 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
if ($withTeardown) {
// login as user2
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER3);
// unshare the file with user3
- \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4);
+ \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER4);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
. $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER4 . '.shareKey'));
// login as user1
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2);
// unshare the folder with user2
- \OCP\Share::unshare('folder', $fileInfoSubFolder['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3);
+ \OCP\Share::unshare('folder', $fileInfoSubFolder['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER3);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
. $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// unshare the folder1 with user1
- \OCP\Share::unshare('folder', $fileInfoFolder1['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ \OCP\Share::unshare('folder', $fileInfoFolder1['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
. $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files');
$this->view->unlink($this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename);
$this->view->chroot('/');
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys'
. $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
}
}
function testPublicShareFile() {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// save file with content
- $cryptedFile = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
+ $cryptedFile = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
// test that data was successfully written
$this->assertTrue(is_int($cryptedFile));
@@ -504,7 +504,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// get the file info from previous created file
$fileInfo = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
// check if we have a valid file info
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
@@ -519,22 +519,22 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
\OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, false, \OCP\Constants::PERMISSION_ALL);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
$publicShareKeyId = \OC::$server->getAppConfig()->getValue('files_encryption', 'publicShareKeyId');
// check if share key for public exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
. $this->filename . '/' . $publicShareKeyId . '.shareKey'));
// some hacking to simulate public link
//$GLOBALS['app'] = 'files_sharing';
- //$GLOBALS['fileOwner'] = \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1;
+ //$GLOBALS['fileOwner'] = self::TEST_ENCRYPTION_SHARE_USER1;
self::logoutHelper();
// get file contents
- $retrievedCryptedFile = file_get_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
+ $retrievedCryptedFile = file_get_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
// check if data is the same as we previously written
$this->assertEquals($this->dataShort, $retrievedCryptedFile);
@@ -542,25 +542,25 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// tear down
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// unshare the file
\OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, null);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
. $this->filename . '/' . $publicShareKeyId . '.shareKey'));
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
$this->view->unlink($this->filename);
$this->view->chroot('/');
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
}
/**
@@ -568,10 +568,10 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testShareFileWithGroup() {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// save file with content
- $cryptedFile = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
+ $cryptedFile = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
// test that data was successfully written
$this->assertTrue(is_int($cryptedFile));
@@ -582,7 +582,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// get the file info from previous created file
$fileInfo = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
// check if we have a valid file info
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
@@ -594,52 +594,52 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
\OC_FileProxy::$enabled = $proxyStatus;
// share the file
- \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, self::TEST_ENCRYPTION_SHARE_GROUP1, \OCP\Constants::PERMISSION_ALL);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// check if share key for user2 and user3 exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER4 . '.shareKey'));
// login as user1
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER3);
// get file contents
$retrievedCryptedFile = $this->view->file_get_contents(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '/files/' . $this->filename);
// check if data is the same as we previously written
$this->assertEquals($this->dataShort, $retrievedCryptedFile);
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// unshare the file
- \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1);
+ \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, self::TEST_ENCRYPTION_SHARE_GROUP1);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER4 . '.shareKey'));
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
$this->view->unlink($this->filename);
$this->view->chroot('/');
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
}
@@ -649,15 +649,15 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
function testRecoveryFile() {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
- \OCA\Encryption\Helper::adminEnableRecovery(null, 'test123');
+ \OCA\Files_Encryption\Helper::adminEnableRecovery(null, 'test123');
$recoveryKeyId = \OC::$server->getAppConfig()->getValue('files_encryption', 'recoveryKeyId');
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
- $util = new \OCA\Encryption\Util(new \OC\Files\View('/'), \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ $util = new \OCA\Files_Encryption\Util(new \OC\Files\View('/'), self::TEST_ENCRYPTION_SHARE_USER1);
// check if recovery password match
$this->assertTrue($util->checkRecoveryPassword('test123'));
@@ -667,16 +667,16 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$util->addRecoveryKeys();
// create folder structure
- $this->view->mkdir('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1);
+ $this->view->mkdir('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1);
$this->view->mkdir(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1 . $this->subfolder);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1 . $this->subfolder);
$this->view->mkdir(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1 . $this->subfolder
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files' . $this->folder1 . $this->subfolder
. $this->subsubfolder);
// save file with content
- $cryptedFile1 = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
- $cryptedFile2 = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
+ $cryptedFile1 = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
+ $cryptedFile2 = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
. $this->filename, $this->dataShort);
// test that data was successfully written
@@ -685,17 +685,17 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// check if share key for admin and recovery exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
@@ -707,10 +707,10 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// check if share key for recovery not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
@@ -722,30 +722,30 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// check if share key for admin and recovery exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
$this->view->unlink($this->filename);
$this->view->unlink($this->folder1);
$this->view->chroot('/');
// check if share key for recovery not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
- $this->assertTrue(\OCA\Encryption\Helper::adminEnableRecovery(null, 'test123'));
- $this->assertTrue(\OCA\Encryption\Helper::adminDisableRecovery('test123'));
+ $this->assertTrue(\OCA\Files_Encryption\Helper::adminEnableRecovery(null, 'test123'));
+ $this->assertTrue(\OCA\Files_Encryption\Helper::adminDisableRecovery('test123'));
$this->assertEquals(0, \OC::$server->getAppConfig()->getValue('files_encryption', 'recoveryAdminEnabled'));
}
@@ -755,17 +755,17 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
function testRecoveryForUser() {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
- $result = \OCA\Encryption\Helper::adminEnableRecovery(null, 'test123');
+ $result = \OCA\Files_Encryption\Helper::adminEnableRecovery(null, 'test123');
$this->assertTrue($result);
$recoveryKeyId = \OC::$server->getAppConfig()->getValue('files_encryption', 'recoveryKeyId');
// login as user2
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2);
- $util = new \OCA\Encryption\Util(new \OC\Files\View('/'), \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ $util = new \OCA\Files_Encryption\Util(new \OC\Files\View('/'), self::TEST_ENCRYPTION_SHARE_USER2);
// enable recovery for admin
$this->assertTrue($util->setRecoveryForUser(1));
@@ -774,16 +774,16 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$util->addRecoveryKeys();
// create folder structure
- $this->view->mkdir('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files' . $this->folder1);
+ $this->view->mkdir('/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files' . $this->folder1);
$this->view->mkdir(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files' . $this->folder1 . $this->subfolder);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files' . $this->folder1 . $this->subfolder);
$this->view->mkdir(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files' . $this->folder1 . $this->subfolder
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files' . $this->folder1 . $this->subfolder
. $this->subsubfolder);
// save file with content
- $cryptedFile1 = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2. '/files/' . $this->filename, $this->dataShort);
- $cryptedFile2 = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
+ $cryptedFile1 = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER2. '/files/' . $this->filename, $this->dataShort);
+ $cryptedFile2 = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/'
. $this->filename, $this->dataShort);
// test that data was successfully written
@@ -792,76 +792,76 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// check if share key for user and recovery exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// change password
- \OC_User::setPassword(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, 'test', 'test123');
- $params = array('uid' => \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2,
+ \OC_User::setPassword(self::TEST_ENCRYPTION_SHARE_USER2, 'test', 'test123');
+ $params = array('uid' => self::TEST_ENCRYPTION_SHARE_USER2,
'password' => 'test',
'recoveryPassword' => 'test123');
- \OCA\Encryption\Hooks::setPassphrase($params);
+ \OCA\Files_Encryption\Hooks::setPassphrase($params);
// login as user2
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, false, 'test');
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2, false, 'test');
// get file contents
- $retrievedCryptedFile1 = file_get_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename);
+ $retrievedCryptedFile1 = file_get_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename);
$retrievedCryptedFile2 = file_get_contents(
- 'crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename);
+ 'crypt:///' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename);
// check if data is the same as we previously written
$this->assertEquals($this->dataShort, $retrievedCryptedFile1);
$this->assertEquals($this->dataShort, $retrievedCryptedFile2);
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/');
$this->view->unlink($this->folder1);
$this->view->unlink($this->filename);
$this->view->chroot('/');
// check if share key for user and recovery exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/'
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/' . $this->folder1
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files_encryption/keys/' . $this->folder1
. $this->subfolder . $this->subsubfolder . '/'
. $this->filename . '/' . $recoveryKeyId . '.shareKey'));
// enable recovery for admin
$this->assertTrue($util->setRecoveryForUser(0));
- \OCA\Encryption\Helper::adminDisableRecovery('test123');
+ \OCA\Files_Encryption\Helper::adminDisableRecovery('test123');
$this->assertEquals(0, \OC::$server->getAppConfig()->getValue('files_encryption', 'recoveryAdminEnabled'));
//clean up, reset passwords
- \OC_User::setPassword(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, 'test123');
- $params = array('uid' => \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2,
- 'password' => \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2,
+ \OC_User::setPassword(self::TEST_ENCRYPTION_SHARE_USER2, self::TEST_ENCRYPTION_SHARE_USER2, 'test123');
+ $params = array('uid' => self::TEST_ENCRYPTION_SHARE_USER2,
+ 'password' => self::TEST_ENCRYPTION_SHARE_USER2,
'recoveryPassword' => 'test123');
- \OCA\Encryption\Hooks::setPassphrase($params);
+ \OCA\Files_Encryption\Hooks::setPassphrase($params);
}
/**
@@ -869,10 +869,10 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testFailShareFile() {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// save file with content
- $cryptedFile = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
+ $cryptedFile = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
// test that data was successfully written
$this->assertTrue(is_int($cryptedFile));
@@ -883,7 +883,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// get the file info from previous created file
$fileInfo = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
// check if we have a valid file info
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
@@ -892,27 +892,27 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$this->assertGreaterThan(0, $fileInfo['unencrypted_size']);
// break users public key
- $this->view->rename(\OCA\Encryption\Keymanager::getPublicKeyPath() . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.publicKey',
- \OCA\Encryption\Keymanager::getPublicKeyPath() . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.publicKey_backup');
+ $this->view->rename(\OCA\Files_Encryption\Keymanager::getPublicKeyPath() . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.publicKey',
+ \OCA\Files_Encryption\Keymanager::getPublicKeyPath() . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.publicKey_backup');
// re-enable the file proxy
\OC_FileProxy::$enabled = $proxyStatus;
// share the file
try {
- \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1, \OCP\Constants::PERMISSION_ALL);
- } catch (Exception $e) {
+ \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, self::TEST_ENCRYPTION_SHARE_GROUP1, \OCP\Constants::PERMISSION_ALL);
+ } catch (\Exception $e) {
$this->assertEquals(0, strpos($e->getMessage(), "Following users are not set up for encryption"));
}
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// check if share key for user1 not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
// disable encryption proxy to prevent recursive calls
$proxyStatus = \OC_FileProxy::$enabled;
@@ -920,27 +920,27 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
// break user1 public key
$this->view->rename(
- \OCA\Encryption\Keymanager::getPublicKeyPath() . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.publicKey_backup',
- \OCA\Encryption\Keymanager::getPublicKeyPath() . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.publicKey');
+ \OCA\Files_Encryption\Keymanager::getPublicKeyPath() . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.publicKey_backup',
+ \OCA\Files_Encryption\Keymanager::getPublicKeyPath() . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.publicKey');
// remove share file
- $this->view->unlink('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3
+ $this->view->unlink('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3
. '.shareKey');
// re-enable the file proxy
\OC_FileProxy::$enabled = $proxyStatus;
// unshare the file with user1
- \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1);
+ \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, self::TEST_ENCRYPTION_SHARE_GROUP1);
// check if share key not exists
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER3 . '.shareKey'));
// cleanup
- $this->view->chroot('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
+ $this->view->chroot('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/');
$this->view->unlink($this->filename);
$this->view->chroot('/');
}
@@ -952,56 +952,56 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
function testRename() {
// login as admin
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// save file with content
- $cryptedFile = file_put_contents('crypt:///' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
+ $cryptedFile = file_put_contents('crypt:///' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename, $this->dataShort);
// test that data was successfully written
$this->assertTrue(is_int($cryptedFile));
// get the file info from previous created file
$fileInfo = $this->view->getFileInfo(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
// check if we have a valid file info
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
// share the file
- \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
// check if share key for user2 exists
$this->assertTrue($this->view->file_exists(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
- . $this->filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files_encryption/keys/'
+ . $this->filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// login as user2
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER2);
- $this->assertTrue($this->view->file_exists('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename));
+ $this->assertTrue($this->view->file_exists('/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename));
// get file contents
$retrievedCryptedFile = $this->view->file_get_contents(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename);
// check if data is the same as we previously written
$this->assertEquals($this->dataShort, $retrievedCryptedFile);
// move the file to a subfolder
- $this->view->rename('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename,
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1 . $this->filename);
+ $this->view->rename('/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->filename,
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1 . $this->filename);
// check if we can read the moved file
$retrievedRenamedFile = $this->view->file_get_contents(
- '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1 . $this->filename);
+ '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '/files/' . $this->folder1 . $this->filename);
// check if data is the same as we previously written
$this->assertEquals($this->dataShort, $retrievedRenamedFile);
// cleanup
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
- $this->view->unlink('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
+ $this->view->unlink('/' . self::TEST_ENCRYPTION_SHARE_USER1 . '/files/' . $this->filename);
}
/**
@@ -1010,7 +1010,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testMoveFolder() {
- $view = new \OC\Files\View('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ $view = new \OC\Files\View('/' . self::TEST_ENCRYPTION_SHARE_USER1);
$filename = '/tmp-' . $this->getUniqueID();
$folder = '/folder' . $this->getUniqueID();
@@ -1036,7 +1036,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
// share the folder
- \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
\OC\Files\Filesystem::rename($folder, $newFolder);
@@ -1045,10 +1045,10 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$this->assertEquals($this->dataShort, $newDecrypt);
// check if additional share key for user2 exists
- $this->assertTrue($view->file_exists('files_encryption/keys' . $newFolder . '/' . $filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ $this->assertTrue($view->file_exists('files_encryption/keys' . $newFolder . '/' . $filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// check that old keys were removed/moved properly
- $this->assertFalse($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ $this->assertFalse($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// tear down
\OC\Files\Filesystem::unlink($newFolder);
@@ -1058,9 +1058,9 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
function usersProvider() {
return array(
// test as owner
- array(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1),
+ array(self::TEST_ENCRYPTION_SHARE_USER1),
// test as share receiver
- array(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2),
+ array(self::TEST_ENCRYPTION_SHARE_USER2),
);
}
@@ -1068,7 +1068,7 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
* @dataProvider usersProvider
*/
function testMoveFileToFolder($userId) {
- $view = new \OC\Files\View('/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ $view = new \OC\Files\View('/' . self::TEST_ENCRYPTION_SHARE_USER1);
$filename = '/tmp-' . $this->getUniqueID();
$folder = '/folder' . $this->getUniqueID();
@@ -1094,28 +1094,28 @@ class Test_Encryption_Share extends \OCA\Files_Encryption\Tests\TestCase {
$this->assertTrue($fileInfo instanceof \OC\Files\FileInfo);
// share the folder
- \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
+ \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_ENCRYPTION_SHARE_USER2, \OCP\Constants::PERMISSION_ALL);
// check that the share keys exist
- $this->assertTrue($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
- $this->assertTrue($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ $this->assertTrue($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ $this->assertTrue($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// move the file into the subfolder as the test user
self::loginHelper($userId);
\OC\Files\Filesystem::rename($folder . $filename, $subFolder . $filename);
- self::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_SHARE_USER1);
// Get file decrypted contents
$newDecrypt = \OC\Files\Filesystem::file_get_contents($subFolder . $filename);
$this->assertEquals($this->dataShort, $newDecrypt);
// check if additional share key for user2 exists
- $this->assertTrue($view->file_exists('files_encryption/keys' . $subFolder . '/' . $filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
- $this->assertTrue($view->file_exists('files_encryption/keys' . $subFolder . '/' . $filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ $this->assertTrue($view->file_exists('files_encryption/keys' . $subFolder . '/' . $filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ $this->assertTrue($view->file_exists('files_encryption/keys' . $subFolder . '/' . $filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// check that old keys were removed/moved properly
- $this->assertFalse($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
- $this->assertFalse($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
+ $this->assertFalse($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . self::TEST_ENCRYPTION_SHARE_USER1 . '.shareKey'));
+ $this->assertFalse($view->file_exists('files_encryption/keys' . $folder . '/' . $filename . '/' . self::TEST_ENCRYPTION_SHARE_USER2 . '.shareKey'));
// tear down
\OC\Files\Filesystem::unlink($subFolder);
diff --git a/apps/files_encryption/tests/stream.php b/apps/files_encryption/tests/stream.php
index f4824935ca0..8295ddd9523 100644
--- a/apps/files_encryption/tests/stream.php
+++ b/apps/files_encryption/tests/stream.php
@@ -20,13 +20,13 @@
*
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Stream
+ * Class Stream
* this class provide basic stream tests
*/
-class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
+class Stream extends TestCase {
const TEST_ENCRYPTION_STREAM_USER1 = "test-stream-user1";
@@ -43,16 +43,16 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
parent::setUpBeforeClass();
// create test user
- self::loginHelper(\Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1, true);
+ self::loginHelper(self::TEST_ENCRYPTION_STREAM_USER1, true);
}
protected function setUp() {
parent::setUp();
// set user id
- \OC_User::setUserId(\Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1);
- $this->userId = \Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1;
- $this->pass = \Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1;
+ \OC_User::setUserId(self::TEST_ENCRYPTION_STREAM_USER1);
+ $this->userId = self::TEST_ENCRYPTION_STREAM_USER1;
+ $this->pass = self::TEST_ENCRYPTION_STREAM_USER1;
// init filesystem view
$this->view = new \OC\Files\View('/');
@@ -61,7 +61,7 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
$this->dataShort = 'hats';
// remember files_trashbin state
- $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ $this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we don't want to tests with app files_trashbin enabled
\OC_App::disable('files_trashbin');
@@ -70,10 +70,10 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
protected function tearDown() {
// reset app files_trashbin
if ($this->stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
}
else {
- OC_App::disable('files_trashbin');
+ \OC_App::disable('files_trashbin');
}
parent::tearDown();
@@ -81,7 +81,7 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
public static function tearDownAfterClass() {
// cleanup test user
- \OC_User::deleteUser(\Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_STREAM_USER1);
parent::tearDownAfterClass();
}
@@ -208,7 +208,7 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
file_put_contents($tmpFilename, $encryptedContent);
- \OCA\Encryption\Helper::addTmpFileToMapper($tmpFilename, $filename);
+ \OCA\Files_Encryption\Helper::addTmpFileToMapper($tmpFilename, $filename);
// try to read the file from /tmp
$handle = fopen("crypt://".$tmpFilename, "r");
diff --git a/apps/files_encryption/tests/testcase.php b/apps/files_encryption/tests/testcase.php
index 743a876ab45..9cb724648cb 100644
--- a/apps/files_encryption/tests/testcase.php
+++ b/apps/files_encryption/tests/testcase.php
@@ -8,10 +8,8 @@
namespace OCA\Files_Encryption\Tests;
-use OCA\Encryption;
-
/**
- * Class Test_Encryption_TestCase
+ * Class TestCase
*/
abstract class TestCase extends \Test\TestCase {
@@ -42,7 +40,7 @@ abstract class TestCase extends \Test\TestCase {
if ($loadEncryption) {
$params['uid'] = $user;
$params['password'] = $password;
- \OCA\Encryption\Hooks::login($params);
+ \OCA\Files_Encryption\Hooks::login($params);
}
}
@@ -59,16 +57,16 @@ abstract class TestCase extends \Test\TestCase {
\OC_User::clearBackends();
\OC_User::useBackend('database');
- \OCA\Encryption\Helper::registerFilesystemHooks();
- \OCA\Encryption\Helper::registerUserHooks();
- \OCA\Encryption\Helper::registerShareHooks();
+ \OCA\Files_Encryption\Helper::registerFilesystemHooks();
+ \OCA\Files_Encryption\Helper::registerUserHooks();
+ \OCA\Files_Encryption\Helper::registerShareHooks();
\OC::registerShareHooks();
\OCP\Util::connectHook('OC_Filesystem', 'setup', '\OC\Files\Storage\Shared', 'setup');
// clear and register hooks
\OC_FileProxy::clearProxies();
- \OC_FileProxy::register(new \OCA\Encryption\Proxy());
+ \OC_FileProxy::register(new \OCA\Files_Encryption\Proxy());
}
public static function tearDownAfterClass() {
diff --git a/apps/files_encryption/tests/trashbin.php b/apps/files_encryption/tests/trashbin.php
index de5b8bd6edb..d924b8ac77a 100755
--- a/apps/files_encryption/tests/trashbin.php
+++ b/apps/files_encryption/tests/trashbin.php
@@ -20,13 +20,13 @@
*
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Trashbin
+ * Class Trashbin
* this class provide basic trashbin app tests
*/
-class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
+class Trashbin extends TestCase {
const TEST_ENCRYPTION_TRASHBIN_USER1 = "test-trashbin-user1";
@@ -71,7 +71,7 @@ class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
$this->subsubfolder = '/subsubfolder1';
// remember files_trashbin state
- $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ $this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we want to tests with app files_trashbin enabled
\OC_App::enable('files_trashbin');
@@ -80,10 +80,10 @@ class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
protected function tearDown() {
// reset app files_trashbin
if ($this->stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
}
else {
- OC_App::disable('files_trashbin');
+ \OC_App::disable('files_trashbin');
}
parent::tearDown();
@@ -173,7 +173,7 @@ class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
// check if we found the file we created
$this->assertNotNull($trashFileSuffix);
- $this->assertTrue($this->view->is_dir('/' . \Test_Encryption_Trashbin::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_trashbin/keys/' . $filename . '.' . $trashFileSuffix));
+ $this->assertTrue($this->view->is_dir('/' . self::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_trashbin/keys/' . $filename . '.' . $trashFileSuffix));
// check if key for admin not exists
$this->assertTrue($this->view->file_exists(
@@ -219,10 +219,10 @@ class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
// before calling the restore operation the keys shouldn't be there
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Trashbin::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_encryption/keys/' . $filename . '/fileKey'));
+ '/' . self::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_encryption/keys/' . $filename . '/fileKey'));
$this->assertFalse($this->view->file_exists(
- '/' . \Test_Encryption_Trashbin::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_encryption/keys/'
- . $filename . '/' . \Test_Encryption_Trashbin::TEST_ENCRYPTION_TRASHBIN_USER1 . '.shareKey'));
+ '/' . self::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_encryption/keys/'
+ . $filename . '/' . self::TEST_ENCRYPTION_TRASHBIN_USER1 . '.shareKey'));
// restore first file
$this->assertTrue(\OCA\Files_Trashbin\Trashbin::restore($filename . '.' . $trashFileSuffix, $filename, $timestamp));
diff --git a/apps/files_encryption/tests/util.php b/apps/files_encryption/tests/util.php
index 8d9aba423cd..c71b9a0481f 100755
--- a/apps/files_encryption/tests/util.php
+++ b/apps/files_encryption/tests/util.php
@@ -6,12 +6,12 @@
* See the COPYING-README file.
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Util
+ * Class Util
*/
-class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
+class Util extends TestCase {
const TEST_ENCRYPTION_UTIL_USER1 = "test-util-user1";
const TEST_ENCRYPTION_UTIL_USER2 = "test-util-user2";
@@ -24,14 +24,14 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
public $publicKeyDir;
public $pass;
/**
- * @var OC\Files\View
+ * @var \OC\Files\View
*/
public $view;
public $keyfilesPath;
public $publicKeyPath;
public $privateKeyPath;
/**
- * @var \OCA\Encryption\Util
+ * @var \OCA\Files_Encryption\Util
*/
public $util;
public $dataShort;
@@ -74,12 +74,12 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
$this->legacyEncryptedDataKey = __DIR__ . '/encryption.key';
$this->legacyKey = "30943623843030686906\0\0\0\0";
- $keypair = Encryption\Crypt::createKeypair();
+ $keypair = \OCA\Files_Encryption\Crypt::createKeypair();
$this->genPublicKey = $keypair['publicKey'];
$this->genPrivateKey = $keypair['privateKey'];
- $this->publicKeyDir = \OCA\Encryption\Keymanager::getPublicKeyPath();
+ $this->publicKeyDir = \OCA\Files_Encryption\Keymanager::getPublicKeyPath();
$this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption';
$this->keysPath = $this->encryptionDir . '/' . 'keys';
$this->publicKeyPath =
@@ -89,10 +89,10 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
$this->view = new \OC\Files\View('/');
- $this->util = new Encryption\Util($this->view, $this->userId);
+ $this->util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
// remember files_trashbin state
- $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ $this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we don't want to tests with app files_trashbin enabled
\OC_App::disable('files_trashbin');
@@ -101,10 +101,10 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
protected function tearDown() {
// reset app files_trashbin
if ($this->stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
}
else {
- OC_App::disable('files_trashbin');
+ \OC_App::disable('files_trashbin');
}
parent::tearDown();
@@ -128,7 +128,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
* test that paths set during User construction are correct
*/
function testKeyPaths() {
- $util = new Encryption\Util($this->view, $this->userId);
+ $util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
$this->assertEquals($this->publicKeyDir, $util->getPath('publicKeyDir'));
$this->assertEquals($this->encryptionDir, $util->getPath('encryptionDir'));
@@ -144,7 +144,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testIsEncryptedPath() {
- $util = new Encryption\Util($this->view, $this->userId);
+ $util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
self::loginHelper($this->userId);
@@ -197,7 +197,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
//
// $params['uid'] = $this->userId;
// $params['password'] = $this->pass;
-// $this->assertFalse(OCA\Encryption\Hooks::login($params));
+// $this->assertFalse(OCA\Files_Encryption\Hooks::login($params));
//
// $this->view->unlink($this->privateKeyPath);
// }
@@ -207,7 +207,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
*/
function testRecoveryEnabledForUser() {
- $util = new Encryption\Util($this->view, $this->userId);
+ $util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
// Record the value so we can return it to it's original state later
$enabled = $util->recoveryEnabledForUser();
@@ -241,7 +241,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
// Re-enable proxy - our work is done
\OC_FileProxy::$enabled = $proxyStatus;
- $util = new Encryption\Util($this->view, $this->userId);
+ $util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
list($fileOwnerUid, $file) = $util->getUidAndFilename($filename);
@@ -283,7 +283,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
function testEncryptAll() {
$filename = "/encryptAll" . $this->getUniqueID() . ".txt";
- $util = new Encryption\Util($this->view, $this->userId);
+ $util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
// disable encryption to upload a unencrypted file
\OC_App::disable('files_encryption');
@@ -338,18 +338,18 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
$this->assertSame($encContent, $content);
// now we load the encryption app again
- OC_App::loadApp('files_encryption');
+ \OC_App::loadApp('files_encryption');
// init encryption app
$params = array('uid' => \OCP\User::getUser(),
'password' => \OCP\User::getUser());
- $view = new OC\Files\View('/');
- $util = new \OCA\Encryption\Util($view, \OCP\User::getUser());
+ $view = new \OC\Files\View('/');
+ $util = new \OCA\Files_Encryption\Util($view, \OCP\User::getUser());
$result = $util->initEncryption($params);
- $this->assertTrue($result instanceof \OCA\Encryption\Session);
+ $this->assertTrue($result instanceof \OCA\Files_Encryption\Session);
$successful = $util->decryptAll();
@@ -385,7 +385,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
// cleanup
$this->view->unlink($this->userId . '/files/' . $filename);
$this->view->deleteAll($backupPath);
- OC_App::enable('files_encryption');
+ \OC_App::enable('files_encryption');
}
@@ -401,7 +401,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
$this->view->file_put_contents($encPath . '/keys/foo/fileKey', 'key');
$this->view->file_put_contents($encPath . '/keys/foo/user1.shareKey', 'share key');
- $util = new \OCA\Encryption\Util($this->view, self::TEST_ENCRYPTION_UTIL_USER1);
+ $util = new \OCA\Files_Encryption\Util($this->view, self::TEST_ENCRYPTION_UTIL_USER1);
$util->backupAllKeys('testBackupAllKeys');
@@ -427,7 +427,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
$file1 = "/decryptAll1" . $this->getUniqueID() . ".txt";
$file2 = "/decryptAll2" . $this->getUniqueID() . ".txt";
- $util = new Encryption\Util($this->view, $this->userId);
+ $util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
$this->view->file_put_contents($this->userId . '/files/' . $file1, $this->dataShort);
$this->view->file_put_contents($this->userId . '/files/' . $file2, $this->dataShort);
@@ -551,13 +551,13 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
$publicShareKeyId,
$recoveryKeyId,
);
- \Test_Encryption_Util::loginHelper('readyUser', true);
- \Test_Encryption_Util::loginHelper('notReadyUser', true);
+ self::loginHelper('readyUser', true);
+ self::loginHelper('notReadyUser', true);
// delete encryption dir to make it not ready
$this->view->unlink('notReadyUser/files_encryption/');
// login as user1
- \Test_Encryption_Util::loginHelper(\Test_Encryption_Util::TEST_ENCRYPTION_UTIL_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_UTIL_USER1);
$result = $this->util->filterShareReadyUsers($usersToTest);
$this->assertEquals(
@@ -598,7 +598,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
if ($loadEncryption) {
$params['uid'] = $user;
$params['password'] = $password;
- OCA\Encryption\Hooks::login($params);
+ \OCA\Files_Encryption\Hooks::login($params);
}
}
@@ -617,15 +617,17 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
* @return boolean
*/
private function setMigrationStatus($status, $user) {
- return \OC_Preferences::setValue($user, 'files_encryption', 'migration_status', (string)$status);
+ \OC::$server->getConfig()->setUserValue($user, 'files_encryption', 'migration_status', (string)$status);
+ // the update will definitely be executed -> return value is always true
+ return true;
}
}
/**
- * dummy class extends \OCA\Encryption\Util to access protected methods for testing
+ * dummy class extends \OCA\Files_Encryption\Util to access protected methods for testing
*/
-class DummyUtilClass extends \OCA\Encryption\Util {
+class DummyUtilClass extends \OCA\Files_Encryption\Util {
public function testIsMountPointApplicableToUser($mount) {
return $this->isMountPointApplicableToUser($mount);
}
diff --git a/apps/files_encryption/tests/webdav.php b/apps/files_encryption/tests/webdav.php
index a04a7621291..83f4c0a77de 100755
--- a/apps/files_encryption/tests/webdav.php
+++ b/apps/files_encryption/tests/webdav.php
@@ -20,14 +20,14 @@
*
*/
-use OCA\Encryption;
+namespace OCA\Files_Encryption\Tests;
/**
- * Class Test_Encryption_Webdav
+ * Class Webdav
*
* this class provide basic webdav tests for PUT,GET and DELETE
*/
-class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
+class Webdav extends TestCase {
const TEST_ENCRYPTION_WEBDAV_USER1 = "test-webdav-user1";
@@ -46,7 +46,7 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
parent::setUpBeforeClass();
// create test user
- self::loginHelper(\Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1, true);
+ self::loginHelper(self::TEST_ENCRYPTION_WEBDAV_USER1, true);
}
@@ -57,9 +57,9 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
\OC_User::useBackend('database');
// set user id
- \OC_User::setUserId(\Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1);
- $this->userId = \Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1;
- $this->pass = \Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1;
+ \OC_User::setUserId(self::TEST_ENCRYPTION_WEBDAV_USER1);
+ $this->userId = self::TEST_ENCRYPTION_WEBDAV_USER1;
+ $this->pass = self::TEST_ENCRYPTION_WEBDAV_USER1;
// init filesystem view
$this->view = new \OC\Files\View('/');
@@ -68,21 +68,21 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
$this->dataShort = 'hats';
// remember files_trashbin state
- $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+ $this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
// we don't want to tests with app files_trashbin enabled
\OC_App::disable('files_trashbin');
// create test user
- self::loginHelper(\Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1);
+ self::loginHelper(self::TEST_ENCRYPTION_WEBDAV_USER1);
}
protected function tearDown() {
// reset app files_trashbin
if ($this->stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
+ \OC_App::enable('files_trashbin');
} else {
- OC_App::disable('files_trashbin');
+ \OC_App::disable('files_trashbin');
}
parent::tearDown();
@@ -90,7 +90,7 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
public static function tearDownAfterClass() {
// cleanup test user
- \OC_User::deleteUser(\Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1);
+ \OC_User::deleteUser(self::TEST_ENCRYPTION_WEBDAV_USER1);
parent::tearDownAfterClass();
}
@@ -138,7 +138,7 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
\OC_FileProxy::$enabled = $proxyStatus;
// check if encrypted content is valid
- $this->assertTrue(Encryption\Crypt::isCatfileContent($encryptedContent));
+ $this->assertTrue(\OCA\Files_Encryption\Crypt::isCatfileContent($encryptedContent));
// get decrypted file contents
$decrypt = file_get_contents('crypt:///' . $this->userId . '/files' . $filename);
@@ -211,14 +211,14 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
*/
function handleWebdavRequest($body = false) {
// Backends
- $authBackend = new OC_Connector_Sabre_Auth();
- $lockBackend = new OC_Connector_Sabre_Locks();
- $requestBackend = new OC_Connector_Sabre_Request();
+ $authBackend = new \OC_Connector_Sabre_Auth();
+ $lockBackend = new \OC_Connector_Sabre_Locks();
+ $requestBackend = new \OC_Connector_Sabre_Request();
// Create ownCloud Dir
$root = '/' . $this->userId . '/files';
$view = new \OC\Files\View($root);
- $publicDir = new OC_Connector_Sabre_Directory($view, $view->getFileInfo(''));
+ $publicDir = new \OC_Connector_Sabre_Directory($view, $view->getFileInfo(''));
$objectTree = new \OC\Connector\Sabre\ObjectTree();
$mountManager = \OC\Files\Filesystem::getMountManager();
$objectTree->init($publicDir, $view, $mountManager);
@@ -232,8 +232,8 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud'));
$server->addPlugin(new \Sabre\DAV\Locks\Plugin($lockBackend));
$server->addPlugin(new \Sabre\DAV\Browser\Plugin(false)); // Show something in the Browser, but no upload
- $server->addPlugin(new OC_Connector_Sabre_QuotaPlugin($view));
- $server->addPlugin(new OC_Connector_Sabre_MaintenancePlugin());
+ $server->addPlugin(new \OC_Connector_Sabre_QuotaPlugin($view));
+ $server->addPlugin(new \OC_Connector_Sabre_MaintenancePlugin());
$server->debugExceptions = true;
// And off we go!
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php
index 1824e09c664..9cd4ae2e16f 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php
@@ -28,7 +28,7 @@ class Aws extends ServiceBuilder
/**
* @var string Current version of the SDK
*/
- const VERSION = '2.6.15';
+ const VERSION = '2.7.5';
/**
* Create a new service locator for the AWS SDK
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php
index 0e2aa1a88ed..c9ee86a66ff 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php
@@ -17,7 +17,6 @@
namespace Aws\Common\Client;
use Aws\Common\Aws;
-use Aws\Common\Credentials\Credentials;
use Aws\Common\Credentials\CredentialsInterface;
use Aws\Common\Credentials\NullCredentials;
use Aws\Common\Enum\ClientOptions as Options;
@@ -111,13 +110,7 @@ abstract class AbstractClient extends Client implements AwsClientInterface
/**
* Get an endpoint for a specific region from a service description
- *
- * @param ServiceDescriptionInterface $description Service description
- * @param string $region Region of the endpoint
- * @param string $scheme URL scheme
- *
- * @return string
- * @throws InvalidArgumentException
+ * @deprecated This function will no longer be updated to work with new regions.
*/
public static function getEndpoint(ServiceDescriptionInterface $description, $region, $scheme)
{
@@ -177,12 +170,27 @@ abstract class AbstractClient extends Client implements AwsClientInterface
$config = $this->getConfig();
$formerRegion = $config->get(Options::REGION);
$global = $this->serviceDescription->getData('globalEndpoint');
+ $provider = $config->get('endpoint_provider');
+
+ if (!$provider) {
+ throw new \RuntimeException('No endpoint provider configured');
+ }
// Only change the region if the service does not have a global endpoint
if (!$global || $this->serviceDescription->getData('namespace') === 'S3') {
- $baseUrl = self::getEndpoint($this->serviceDescription, $region, $config->get(Options::SCHEME));
- $this->setBaseUrl($baseUrl);
- $config->set(Options::BASE_URL, $baseUrl)->set(Options::REGION, $region);
+
+ $endpoint = call_user_func(
+ $provider,
+ array(
+ 'scheme' => $config->get(Options::SCHEME),
+ 'region' => $region,
+ 'service' => $config->get(Options::SERVICE)
+ )
+ );
+
+ $this->setBaseUrl($endpoint['endpoint']);
+ $config->set(Options::BASE_URL, $endpoint['endpoint']);
+ $config->set(Options::REGION, $region);
// Update the signature if necessary
$signature = $this->getSignature();
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php
index dd81cba2351..b34a67ffd92 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php
@@ -20,13 +20,13 @@ use Aws\Common\Credentials\Credentials;
use Aws\Common\Credentials\CredentialsInterface;
use Aws\Common\Credentials\NullCredentials;
use Aws\Common\Enum\ClientOptions as Options;
-use Aws\Common\Enum\Region;
use Aws\Common\Exception\ExceptionListener;
use Aws\Common\Exception\InvalidArgumentException;
use Aws\Common\Exception\NamespaceExceptionFactory;
use Aws\Common\Exception\Parser\DefaultXmlExceptionParser;
use Aws\Common\Exception\Parser\ExceptionParserInterface;
use Aws\Common\Iterator\AwsResourceIteratorFactory;
+use Aws\Common\RulesEndpointProvider;
use Aws\Common\Signature\EndpointSignatureInterface;
use Aws\Common\Signature\SignatureInterface;
use Aws\Common\Signature\SignatureV2;
@@ -38,7 +38,6 @@ use Guzzle\Plugin\Backoff\CurlBackoffStrategy;
use Guzzle\Plugin\Backoff\ExponentialBackoffStrategy;
use Guzzle\Plugin\Backoff\HttpBackoffStrategy;
use Guzzle\Plugin\Backoff\TruncatedBackoffStrategy;
-use Guzzle\Service\Client;
use Guzzle\Service\Description\ServiceDescription;
use Guzzle\Service\Resource\ResourceIteratorClassFactory;
use Guzzle\Log\LogAdapterInterface;
@@ -200,6 +199,10 @@ class ClientBuilder
(self::$commonConfigRequirements + $this->configRequirements)
);
+ if (!isset($config['endpoint_provider'])) {
+ $config['endpoint_provider'] = RulesEndpointProvider::fromDefaults();
+ }
+
// Resolve the endpoint, signature, and credentials
$description = $this->updateConfigFromDescription($config);
$signature = $this->getSignature($description, $config);
@@ -366,33 +369,36 @@ class ClientBuilder
$this->setIteratorsConfig($iterators);
}
- // Ensure that the service description has regions
- if (!$description->getData('regions')) {
- throw new InvalidArgumentException(
- 'No regions found in the ' . $description->getData('serviceFullName'). ' description'
- );
- }
-
// Make sure a valid region is set
$region = $config->get(Options::REGION);
$global = $description->getData('globalEndpoint');
+
if (!$global && !$region) {
throw new InvalidArgumentException(
'A region is required when using ' . $description->getData('serviceFullName')
- . '. Set "region" to one of: ' . implode(', ', array_keys($description->getData('regions')))
);
} elseif ($global && (!$region || $description->getData('namespace') !== 'S3')) {
- $region = Region::US_EAST_1;
- $config->set(Options::REGION, $region);
+ $region = 'us-east-1';
+ $config->set(Options::REGION, 'us-east-1');
}
if (!$config->get(Options::BASE_URL)) {
- // Set the base URL using the scheme and hostname of the service's region
- $config->set(Options::BASE_URL, AbstractClient::getEndpoint(
- $description,
- $region,
- $config->get(Options::SCHEME)
- ));
+ $endpoint = call_user_func(
+ $config->get('endpoint_provider'),
+ array(
+ 'scheme' => $config->get(Options::SCHEME),
+ 'region' => $region,
+ 'service' => $config->get(Options::SERVICE)
+ )
+ );
+ $config->set(Options::BASE_URL, $endpoint['endpoint']);
+
+ // Set a signature if one was not explicitly provided.
+ if (!$config->hasKey(Options::SIGNATURE)
+ && isset($endpoint['signatureVersion'])
+ ) {
+ $config->set(Options::SIGNATURE, $endpoint['signatureVersion']);
+ }
}
return $description;
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/Region.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/Region.php
index b44bd971beb..017d1d7e16c 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/Region.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum/Region.php
@@ -39,6 +39,9 @@ class Region extends Enum
const EU_WEST_1 = 'eu-west-1';
const IRELAND = 'eu-west-1';
+
+ const EU_CENTRAL_1 = 'eu-central-1';
+ const FRANKFURT = 'eu-central-1';
const AP_SOUTHEAST_1 = 'ap-southeast-1';
const SINGAPORE = 'ap-southeast-1';
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/HashUtils.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/HashUtils.php
index dd82ff75edd..f66af6edf53 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/HashUtils.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Hash/HashUtils.php
@@ -38,6 +38,10 @@ class HashUtils
$useNative = function_exists('hex2bin');
}
+ if (!$useNative && strlen($hash) % 2 !== 0) {
+ $hash = '0' . $hash;
+ }
+
return $useNative ? hex2bin($hash) : pack("H*", $hash);
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractUploadBuilder.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractUploadBuilder.php
index a1ad678610c..8690d5cb562 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractUploadBuilder.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Model/MultipartUpload/AbstractUploadBuilder.php
@@ -49,7 +49,7 @@ abstract class AbstractUploadBuilder
/**
* Return a new instance of the UploadBuilder
*
- * @return self
+ * @return static
*/
public static function newInstance()
{
@@ -61,7 +61,7 @@ abstract class AbstractUploadBuilder
*
* @param AwsClientInterface $client Client to use
*
- * @return self
+ * @return $this
*/
public function setClient(AwsClientInterface $client)
{
@@ -78,7 +78,7 @@ abstract class AbstractUploadBuilder
* multipart upload. When an ID is passed, the builder will create a
* state object using the data from a ListParts API response.
*
- * @return self
+ * @return $this
*/
public function resumeFrom($state)
{
@@ -94,7 +94,7 @@ abstract class AbstractUploadBuilder
* You can also stream from a resource returned from fopen or a Guzzle
* {@see EntityBody} object.
*
- * @return self
+ * @return $this
* @throws InvalidArgumentException when the source cannot be found or opened
*/
public function setSource($source)
@@ -123,7 +123,7 @@ abstract class AbstractUploadBuilder
*
* @param array $headers Headers to add to the uploaded object
*
- * @return self
+ * @return $this
*/
public function setHeaders(array $headers)
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/aws-config.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/aws-config.php
index 6a1e30c6413..710ad0d3385 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/aws-config.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/aws-config.php
@@ -78,6 +78,12 @@ return array(
'class' => 'Aws\CloudWatch\CloudWatchClient'
),
+ 'cloudwatchlogs' => array(
+ 'alias' => 'CloudWatchLogs',
+ 'extends' => 'default_settings',
+ 'class' => 'Aws\CloudWatchLogs\CloudWatchLogsClient'
+ ),
+
'cognito-identity' => array(
'alias' => 'CognitoIdentity',
'extends' => 'default_settings',
@@ -94,10 +100,16 @@ return array(
'cognitosync' => array('extends' => 'cognito-sync'),
- 'cloudwatchlogs' => array(
- 'alias' => 'CloudWatchLogs',
+ 'codedeploy' => array(
+ 'alias' => 'CodeDeploy',
'extends' => 'default_settings',
- 'class' => 'Aws\CloudWatchLogs\CloudWatchLogsClient'
+ 'class' => 'Aws\CodeDeploy\CodeDeployClient'
+ ),
+
+ 'config' => array(
+ 'alias' => 'ConfigService',
+ 'extends' => 'default_settings',
+ 'class' => 'Aws\ConfigService\ConfigServiceClient'
),
'datapipeline' => array(
@@ -173,6 +185,18 @@ return array(
'class' => 'Aws\Kinesis\KinesisClient'
),
+ 'kms' => array(
+ 'alias' => 'Kms',
+ 'extends' => 'default_settings',
+ 'class' => 'Aws\Kms\KmsClient'
+ ),
+
+ 'lambda' => array(
+ 'alias' => 'Lambda',
+ 'extends' => 'default_settings',
+ 'class' => 'Aws\Lambda\LambdaClient'
+ ),
+
'iam' => array(
'alias' => 'Iam',
'extends' => 'default_settings',
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/public-endpoints.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/public-endpoints.php
new file mode 100644
index 00000000000..f24f3404f21
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Resources/public-endpoints.php
@@ -0,0 +1,64 @@
+<?php
+return array(
+ 'version' => 2,
+ 'endpoints' => array(
+ '*/*' => array(
+ 'endpoint' => '{service}.{region}.amazonaws.com'
+ ),
+ 'cn-north-1/*' => array(
+ 'endpoint' => '{service}.{region}.amazonaws.com.cn',
+ 'signatureVersion' => 'v4'
+ ),
+ 'us-gov-west-1/iam' => array(
+ 'endpoint' => 'iam.us-gov.amazonaws.com'
+ ),
+ 'us-gov-west-1/sts' => array(
+ 'endpoint' => 'sts.us-gov.amazonaws.com'
+ ),
+ 'us-gov-west-1/s3' => array(
+ 'endpoint' => 's3-{region}.amazonaws.com'
+ ),
+ '*/cloudfront' => array(
+ 'endpoint' => 'cloudfront.amazonaws.com'
+ ),
+ '*/iam' => array(
+ 'endpoint' => 'iam.amazonaws.com'
+ ),
+ '*/importexport' => array(
+ 'endpoint' => 'importexport.amazonaws.com'
+ ),
+ '*/route53' => array(
+ 'endpoint' => 'route53.amazonaws.com'
+ ),
+ '*/sts' => array(
+ 'endpoint' => 'sts.amazonaws.com'
+ ),
+ 'us-east-1/sdb' => array(
+ 'endpoint' => 'sdb.amazonaws.com'
+ ),
+ 'us-east-1/s3' => array(
+ 'endpoint' => 's3.amazonaws.com'
+ ),
+ 'us-west-1/s3' => array(
+ 'endpoint' => 's3-{region}.amazonaws.com'
+ ),
+ 'us-west-2/s3' => array(
+ 'endpoint' => 's3-{region}.amazonaws.com'
+ ),
+ 'eu-west-1/s3' => array(
+ 'endpoint' => 's3-{region}.amazonaws.com'
+ ),
+ 'ap-southeast-1/s3' => array(
+ 'endpoint' => 's3-{region}.amazonaws.com'
+ ),
+ 'ap-southeast-2/s3' => array(
+ 'endpoint' => 's3-{region}.amazonaws.com'
+ ),
+ 'ap-northeast-1/s3' => array(
+ 'endpoint' => 's3-{region}.amazonaws.com'
+ ),
+ 'sa-east-1/s3' => array(
+ 'endpoint' => 's3-{region}.amazonaws.com'
+ )
+ )
+);
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/RulesEndpointProvider.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/RulesEndpointProvider.php
new file mode 100644
index 00000000000..ec57cb862ca
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/RulesEndpointProvider.php
@@ -0,0 +1,67 @@
+<?php
+namespace Aws\Common;
+
+/**
+ * Provides endpoints based on a rules configuration file.
+ */
+class RulesEndpointProvider
+{
+ /** @var array */
+ private $patterns;
+
+ /**
+ * @param array $patterns Hash of endpoint patterns mapping to endpoint
+ * configurations.
+ */
+ public function __construct(array $patterns)
+ {
+ $this->patterns = $patterns;
+ }
+
+ /**
+ * Creates and returns the default RulesEndpointProvider based on the
+ * public rule sets.
+ *
+ * @return self
+ */
+ public static function fromDefaults()
+ {
+ return new self(require __DIR__ . '/Resources/public-endpoints.php');
+ }
+
+ public function __invoke(array $args = array())
+ {
+ if (!isset($args['service'])) {
+ throw new \InvalidArgumentException('Requires a "service" value');
+ }
+
+ if (!isset($args['region'])) {
+ throw new \InvalidArgumentException('Requires a "region" value');
+ }
+
+ foreach ($this->getKeys($args['region'], $args['service']) as $key) {
+ if (isset($this->patterns['endpoints'][$key])) {
+ return $this->expand($this->patterns['endpoints'][$key], $args);
+ }
+ }
+
+ throw new \RuntimeException('Could not resolve endpoint');
+ }
+
+ private function expand(array $config, array $args)
+ {
+ $scheme = isset($args['scheme']) ? $args['scheme'] : 'https';
+ $config['endpoint'] = $scheme . '://' . str_replace(
+ array('{service}', '{region}'),
+ array($args['service'], $args['region']),
+ $config['endpoint']
+ );
+
+ return $config;
+ }
+
+ private function getKeys($region, $service)
+ {
+ return array("$region/$service", "$region/*", "*/$service", "*/*");
+ }
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV4.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV4.php
index fda63a95fc4..38b60b4594b 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV4.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Signature/SignatureV4.php
@@ -19,7 +19,6 @@ namespace Aws\Common\Signature;
use Aws\Common\Credentials\CredentialsInterface;
use Aws\Common\Enum\DateFormat;
use Aws\Common\HostNameUtils;
-use Guzzle\Http\Message\EntityEnclosingRequest;
use Guzzle\Http\Message\EntityEnclosingRequestInterface;
use Guzzle\Http\Message\RequestFactory;
use Guzzle\Http\Message\RequestInterface;
@@ -304,43 +303,42 @@ class SignatureV4 extends AbstractSignature implements EndpointSignatureInterfac
*/
private function createSigningContext(RequestInterface $request, $payload)
{
+ $signable = array(
+ 'host' => true,
+ 'date' => true,
+ 'content-md5' => true
+ );
+
// Normalize the path as required by SigV4 and ensure it's absolute
$canon = $request->getMethod() . "\n"
. $this->createCanonicalizedPath($request) . "\n"
. $this->getCanonicalizedQueryString($request) . "\n";
- // Create the canonical headers
- $headers = array();
+ $canonHeaders = array();
+
foreach ($request->getHeaders()->getAll() as $key => $values) {
$key = strtolower($key);
- if ($key != 'user-agent') {
- $headers[$key] = array();
- foreach ($values as $value) {
- $headers[$key][] = preg_replace('/\s+/', ' ', trim($value));
- }
- // Sort the value if there is more than one
- if (count($values) > 1) {
- sort($headers[$key]);
+ if (isset($signable[$key]) || substr($key, 0, 6) === 'x-amz-') {
+ $values = $values->toArray();
+ if (count($values) == 1) {
+ $values = $values[0];
+ } else {
+ sort($values);
+ $values = implode(',', $values);
}
+ $canonHeaders[$key] = $key . ':' . preg_replace('/\s+/', ' ', $values);
}
}
- // The headers must be sorted
- ksort($headers);
-
- // Continue to build the canonical request by adding headers
- foreach ($headers as $key => $values) {
- // Combine multi-value headers into a comma separated list
- $canon .= $key . ':' . implode(',', $values) . "\n";
- }
-
- // Create the signed headers
- $signedHeaders = implode(';', array_keys($headers));
- $canon .= "\n{$signedHeaders}\n{$payload}";
+ ksort($canonHeaders);
+ $signedHeadersString = implode(';', array_keys($canonHeaders));
+ $canon .= implode("\n", $canonHeaders) . "\n\n"
+ . $signedHeadersString . "\n"
+ . $payload;
return array(
'canonical_request' => $canon,
- 'signed_headers' => $signedHeaders
+ 'signed_headers' => $signedHeadersString
);
}
@@ -394,6 +392,8 @@ class SignatureV4 extends AbstractSignature implements EndpointSignatureInterfac
foreach ($queryParams as $key => $values) {
if (is_array($values)) {
sort($values);
+ } elseif ($values === 0) {
+ $values = array('0');
} elseif (!$values) {
$values = array('');
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Acp.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Acp.php
index 8325a2b6570..6c19f668400 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Acp.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Acp.php
@@ -54,7 +54,7 @@ class Acp implements ToArrayInterface, \IteratorAggregate, \Countable
*
* @param array $data Array of ACP data
*
- * @return self
+ * @return Acp
*/
public static function fromArray(array $data)
{
@@ -100,7 +100,7 @@ class Acp implements ToArrayInterface, \IteratorAggregate, \Countable
*
* @param Grantee $owner ACP policy owner
*
- * @return self
+ * @return $this
*
* @throws InvalidArgumentException if the grantee does not have an ID set
*/
@@ -130,7 +130,7 @@ class Acp implements ToArrayInterface, \IteratorAggregate, \Countable
*
* @param array|\Traversable $grants List of grants for the ACP
*
- * @return self
+ * @return $this
*
* @throws InvalidArgumentException
*/
@@ -167,7 +167,7 @@ class Acp implements ToArrayInterface, \IteratorAggregate, \Countable
*
* @param Grant $grant Grant to add
*
- * @return self
+ * @return $this
*/
public function addGrant(Grant $grant)
{
@@ -205,7 +205,7 @@ class Acp implements ToArrayInterface, \IteratorAggregate, \Countable
*
* @param AbstractCommand $command Command to be updated
*
- * @return self
+ * @return $this
*/
public function updateCommand(AbstractCommand $command)
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/AcpBuilder.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/AcpBuilder.php
index 0e41c3cb0a0..b6d1be72167 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/AcpBuilder.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/AcpBuilder.php
@@ -36,11 +36,11 @@ class AcpBuilder
/**
* Static method for chainable instantiation
*
- * @return self
+ * @return static
*/
public static function newInstance()
{
- return new self;
+ return new static;
}
/**
@@ -49,7 +49,7 @@ class AcpBuilder
* @param string $id Owner identifier
* @param string $displayName Owner display name
*
- * @return self
+ * @return $this
*/
public function setOwner($id, $displayName = null)
{
@@ -65,7 +65,7 @@ class AcpBuilder
* @param string $id Grantee identifier
* @param string $displayName Grantee display name
*
- * @return self
+ * @return $this
*/
public function addGrantForUser($permission, $id, $displayName = null)
{
@@ -81,7 +81,7 @@ class AcpBuilder
* @param string $permission Permission for the Grant
* @param string $email Grantee email address
*
- * @return self
+ * @return $this
*/
public function addGrantForEmail($permission, $email)
{
@@ -97,7 +97,7 @@ class AcpBuilder
* @param string $permission Permission for the Grant
* @param string $group Grantee group
*
- * @return self
+ * @return $this
*/
public function addGrantForGroup($permission, $group)
{
@@ -113,7 +113,7 @@ class AcpBuilder
* @param string $permission Permission for the Grant
* @param Grantee $grantee The Grantee for the Grant
*
- * @return self
+ * @return $this
*/
public function addGrant($permission, Grantee $grantee)
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/ClearBucket.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/ClearBucket.php
index 77ce9378f45..09982d8ae7d 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/ClearBucket.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/ClearBucket.php
@@ -81,7 +81,7 @@ class ClearBucket extends AbstractHasDispatcher
*
* @param string $bucket Name of the bucket to clear
*
- * @return self
+ * @return $this
*/
public function setBucket($bucket)
{
@@ -114,7 +114,7 @@ class ClearBucket extends AbstractHasDispatcher
*
* @param \Iterator $iterator Iterator used to yield the keys to be deleted
*
- * @return self
+ * @return $this
*/
public function setIterator(\Iterator $iterator)
{
@@ -129,7 +129,7 @@ class ClearBucket extends AbstractHasDispatcher
* @param string $mfa MFA token to send with each request. The value is the concatenation of the authentication
* device's serial number, a space, and the value displayed on your authentication device.
*
- * @return self
+ * @return $this
*/
public function setMfa($mfa)
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsBatch.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsBatch.php
index 17d8af33a73..ab6425bbb87 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsBatch.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsBatch.php
@@ -38,7 +38,7 @@ class DeleteObjectsBatch extends AbstractBatchDecorator
* @param string $bucket Bucket that contains the objects to delete
* @param string $mfa MFA token to use with the request
*
- * @return self
+ * @return static
*/
public static function factory(AwsClientInterface $client, $bucket, $mfa = null)
{
@@ -47,7 +47,7 @@ class DeleteObjectsBatch extends AbstractBatchDecorator
->transferWith(new DeleteObjectsTransfer($client, $bucket, $mfa))
->build();
- return new self($batch);
+ return new static($batch);
}
/**
@@ -56,7 +56,7 @@ class DeleteObjectsBatch extends AbstractBatchDecorator
* @param string $key Key of the object
* @param string $versionId VersionID of the object
*
- * @return self
+ * @return $this
*/
public function addKey($key, $versionId = null)
{
@@ -82,6 +82,6 @@ class DeleteObjectsBatch extends AbstractBatchDecorator
throw new InvalidArgumentException('Item must be a DeleteObject command or array containing a Key and VersionId key.');
}
- return $this->decoratedBatch->add($item);
+ return parent::add($item);
}
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsTransfer.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsTransfer.php
index c3d3828c4e3..5918ff18ff7 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsTransfer.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/DeleteObjectsTransfer.php
@@ -64,7 +64,7 @@ class DeleteObjectsTransfer implements BatchTransferInterface
*
* @param string $token MFA token
*
- * @return self
+ * @return $this
*/
public function setMfa($token)
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grant.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grant.php
index afc2757e8cc..2e35f059511 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grant.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grant.php
@@ -63,7 +63,7 @@ class Grant implements ToArrayInterface
*
* @param Grantee $grantee Affected grantee
*
- * @return self
+ * @return $this
*/
public function setGrantee(Grantee $grantee)
{
@@ -87,7 +87,7 @@ class Grant implements ToArrayInterface
*
* @param string $permission Permission applied
*
- * @return self
+ * @return $this
*
* @throws InvalidArgumentException
*/
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grantee.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grantee.php
index f49c70fca1c..7634b84a350 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grantee.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/Grantee.php
@@ -214,7 +214,7 @@ class Grantee implements ToArrayInterface
*/
public function getHeaderValue()
{
- $key = self::$headerMap[$this->type];
+ $key = static::$headerMap[$this->type];
return "{$key}=\"{$this->id}\"";
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/UploadBuilder.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/UploadBuilder.php
index cae7658d72e..e30f23a36cf 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/UploadBuilder.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Model/MultipartUpload/UploadBuilder.php
@@ -67,7 +67,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param string $bucket Name of the bucket
*
- * @return self
+ * @return $this
*/
public function setBucket($bucket)
{
@@ -79,7 +79,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param string $key Key of the object to upload
*
- * @return self
+ * @return $this
*/
public function setKey($key)
{
@@ -91,7 +91,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param int $minSize Minimum acceptable part size in bytes
*
- * @return self
+ * @return $this
*/
public function setMinPartSize($minSize)
{
@@ -107,7 +107,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param int $concurrency Concurrency level
*
- * @return self
+ * @return $this
*/
public function setConcurrency($concurrency)
{
@@ -121,7 +121,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param string $md5 MD5 hash of the entire body
*
- * @return self
+ * @return $this
*/
public function setMd5($md5)
{
@@ -137,7 +137,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param bool $calculateMd5 Set to true to calculate the MD5 hash of the body
*
- * @return self
+ * @return $this
*/
public function calculateMd5($calculateMd5)
{
@@ -152,7 +152,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param bool $usePartMd5 Set to true to calculate the MD5 has of each part
*
- * @return self
+ * @return $this
*/
public function calculatePartMd5($usePartMd5)
{
@@ -166,7 +166,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param Acp $acp ACP to set on the object
*
- * @return self
+ * @return $this
*/
public function setAcp(Acp $acp)
{
@@ -179,7 +179,7 @@ class UploadBuilder extends AbstractUploadBuilder
* @param string $name Option name
* @param string $value Option value
*
- * @return self
+ * @return $this
*/
public function setOption($name, $value)
{
@@ -193,7 +193,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param array $options Array of CreateMultipartUpload operation parameters
*
- * @return self
+ * @return $this
*/
public function addOptions(array $options)
{
@@ -207,7 +207,7 @@ class UploadBuilder extends AbstractUploadBuilder
*
* @param array $options Transfer options
*
- * @return self
+ * @return $this
*/
public function setTransferOptions(array $options)
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Resources/s3-2006-03-01.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Resources/s3-2006-03-01.php
index 8739cef6a04..0d7b023f029 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Resources/s3-2006-03-01.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Resources/s3-2006-03-01.php
@@ -45,6 +45,11 @@ return array (
'https' => true,
'hostname' => 's3-eu-west-1.amazonaws.com',
),
+ 'eu-central-1' => array(
+ 'http' => true,
+ 'https' => true,
+ 'hostname' => 's3-eu-central-1.amazonaws.com',
+ ),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
@@ -355,6 +360,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-copy-source-server-side-encryption-customer-key-MD5',
),
+ 'CopySourceSSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-copy-source-server-side-encryption-aws-kms-key-id',
+ ),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
@@ -564,6 +574,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
@@ -1068,6 +1083,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'SaveAs' => array(
'location' => 'response_body',
),
@@ -1236,6 +1256,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
),
'errorResponses' => array(
array(
@@ -1843,10 +1868,22 @@ return array (
'location' => 'uri',
),
'TopicConfiguration' => array(
- 'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
+ 'Id' => array(
+ 'type' => 'string',
+ ),
+ 'Events' => array(
+ 'type' => 'array',
+ 'data' => array(
+ 'xmlFlattened' => true,
+ ),
+ 'items' => array(
+ 'name' => 'Event',
+ 'type' => 'string',
+ ),
+ ),
'Event' => array(
'type' => 'string',
),
@@ -1855,6 +1892,59 @@ return array (
),
),
),
+ 'QueueConfiguration' => array(
+ 'type' => 'object',
+ 'location' => 'xml',
+ 'properties' => array(
+ 'Id' => array(
+ 'type' => 'string',
+ ),
+ 'Event' => array(
+ 'type' => 'string',
+ ),
+ 'Events' => array(
+ 'type' => 'array',
+ 'data' => array(
+ 'xmlFlattened' => true,
+ ),
+ 'items' => array(
+ 'name' => 'Event',
+ 'type' => 'string',
+ ),
+ ),
+ 'Queue' => array(
+ 'type' => 'string',
+ ),
+ ),
+ ),
+ 'CloudFunctionConfiguration' => array(
+ 'type' => 'object',
+ 'location' => 'xml',
+ 'properties' => array(
+ 'Id' => array(
+ 'type' => 'string',
+ ),
+ 'Event' => array(
+ 'type' => 'string',
+ ),
+ 'Events' => array(
+ 'type' => 'array',
+ 'data' => array(
+ 'xmlFlattened' => true,
+ ),
+ 'items' => array(
+ 'name' => 'Event',
+ 'type' => 'string',
+ ),
+ ),
+ 'CloudFunction' => array(
+ 'type' => 'string',
+ ),
+ 'InvocationRole' => array(
+ 'type' => 'string',
+ ),
+ ),
+ ),
),
),
'PutBucketPolicy' => array(
@@ -2241,6 +2331,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
@@ -2399,6 +2494,11 @@ return array (
'Aws\\S3\\S3Client::explodeKey',
),
),
+ 'VersionId' => array(
+ 'type' => 'string',
+ 'location' => 'query',
+ 'sentAs' => 'versionId',
+ ),
'Days' => array(
'required' => true,
'type' => 'numeric',
@@ -2488,6 +2588,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
),
),
'UploadPartCopy' => array(
@@ -2602,6 +2707,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-copy-source-server-side-encryption-customer-key-MD5',
),
+ 'CopySourceSSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
@@ -2655,6 +2765,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-version-id',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
@@ -2698,6 +2813,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
@@ -2750,6 +2870,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
@@ -3197,6 +3322,21 @@ return array (
'type' => 'object',
'location' => 'xml',
'properties' => array(
+ 'Id' => array(
+ 'type' => 'string',
+ ),
+ 'Events' => array(
+ 'type' => 'array',
+ 'sentAs' => 'Event',
+ 'data' => array(
+ 'xmlFlattened' => true,
+ ),
+ 'items' => array(
+ 'name' => 'Event',
+ 'type' => 'string',
+ 'sentAs' => 'Event',
+ ),
+ ),
'Event' => array(
'type' => 'string',
),
@@ -3205,6 +3345,63 @@ return array (
),
),
),
+ 'QueueConfiguration' => array(
+ 'type' => 'object',
+ 'location' => 'xml',
+ 'properties' => array(
+ 'Id' => array(
+ 'type' => 'string',
+ ),
+ 'Event' => array(
+ 'type' => 'string',
+ ),
+ 'Events' => array(
+ 'type' => 'array',
+ 'sentAs' => 'Event',
+ 'data' => array(
+ 'xmlFlattened' => true,
+ ),
+ 'items' => array(
+ 'name' => 'Event',
+ 'type' => 'string',
+ 'sentAs' => 'Event',
+ ),
+ ),
+ 'Queue' => array(
+ 'type' => 'string',
+ ),
+ ),
+ ),
+ 'CloudFunctionConfiguration' => array(
+ 'type' => 'object',
+ 'location' => 'xml',
+ 'properties' => array(
+ 'Id' => array(
+ 'type' => 'string',
+ ),
+ 'Event' => array(
+ 'type' => 'string',
+ ),
+ 'Events' => array(
+ 'type' => 'array',
+ 'sentAs' => 'Event',
+ 'data' => array(
+ 'xmlFlattened' => true,
+ ),
+ 'items' => array(
+ 'name' => 'Event',
+ 'type' => 'string',
+ 'sentAs' => 'Event',
+ ),
+ ),
+ 'CloudFunction' => array(
+ 'type' => 'string',
+ ),
+ 'InvocationRole' => array(
+ 'type' => 'string',
+ ),
+ ),
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
@@ -3478,6 +3675,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
@@ -3676,6 +3878,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
@@ -3745,6 +3952,10 @@ return array (
'type' => 'string',
'location' => 'xml',
),
+ 'Delimiter' => array(
+ 'type' => 'string',
+ 'location' => 'xml',
+ ),
'NextUploadIdMarker' => array(
'type' => 'string',
'location' => 'xml',
@@ -3949,6 +4160,10 @@ return array (
'type' => 'string',
'location' => 'xml',
),
+ 'Delimiter' => array(
+ 'type' => 'string',
+ 'location' => 'xml',
+ ),
'MaxKeys' => array(
'type' => 'numeric',
'location' => 'xml',
@@ -4042,6 +4257,10 @@ return array (
'type' => 'string',
'location' => 'xml',
),
+ 'Delimiter' => array(
+ 'type' => 'string',
+ 'location' => 'xml',
+ ),
'MaxKeys' => array(
'type' => 'numeric',
'location' => 'xml',
@@ -4298,6 +4517,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
@@ -4349,6 +4573,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
@@ -4387,6 +4616,11 @@ return array (
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5',
),
+ 'SSEKMSKeyId' => array(
+ 'type' => 'string',
+ 'location' => 'header',
+ 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id',
+ ),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3Client.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3Client.php
index 219e37eb92d..7f7c7cf22c4 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3Client.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3Client.php
@@ -24,7 +24,6 @@ use Aws\Common\Enum\ClientOptions as Options;
use Aws\Common\Exception\RuntimeException;
use Aws\Common\Exception\InvalidArgumentException;
use Aws\Common\Signature\SignatureV4;
-use Aws\Common\Signature\SignatureInterface;
use Aws\Common\Model\MultipartUpload\AbstractTransfer;
use Aws\S3\Exception\AccessDeniedException;
use Aws\S3\Exception\Parser\S3ExceptionParser;
@@ -156,7 +155,7 @@ class S3Client extends AbstractClient
*
* @param array|Collection $config Client configuration data
*
- * @return self
+ * @return S3Client
* @link http://docs.aws.amazon.com/aws-sdk-php/guide/latest/configuration.html#client-configuration-options
*/
public static function factory($config = array())
@@ -165,10 +164,10 @@ class S3Client extends AbstractClient
// Configure the custom exponential backoff plugin for retrying S3 specific errors
if (!isset($config[Options::BACKOFF])) {
- $config[Options::BACKOFF] = self::createBackoffPlugin($exceptionParser);
+ $config[Options::BACKOFF] = static::createBackoffPlugin($exceptionParser);
}
- $config[Options::SIGNATURE] = $signature = self::createSignature($config);
+ $config[Options::SIGNATURE] = $signature = static::createSignature($config);
$client = ClientBuilder::factory(__NAMESPACE__)
->setConfig($config)
@@ -222,7 +221,7 @@ class S3Client extends AbstractClient
// Add aliases for some S3 operations
$default = CompositeFactory::getDefaultChain($client);
$default->add(
- new AliasFactory($client, self::$commandAliases),
+ new AliasFactory($client, static::$commandAliases),
'Guzzle\Service\Command\Factory\ServiceDescriptionFactory'
);
$client->setCommandFactory($default);
@@ -266,11 +265,16 @@ class S3Client extends AbstractClient
{
$currentValue = isset($config[Options::SIGNATURE]) ? $config[Options::SIGNATURE] : null;
+ // Force v4 if no value is provided, a region is in the config, and
+ // the region starts with "cn-" or "eu-central-".
+ $requiresV4 = !$currentValue
+ && isset($config['region'])
+ && (strpos($config['region'], 'eu-central-') === 0
+ || strpos($config['region'], 'cn-') === 0);
+
// Use the Amazon S3 signature V4 when the value is set to "v4" or when
// the value is not set and the region starts with "cn-".
- if ($currentValue == 'v4' ||
- (!$currentValue && isset($config['region']) && substr($config['region'], 0, 3) == 'cn-')
- ) {
+ if ($currentValue == 'v4' || $requiresV4) {
// Force SignatureV4 for specific regions or if specified in the config
$currentValue = new S3SignatureV4('s3');
} elseif (!$currentValue || $currentValue == 's3') {
@@ -456,7 +460,7 @@ class S3Client extends AbstractClient
/**
* Register the Amazon S3 stream wrapper and associates it with this client object
*
- * @return self
+ * @return $this
*/
public function registerStreamWrapper()
{
@@ -515,8 +519,7 @@ class S3Client extends AbstractClient
->setTransferOptions($options->toArray())
->addOptions($options['params'])
->setOption('ACL', $acl)
- ->build()
- ->upload();
+ ->build();
if ($options['before_upload']) {
$transfer->getEventDispatcher()->addListener(
@@ -525,7 +528,7 @@ class S3Client extends AbstractClient
);
}
- return $transfer;
+ return $transfer->upload();
}
/**
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3SignatureV4.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3SignatureV4.php
index 7587af0fcba..edbb4fcd082 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3SignatureV4.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/S3SignatureV4.php
@@ -32,7 +32,10 @@ class S3SignatureV4 extends SignatureV4 implements S3SignatureInterface
public function signRequest(RequestInterface $request, CredentialsInterface $credentials)
{
if (!$request->hasHeader('x-amz-content-sha256')) {
- $request->setHeader('x-amz-content-sha256', $this->getPresignedPayload($request));
+ $request->setHeader(
+ 'x-amz-content-sha256',
+ $this->getPayload($request)
+ );
}
parent::signRequest($request, $credentials);
@@ -44,14 +47,7 @@ class S3SignatureV4 extends SignatureV4 implements S3SignatureInterface
*/
protected function getPresignedPayload(RequestInterface $request)
{
- $result = parent::getPresignedPayload($request);
-
- // If the body is empty, then sign with 'UNSIGNED-PAYLOAD'
- if ($result === self::DEFAULT_PAYLOAD) {
- $result = hash('sha256', 'UNSIGNED-PAYLOAD');
- }
-
- return $result;
+ return 'UNSIGNED-PAYLOAD';
}
/**
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/StreamWrapper.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/StreamWrapper.php
index 3bb85aae6df..b0bdb21f564 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/StreamWrapper.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/StreamWrapper.php
@@ -133,7 +133,7 @@ class StreamWrapper
}
stream_wrapper_register('s3', get_called_class(), STREAM_IS_URL);
- self::$client = $client;
+ static::$client = $client;
}
/**
@@ -172,7 +172,7 @@ class StreamWrapper
}
// When using mode "x" validate if the file exists before attempting to read
- if ($mode == 'x' && self::$client->doesObjectExist($params['Bucket'], $params['Key'], $this->getOptions())) {
+ if ($mode == 'x' && static::$client->doesObjectExist($params['Bucket'], $params['Key'], $this->getOptions())) {
$errors[] = "{$path} already exists on Amazon S3";
}
@@ -219,7 +219,7 @@ class StreamWrapper
}
try {
- self::$client->putObject($params);
+ static::$client->putObject($params);
return true;
} catch (\Exception $e) {
return $this->triggerError($e->getMessage());
@@ -283,7 +283,7 @@ class StreamWrapper
{
try {
$this->clearStatInfo($path);
- self::$client->deleteObject($this->getParams($path));
+ static::$client->deleteObject($this->getParams($path));
return true;
} catch (\Exception $e) {
return $this->triggerError($e->getMessage());
@@ -316,15 +316,15 @@ class StreamWrapper
public function url_stat($path, $flags)
{
// Check if this path is in the url_stat cache
- if (isset(self::$nextStat[$path])) {
- return self::$nextStat[$path];
+ if (isset(static::$nextStat[$path])) {
+ return static::$nextStat[$path];
}
$parts = $this->getParams($path);
if (!$parts['Key']) {
// Stat "directories": buckets, or "s3://"
- if (!$parts['Bucket'] || self::$client->doesBucketExist($parts['Bucket'])) {
+ if (!$parts['Bucket'] || static::$client->doesBucketExist($parts['Bucket'])) {
return $this->formatUrlStat($path);
} else {
return $this->triggerError("File or directory not found: {$path}", $flags);
@@ -333,7 +333,7 @@ class StreamWrapper
try {
try {
- $result = self::$client->headObject($parts)->toArray();
+ $result = static::$client->headObject($parts)->toArray();
if (substr($parts['Key'], -1, 1) == '/' && $result['ContentLength'] == 0) {
// Return as if it is a bucket to account for console bucket objects (e.g., zero-byte object "foo/")
return $this->formatUrlStat($path);
@@ -343,7 +343,7 @@ class StreamWrapper
}
} catch (NoSuchKeyException $e) {
// Maybe this isn't an actual key, but a prefix. Do a prefix listing of objects to determine.
- $result = self::$client->listObjects(array(
+ $result = static::$client->listObjects(array(
'Bucket' => $parts['Bucket'],
'Prefix' => rtrim($parts['Key'], '/') . '/',
'MaxKeys' => 1
@@ -404,7 +404,7 @@ class StreamWrapper
try {
if (!$params['Key']) {
- self::$client->deleteBucket(array('Bucket' => $params['Bucket']));
+ static::$client->deleteBucket(array('Bucket' => $params['Bucket']));
$this->clearStatInfo($path);
return true;
}
@@ -412,7 +412,7 @@ class StreamWrapper
// Use a key that adds a trailing slash if needed.
$prefix = rtrim($params['Key'], '/') . '/';
- $result = self::$client->listObjects(array(
+ $result = static::$client->listObjects(array(
'Bucket' => $params['Bucket'],
'Prefix' => $prefix,
'MaxKeys' => 1
@@ -476,7 +476,7 @@ class StreamWrapper
$operationParams['Delimiter'] = $delimiter;
}
- $objectIterator = self::$client->getIterator('ListObjects', $operationParams, array(
+ $objectIterator = static::$client->getIterator('ListObjects', $operationParams, array(
'return_prefixes' => true,
'sort_results' => true
));
@@ -554,7 +554,7 @@ class StreamWrapper
// Cache the object data for quick url_stat lookups used with
// RecursiveDirectoryIterator.
- self::$nextStat = array($key => $stat);
+ static::$nextStat = array($key => $stat);
$this->objectIterator->next();
return $result;
@@ -582,14 +582,14 @@ class StreamWrapper
try {
// Copy the object and allow overriding default parameters if desired, but by default copy metadata
- self::$client->copyObject($this->getOptions() + array(
+ static::$client->copyObject($this->getOptions() + array(
'Bucket' => $partsTo['Bucket'],
'Key' => $partsTo['Key'],
'CopySource' => '/' . $partsFrom['Bucket'] . '/' . rawurlencode($partsFrom['Key']),
'MetadataDirective' => 'COPY'
));
// Delete the original object
- self::$client->deleteObject(array(
+ static::$client->deleteObject(array(
'Bucket' => $partsFrom['Bucket'],
'Key' => $partsFrom['Key']
) + $this->getOptions());
@@ -685,7 +685,7 @@ class StreamWrapper
protected function openReadStream(array $params, array &$errors)
{
// Create the command and serialize the request
- $request = $this->getSignedRequest(self::$client->getCommand('GetObject', $params));
+ $request = $this->getSignedRequest(static::$client->getCommand('GetObject', $params));
// Create a stream that uses the EntityBody object
$factory = $this->getOption('stream_factory') ?: new PhpStreamRequestFactory();
$this->body = $factory->fromRequest($request, array(), array('stream_class' => 'Guzzle\Http\EntityBody'));
@@ -723,7 +723,7 @@ class StreamWrapper
{
try {
// Get the body of the object
- $this->body = self::$client->getObject($params)->get('Body');
+ $this->body = static::$client->getObject($params)->get('Body');
$this->body->seek(0, SEEK_END);
} catch (S3Exception $e) {
// The object does not exist, so use a simple write stream
@@ -810,7 +810,7 @@ class StreamWrapper
*/
protected function clearStatInfo($path = null)
{
- self::$nextStat = array();
+ static::$nextStat = array();
if ($path) {
clearstatcache(true, $path);
}
@@ -826,12 +826,12 @@ class StreamWrapper
*/
private function createBucket($path, array $params)
{
- if (self::$client->doesBucketExist($params['Bucket'])) {
+ if (static::$client->doesBucketExist($params['Bucket'])) {
return $this->triggerError("Directory already exists: {$path}");
}
try {
- self::$client->createBucket($params);
+ static::$client->createBucket($params);
$this->clearStatInfo($path);
return true;
} catch (\Exception $e) {
@@ -854,12 +854,12 @@ class StreamWrapper
$params['Body'] = '';
// Fail if this pseudo directory key already exists
- if (self::$client->doesObjectExist($params['Bucket'], $params['Key'])) {
+ if (static::$client->doesObjectExist($params['Bucket'], $params['Key'])) {
return $this->triggerError("Directory already exists: {$path}");
}
try {
- self::$client->putObject($params);
+ static::$client->putObject($params);
$this->clearStatInfo($path);
return true;
} catch (\Exception $e) {
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/AbstractSyncBuilder.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/AbstractSyncBuilder.php
index a2fe0fc5b8f..df69f4a8519 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/AbstractSyncBuilder.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/AbstractSyncBuilder.php
@@ -65,7 +65,7 @@ abstract class AbstractSyncBuilder
protected $debug;
/**
- * @return self
+ * @return static
*/
public static function getInstance()
{
@@ -77,7 +77,7 @@ abstract class AbstractSyncBuilder
*
* @param string $bucket Amazon S3 bucket name
*
- * @return self
+ * @return $this
*/
public function setBucket($bucket)
{
@@ -91,7 +91,7 @@ abstract class AbstractSyncBuilder
*
* @param S3Client $client Amazon S3 client
*
- * @return self
+ * @return $this
*/
public function setClient(S3Client $client)
{
@@ -105,7 +105,7 @@ abstract class AbstractSyncBuilder
*
* @param \Iterator $iterator
*
- * @return self
+ * @return $this
*/
public function setSourceIterator(\Iterator $iterator)
{
@@ -119,7 +119,7 @@ abstract class AbstractSyncBuilder
*
* @param FileNameConverterInterface $converter Filename to object key provider
*
- * @return self
+ * @return $this
*/
public function setSourceFilenameConverter(FilenameConverterInterface $converter)
{
@@ -133,7 +133,7 @@ abstract class AbstractSyncBuilder
*
* @param FileNameConverterInterface $converter Filename to object key provider
*
- * @return self
+ * @return $this
*/
public function setTargetFilenameConverter(FilenameConverterInterface $converter)
{
@@ -148,7 +148,7 @@ abstract class AbstractSyncBuilder
*
* @param string $baseDir Base directory, which will be deleted from each uploaded object key
*
- * @return self
+ * @return $this
*/
public function setBaseDir($baseDir)
{
@@ -164,7 +164,7 @@ abstract class AbstractSyncBuilder
*
* @param string $keyPrefix Prefix for each uploaded key
*
- * @return self
+ * @return $this
*/
public function setKeyPrefix($keyPrefix)
{
@@ -179,7 +179,7 @@ abstract class AbstractSyncBuilder
*
* @param string $delimiter Delimiter to use to separate paths
*
- * @return self
+ * @return $this
*/
public function setDelimiter($delimiter)
{
@@ -193,7 +193,7 @@ abstract class AbstractSyncBuilder
*
* @param array $params Associative array of PutObject (upload) GetObject (download) parameters
*
- * @return self
+ * @return $this
*/
public function setOperationParams(array $params)
{
@@ -207,7 +207,7 @@ abstract class AbstractSyncBuilder
*
* @param int $concurrency Number of concurrent transfers
*
- * @return self
+ * @return $this
*/
public function setConcurrency($concurrency)
{
@@ -221,7 +221,7 @@ abstract class AbstractSyncBuilder
*
* @param bool $force Set to true to force transfers without checking if it has changed
*
- * @return self
+ * @return $this
*/
public function force($force = false)
{
@@ -235,7 +235,7 @@ abstract class AbstractSyncBuilder
*
* @param bool|resource $enabledOrResource Set to true or false to enable or disable debug output. Pass an opened
* fopen resource to write to instead of writing to standard out.
- * @return self
+ * @return $this
*/
public function enableDebugOutput($enabledOrResource = true)
{
@@ -249,7 +249,7 @@ abstract class AbstractSyncBuilder
*
* @param string $search Regular expression search (in preg_match format). Any filename that matches this regex
* will not be transferred.
- * @return self
+ * @return $this
*/
public function addRegexFilter($search)
{
@@ -301,7 +301,7 @@ abstract class AbstractSyncBuilder
/**
* Hook to implement in subclasses
*
- * @return self
+ * @return AbstractSync
*/
abstract protected function specificBuild();
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/DownloadSyncBuilder.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/DownloadSyncBuilder.php
index b0a1e8cda4c..d9cd044449a 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/DownloadSyncBuilder.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/DownloadSyncBuilder.php
@@ -38,7 +38,7 @@ class DownloadSyncBuilder extends AbstractSyncBuilder
*
* @param string $directory Directory
*
- * @return self
+ * @return $this
*/
public function setDirectory($directory)
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/UploadSyncBuilder.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/UploadSyncBuilder.php
index ad6333d687b..20830590692 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/UploadSyncBuilder.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/S3/Sync/UploadSyncBuilder.php
@@ -36,7 +36,7 @@ class UploadSyncBuilder extends AbstractSyncBuilder
*
* @param string $path Path that contains files to upload
*
- * @return self
+ * @return $this
*/
public function uploadFromDirectory($path)
{
@@ -54,7 +54,7 @@ class UploadSyncBuilder extends AbstractSyncBuilder
*
* @param string $glob Glob expression
*
- * @return self
+ * @return $this
* @link http://www.php.net/manual/en/function.glob.php
*/
public function uploadFromGlob($glob)
@@ -71,7 +71,7 @@ class UploadSyncBuilder extends AbstractSyncBuilder
*
* @param string $acl Canned ACL for each upload
*
- * @return self
+ * @return $this
*/
public function setAcl($acl)
{
@@ -85,7 +85,7 @@ class UploadSyncBuilder extends AbstractSyncBuilder
*
* @param Acp $acp Access control policy
*
- * @return self
+ * @return $this
*/
public function setAcp(Acp $acp)
{
@@ -100,7 +100,7 @@ class UploadSyncBuilder extends AbstractSyncBuilder
*
* @param int $size Size threshold
*
- * @return self
+ * @return $this
*/
public function setMultipartUploadSize($size)
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ApcClassLoader.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ApcClassLoader.php
index 8ee49fb45d3..513362a5030 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ApcClassLoader.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ApcClassLoader.php
@@ -15,7 +15,7 @@ namespace Symfony\Component\ClassLoader;
* ApcClassLoader implements a wrapping autoloader cached in APC for PHP 5.3.
*
* It expects an object implementing a findFile method to find the file. This
- * allow using it as a wrapper around the other loaders of the component (the
+ * allows using it as a wrapper around the other loaders of the component (the
* ClassLoader and the UniversalClassLoader for instance) but also around any
* other autoloader following this convention (the Composer one for instance)
*
@@ -46,7 +46,7 @@ class ApcClassLoader
/**
* The class loader object being decorated.
*
- * @var \Symfony\Component\ClassLoader\ClassLoader
+ * @var object
* A class loader object that implements the findFile() method.
*/
protected $decorated;
@@ -133,5 +133,4 @@ class ApcClassLoader
{
return call_user_func_array(array($this->decorated, $method), $args);
}
-
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ClassMapGenerator.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ClassMapGenerator.php
index 7f83dbc5592..efc95ec8be9 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ClassMapGenerator.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/ClassMapGenerator.php
@@ -71,7 +71,6 @@ class ClassMapGenerator
foreach ($classes as $class) {
$map[$class] = $path;
}
-
}
return $map;
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Psr4ClassLoader.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Psr4ClassLoader.php
index 429812d1156..1c0c37e0988 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Psr4ClassLoader.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Psr4ClassLoader.php
@@ -32,7 +32,7 @@ class Psr4ClassLoader
public function addPrefix($prefix, $baseDir)
{
$prefix = trim($prefix, '\\').'\\';
- $baseDir = rtrim($baseDir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
+ $baseDir = rtrim($baseDir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;
$this->prefixes[] = array($prefix, $baseDir);
}
@@ -49,7 +49,7 @@ class Psr4ClassLoader
list($currentPrefix, $currentBaseDir) = $current;
if (0 === strpos($class, $currentPrefix)) {
$classWithoutPrefix = substr($class, strlen($currentPrefix));
- $file = $currentBaseDir . str_replace('\\', DIRECTORY_SEPARATOR, $classWithoutPrefix) . '.php';
+ $file = $currentBaseDir.str_replace('\\', DIRECTORY_SEPARATOR, $classWithoutPrefix).'.php';
if (file_exists($file)) {
return $file;
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/README.md b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/README.md
index fc222b1c9e3..3c785049d20 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/README.md
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/README.md
@@ -9,51 +9,63 @@ standard or the PEAR naming convention.
First, register the autoloader:
- require_once __DIR__.'/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';
+```php
+require_once __DIR__.'/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';
- use Symfony\Component\ClassLoader\UniversalClassLoader;
+use Symfony\Component\ClassLoader\UniversalClassLoader;
- $loader = new UniversalClassLoader();
- $loader->register();
+$loader = new UniversalClassLoader();
+$loader->register();
+```
Then, register some namespaces with the `registerNamespace()` method:
- $loader->registerNamespace('Symfony', __DIR__.'/src');
- $loader->registerNamespace('Monolog', __DIR__.'/vendor/monolog/src');
+```php
+$loader->registerNamespace('Symfony', __DIR__.'/src');
+$loader->registerNamespace('Monolog', __DIR__.'/vendor/monolog/src');
+```
The `registerNamespace()` method takes a namespace prefix and a path where to
look for the classes as arguments.
You can also register a sub-namespaces:
- $loader->registerNamespace('Doctrine\\Common', __DIR__.'/vendor/doctrine-common/lib');
+```php
+$loader->registerNamespace('Doctrine\\Common', __DIR__.'/vendor/doctrine-common/lib');
+```
The order of registration is significant and the first registered namespace
takes precedence over later registered one.
You can also register more than one path for a given namespace:
- $loader->registerNamespace('Symfony', array(__DIR__.'/src', __DIR__.'/symfony/src'));
+```php
+$loader->registerNamespace('Symfony', array(__DIR__.'/src', __DIR__.'/symfony/src'));
+```
Alternatively, you can use the `registerNamespaces()` method to register more
than one namespace at once:
- $loader->registerNamespaces(array(
- 'Symfony' => array(__DIR__.'/src', __DIR__.'/symfony/src'),
- 'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib',
- 'Doctrine' => __DIR__.'/vendor/doctrine/lib',
- 'Monolog' => __DIR__.'/vendor/monolog/src',
- ));
+```php
+$loader->registerNamespaces(array(
+ 'Symfony' => array(__DIR__.'/src', __DIR__.'/symfony/src'),
+ 'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib',
+ 'Doctrine' => __DIR__.'/vendor/doctrine/lib',
+ 'Monolog' => __DIR__.'/vendor/monolog/src',
+));
+```
For better performance, you can use the APC based version of the universal
class loader:
- require_once __DIR__.'/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';
- require_once __DIR__.'/src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php';
+```php
+require_once __DIR__.'/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';
+require_once __DIR__.'/src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php';
- use Symfony\Component\ClassLoader\ApcUniversalClassLoader;
+use Symfony\Component\ClassLoader\ApcUniversalClassLoader;
- $loader = new ApcUniversalClassLoader('apc.prefix.');
+$loader = new ApcUniversalClassLoader('apc.prefix.');
+```
Furthermore, the component provides tools to aggregate classes into a single
file, which is especially useful to improve performance on servers that do not
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
index 38a17f28453..9755256c79a 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
@@ -55,13 +55,13 @@ class ApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(class_exists($className), $message);
}
- public function getLoadClassTests()
- {
- return array(
+ public function getLoadClassTests()
+ {
+ return array(
array('\\Apc\\Namespaced\\Foo', 'Apc\\Namespaced\\Foo', '->loadClass() loads Apc\Namespaced\Foo class'),
array('Apc_Pearlike_Foo', 'Apc_Pearlike_Foo', '->loadClass() loads Apc_Pearlike_Foo class'),
);
- }
+ }
/**
* @dataProvider getLoadClassFromFallbackTests
@@ -77,15 +77,15 @@ class ApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(class_exists($className), $message);
}
- public function getLoadClassFromFallbackTests()
- {
- return array(
+ public function getLoadClassFromFallbackTests()
+ {
+ return array(
array('\\Apc\\Namespaced\\Baz', 'Apc\\Namespaced\\Baz', '->loadClass() loads Apc\Namespaced\Baz class'),
array('Apc_Pearlike_Baz', 'Apc_Pearlike_Baz', '->loadClass() loads Apc_Pearlike_Baz class'),
array('\\Apc\\Namespaced\\FooBar', 'Apc\\Namespaced\\FooBar', '->loadClass() loads Apc\Namespaced\Baz class from fallback dir'),
array('Apc_Pearlike_FooBar', 'Apc_Pearlike_FooBar', '->loadClass() loads Apc_Pearlike_Baz class from fallback dir'),
);
- }
+ }
/**
* @dataProvider getLoadClassNamespaceCollisionTests
@@ -100,9 +100,9 @@ class ApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(class_exists($className), $message);
}
- public function getLoadClassNamespaceCollisionTests()
- {
- return array(
+ public function getLoadClassNamespaceCollisionTests()
+ {
+ return array(
array(
array(
'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
@@ -136,7 +136,7 @@ class ApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
'->loadClass() loads NamespaceCollision\A\B\Bar from beta.',
),
);
- }
+ }
/**
* @dataProvider getLoadClassPrefixCollisionTests
@@ -150,9 +150,9 @@ class ApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(class_exists($className), $message);
}
- public function getLoadClassPrefixCollisionTests()
- {
- return array(
+ public function getLoadClassPrefixCollisionTests()
+ {
+ return array(
array(
array(
'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
@@ -186,5 +186,5 @@ class ApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
'->loadClass() loads ApcPrefixCollision_A_B_Bar from beta.',
),
);
- }
+ }
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
index b8600fc54ed..35617e363ea 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
@@ -76,7 +76,7 @@ class ClassMapGeneratorTest extends \PHPUnit_Framework_TestCase
'Namespaced\\Foo' => realpath(__DIR__).'/Fixtures/Namespaced/Foo.php',
'Namespaced\\Baz' => realpath(__DIR__).'/Fixtures/Namespaced/Baz.php',
'Namespaced\\WithComments' => realpath(__DIR__).'/Fixtures/Namespaced/WithComments.php',
- )
+ ),
),
array(__DIR__.'/Fixtures/beta/NamespaceCollision', array(
'NamespaceCollision\\A\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Bar.php',
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php
index dff891dcb79..b0f9425950f 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php
@@ -2,4 +2,6 @@
namespace ClassesWithParents;
-class A extends B {}
+class A extends B
+{
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php
index 196bf7a2d31..22c751a7e5d 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php
@@ -2,4 +2,6 @@
namespace ClassesWithParents;
-class B implements CInterface {}
+class B implements CInterface
+{
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php
index 26fabbd96e2..c63cef9233e 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php
@@ -13,5 +13,4 @@ namespace ClassMap;
class SomeClass extends SomeParent implements SomeInterface
{
-
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php
index 09d7a8f35a4..1fe5e09aa1f 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php
@@ -13,5 +13,4 @@ namespace ClassMap;
interface SomeInterface
{
-
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php
index 5a859a94607..ce2f9fc6c47 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php
@@ -13,5 +13,4 @@ namespace ClassMap;
abstract class SomeParent
{
-
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php
index d19e07fc11a..7db8cd3b67c 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php
@@ -1,14 +1,24 @@
<?php
namespace {
- class A {}
+ class A
+ {
+ }
}
namespace Alpha {
- class A {}
- class B {}
+ class A
+ {
+ }
+ class B
+ {
+ }
}
namespace Beta {
- class A {}
- class B {}
+ class A
+ {
+ }
+ class B
+ {
+ }
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
index d5ef5e5aa25..b34b9dd28be 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
@@ -11,5 +11,9 @@
namespace Foo\Bar;
-class A {}
-class B {}
+class A
+{
+}
+class B
+{
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php
index a5537ac92fa..82b30a6f9d0 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php
@@ -1,7 +1,8 @@
<?php
trait TD
-{}
+{
+}
trait TZ
{
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php
index 2d92c378e1a..70950be6ff2 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php
@@ -25,6 +25,7 @@ namespace Foo {
class CBar implements IBar
{
- use TBar, TFooBar;
+ use TBar;
+ use TFooBar;
}
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php
index 65cae485ad2..21a7afbd6e7 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php
@@ -24,7 +24,7 @@ class Psr4ClassLoaderTest extends \PHPUnit_Framework_TestCase
$loader = new Psr4ClassLoader();
$loader->addPrefix(
'Acme\\DemoLib',
- __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'psr-4'
+ __DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'psr-4'
);
$loader->loadClass($className);
$this->assertTrue(class_exists($className), sprintf('loadClass() should load %s', $className));
@@ -39,7 +39,7 @@ class Psr4ClassLoaderTest extends \PHPUnit_Framework_TestCase
array('Acme\\DemoLib\\Foo'),
array('Acme\\DemoLib\\Class_With_Underscores'),
array('Acme\\DemoLib\\Lets\\Go\\Deeper\\Foo'),
- array('Acme\\DemoLib\\Lets\\Go\\Deeper\\Class_With_Underscores')
+ array('Acme\\DemoLib\\Lets\\Go\\Deeper\\Class_With_Underscores'),
);
}
@@ -52,7 +52,7 @@ class Psr4ClassLoaderTest extends \PHPUnit_Framework_TestCase
$loader = new Psr4ClassLoader();
$loader->addPrefix(
'Acme\\DemoLib',
- __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'psr-4'
+ __DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'psr-4'
);
$loader->loadClass($className);
$this->assertFalse(class_exists($className), sprintf('loadClass() should not load %s', $className));
@@ -65,7 +65,7 @@ class Psr4ClassLoaderTest extends \PHPUnit_Framework_TestCase
{
return array(
array('Acme\\DemoLib\\I_Do_Not_Exist'),
- array('UnknownVendor\\SomeLib\\I_Do_Not_Exist')
+ array('UnknownVendor\\SomeLib\\I_Do_Not_Exist'),
);
}
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/UniversalClassLoader.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/UniversalClassLoader.php
index 43f9a7d02c4..8a3149f3198 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/UniversalClassLoader.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/UniversalClassLoader.php
@@ -287,7 +287,6 @@ class UniversalClassLoader
return $file;
}
}
-
} else {
// PEAR-like class name
$normalizedClass = str_replace('_', DIRECTORY_SEPARATOR, $class).'.php';
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/XcacheClassLoader.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/XcacheClassLoader.php
index 299a79af932..30096bc83f1 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/XcacheClassLoader.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/ClassLoader/XcacheClassLoader.php
@@ -12,7 +12,7 @@
namespace Symfony\Component\ClassLoader;
/**
- * XcacheClassLoader implements a wrapping autoloader cached in Xcache for PHP 5.3.
+ * XcacheClassLoader implements a wrapping autoloader cached in XCache for PHP 5.3.
*
* It expects an object implementing a findFile method to find the file. This
* allows using it as a wrapper around the other loaders of the component (the
@@ -43,31 +43,35 @@ namespace Symfony\Component\ClassLoader;
class XcacheClassLoader
{
private $prefix;
- private $classFinder;
+
+ /**
+ * @var object A class loader object that implements the findFile() method
+ */
+ private $decorated;
/**
* Constructor.
*
- * @param string $prefix A prefix to create a namespace in Xcache
- * @param object $classFinder An object that implements findFile() method.
+ * @param string $prefix The XCache namespace prefix to use.
+ * @param object $decorated A class loader object that implements the findFile() method.
*
* @throws \RuntimeException
* @throws \InvalidArgumentException
*
* @api
*/
- public function __construct($prefix, $classFinder)
+ public function __construct($prefix, $decorated)
{
- if (!extension_loaded('Xcache')) {
- throw new \RuntimeException('Unable to use XcacheClassLoader as Xcache is not enabled.');
+ if (!extension_loaded('xcache')) {
+ throw new \RuntimeException('Unable to use XcacheClassLoader as XCache is not enabled.');
}
- if (!method_exists($classFinder, 'findFile')) {
+ if (!method_exists($decorated, 'findFile')) {
throw new \InvalidArgumentException('The class finder must implement a "findFile" method.');
}
$this->prefix = $prefix;
- $this->classFinder = $classFinder;
+ $this->decorated = $decorated;
}
/**
@@ -116,10 +120,18 @@ class XcacheClassLoader
if (xcache_isset($this->prefix.$class)) {
$file = xcache_get($this->prefix.$class);
} else {
- $file = $this->classFinder->findFile($class);
+ $file = $this->decorated->findFile($class);
xcache_set($this->prefix.$class, $file);
}
return $file;
}
+
+ /**
+ * Passes through all unknown calls onto the decorated object.
+ */
+ public function __call($method, $args)
+ {
+ return call_user_func_array(array($this->decorated, $method), $args);
+ }
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php
index 410226bb363..b797667208b 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php
@@ -271,7 +271,7 @@ class TraceableEventDispatcher implements TraceableEventDispatcherInterface
if ($listener instanceof \Closure) {
$info += array(
'type' => 'Closure',
- 'pretty' => 'closure'
+ 'pretty' => 'closure',
);
} elseif (is_string($listener)) {
try {
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/EventDispatcherInterface.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/EventDispatcherInterface.php
index 3fdbfd8822e..c85ebdafc15 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/EventDispatcherInterface.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/EventDispatcherInterface.php
@@ -64,8 +64,8 @@ interface EventDispatcherInterface
/**
* Removes an event listener from the specified events.
*
- * @param string|array $eventName The event(s) to remove a listener from
- * @param callable $listener The listener to remove
+ * @param string $eventName The event to remove a listener from
+ * @param callable $listener The listener to remove
*/
public function removeListener($eventName, $listener);
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/README.md b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/README.md
index 22bf74fdc9d..c928f136692 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/README.md
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/README.md
@@ -4,16 +4,18 @@ EventDispatcher Component
The Symfony2 EventDispatcher component implements the Mediator pattern in a
simple and effective way to make your projects truly extensible.
- use Symfony\Component\EventDispatcher\EventDispatcher;
- use Symfony\Component\EventDispatcher\Event;
+```php
+use Symfony\Component\EventDispatcher\EventDispatcher;
+use Symfony\Component\EventDispatcher\Event;
- $dispatcher = new EventDispatcher();
+$dispatcher = new EventDispatcher();
- $dispatcher->addListener('event_name', function (Event $event) {
- // ...
- });
+$dispatcher->addListener('event_name', function (Event $event) {
+ // ...
+});
- $dispatcher->dispatch('event_name');
+$dispatcher->dispatch('event_name');
+```
Resources
---------
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php
index 8ccfabb1ca4..47dd5da1682 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php
@@ -24,7 +24,7 @@ class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
$dispatcher = new EventDispatcher();
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
- $tdispatcher->addListener('foo', $listener = function () { ; });
+ $tdispatcher->addListener('foo', $listener = function () {; });
$listeners = $dispatcher->getListeners('foo');
$this->assertCount(1, $listeners);
$this->assertSame($listener, $listeners[0]);
@@ -38,7 +38,7 @@ class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
$dispatcher = new EventDispatcher();
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
- $tdispatcher->addListener('foo', $listener = function () { ; });
+ $tdispatcher->addListener('foo', $listener = function () {; });
$this->assertSame($dispatcher->getListeners('foo'), $tdispatcher->getListeners('foo'));
}
@@ -50,7 +50,7 @@ class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
$this->assertFalse($dispatcher->hasListeners('foo'));
$this->assertFalse($tdispatcher->hasListeners('foo'));
- $tdispatcher->addListener('foo', $listener = function () { ; });
+ $tdispatcher->addListener('foo', $listener = function () {; });
$this->assertTrue($dispatcher->hasListeners('foo'));
$this->assertTrue($tdispatcher->hasListeners('foo'));
}
@@ -75,7 +75,7 @@ class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
{
$dispatcher = new EventDispatcher();
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
- $tdispatcher->addListener('foo', $listener = function () { ; });
+ $tdispatcher->addListener('foo', $listener = function () {; });
$this->assertEquals(array(), $tdispatcher->getCalledListeners());
$this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure')), $tdispatcher->getNotCalledListeners());
@@ -92,8 +92,8 @@ class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
$dispatcher = new EventDispatcher();
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
- $tdispatcher->addListener('foo', $listener1 = function () { ; });
- $tdispatcher->addListener('foo', $listener2 = function () { ; });
+ $tdispatcher->addListener('foo', $listener1 = function () {; });
+ $tdispatcher->addListener('foo', $listener2 = function () {; });
$logger->expects($this->at(0))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
$logger->expects($this->at(1))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
@@ -108,7 +108,7 @@ class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
$dispatcher = new EventDispatcher();
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
$tdispatcher->addListener('foo', $listener1 = function (Event $event) { $event->stopPropagation(); });
- $tdispatcher->addListener('foo', $listener2 = function () { ; });
+ $tdispatcher->addListener('foo', $listener2 = function () {; });
$logger->expects($this->at(0))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
$logger->expects($this->at(1))->method('debug')->with("Listener \"closure\" stopped propagation of the event \"foo\".");
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
index 5959db0d422..b291e1ee3c4 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
@@ -37,7 +37,10 @@ class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
->method('getClass')
->will($this->returnValue('stdClass'));
- $builder = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder');
+ $builder = $this->getMock(
+ 'Symfony\Component\DependencyInjection\ContainerBuilder',
+ array('hasDefinition', 'findTaggedServiceIds', 'getDefinition')
+ );
$builder->expects($this->any())
->method('hasDefinition')
->will($this->returnValue(true));
@@ -69,7 +72,10 @@ class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
->method('getClass')
->will($this->returnValue('Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService'));
- $builder = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder');
+ $builder = $this->getMock(
+ 'Symfony\Component\DependencyInjection\ContainerBuilder',
+ array('hasDefinition', 'findTaggedServiceIds', 'getDefinition', 'findDefinition')
+ );
$builder->expects($this->any())
->method('hasDefinition')
->will($this->returnValue(true));
@@ -136,5 +142,7 @@ class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
class SubscriberService implements \Symfony\Component\EventDispatcher\EventSubscriberInterface
{
- public static function getSubscribedEvents() {}
+ public static function getSubscribedEvents()
+ {
+ }
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
index efc0c29fab8..2bd0750b141 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
@@ -362,7 +362,7 @@ class TestEventSubscriberWithMultipleListeners implements EventSubscriberInterfa
{
return array('pre.foo' => array(
array('preFoo1'),
- array('preFoo2', 10)
+ array('preFoo2', 10),
));
}
}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
index 5dfda92f2af..1090bcb2960 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
@@ -18,7 +18,6 @@ use Symfony\Component\EventDispatcher\GenericEvent;
*/
class GenericEventTest extends \PHPUnit_Framework_TestCase
{
-
/**
* @var GenericEvent
*/
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/composer.json b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/composer.json
index 3715ece302f..75fd243d529 100644
--- a/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/composer.json
+++ b/apps/files_external/3rdparty/aws-sdk-php/Symfony/Component/EventDispatcher/composer.json
@@ -19,7 +19,7 @@
"php": ">=5.3.3"
},
"require-dev": {
- "symfony/dependency-injection": "~2.0",
+ "symfony/dependency-injection": "~2.0,<2.6.0",
"symfony/config": "~2.0",
"symfony/stopwatch": "~2.2",
"psr/log": "~1.0"
diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php
index ea14f7adbcf..707563096f8 100644
--- a/apps/files_external/appinfo/app.php
+++ b/apps/files_external/appinfo/app.php
@@ -177,3 +177,5 @@ OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP', array(
'password' => '*'.$l->t('Password'),
'root' => '&'.$l->t('Root'))));
+$mountProvider = new \OCA\Files_External\Config\ConfigAdapter();
+\OC::$server->getMountProviderCollection()->registerProvider($mountProvider);
diff --git a/apps/files_external/img/app.svg b/apps/files_external/img/app.svg
index df1bfd163ff..6cafe174f60 100644
--- a/apps/files_external/img/app.svg
+++ b/apps/files_external/img/app.svg
@@ -1,212 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- height="32px"
- width="32px"
- version="1.1"
- id="svg2"
- inkscape:version="0.48.5 r10040"
- sodipodi:docname="app.svg">
- <metadata
- id="metadata80">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1920"
- inkscape:window-height="1014"
- id="namedview78"
- showgrid="false"
- inkscape:zoom="7.375"
- inkscape:cx="-13.559322"
- inkscape:cy="16"
- inkscape:window-x="0"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="svg2" />
- <defs
- id="defs4">
- <linearGradient
- id="m"
- y2="21.387"
- gradientUnits="userSpaceOnUse"
- x2="27.557"
- gradientTransform="matrix(.89186 0 0 1.0539 3.1208 3.4122)"
- y1="7.1627"
- x1="27.557">
- <stop
- stop-color="#fff"
- offset="0"
- id="stop7" />
- <stop
- stop-color="#fff"
- stop-opacity=".23529"
- offset=".0097359"
- id="stop9" />
- <stop
- stop-color="#fff"
- stop-opacity=".15686"
- offset=".99001"
- id="stop11" />
- <stop
- stop-color="#fff"
- stop-opacity=".39216"
- offset="1"
- id="stop13" />
- </linearGradient>
- <linearGradient
- id="l"
- y2="43.761"
- gradientUnits="userSpaceOnUse"
- x2="35.793"
- gradientTransform="matrix(.64444 0 0 .64286 .53352 -1.1074)"
- y1="17.118"
- x1="35.793">
- <stop
- stop-color="#b4cee1"
- offset="0"
- id="stop16" />
- <stop
- stop-color="#5d9fcd"
- offset="1"
- id="stop18" />
- </linearGradient>
- <linearGradient
- id="k"
- y2="609.51"
- gradientUnits="userSpaceOnUse"
- x2="302.86"
- gradientTransform="matrix(.051143 0 0 .015916 -2.49 22.299)"
- y1="366.65"
- x1="302.86">
- <stop
- stop-opacity="0"
- offset="0"
- id="stop21" />
- <stop
- offset=".5"
- id="stop23" />
- <stop
- stop-opacity="0"
- offset="1"
- id="stop25" />
- </linearGradient>
- <radialGradient
- id="n"
- gradientUnits="userSpaceOnUse"
- cy="486.65"
- cx="605.71"
- gradientTransform="matrix(.019836 0 0 .015916 16.388 22.299)"
- r="117.14">
- <stop
- offset="0"
- id="stop28" />
- <stop
- stop-opacity="0"
- offset="1"
- id="stop30" />
- </radialGradient>
- <radialGradient
- id="o"
- gradientUnits="userSpaceOnUse"
- cy="486.65"
- cx="605.71"
- gradientTransform="matrix(-.019836 0 0 .015916 15.601 22.299)"
- r="117.14">
- <stop
- offset="0"
- id="stop33" />
- <stop
- stop-opacity="0"
- offset="1"
- id="stop35" />
- </radialGradient>
- <linearGradient
- id="j"
- y2="34.143"
- gradientUnits="userSpaceOnUse"
- x2="21.37"
- gradientTransform="matrix(.54384 0 0 .61466 3.2689 3.0908)"
- y1="4.7324"
- x1="21.37">
- <stop
- stop-color="#fff"
- offset="0"
- id="stop38" />
- <stop
- stop-color="#fff"
- stop-opacity=".23529"
- offset=".11063"
- id="stop40" />
- <stop
- stop-color="#fff"
- stop-opacity=".15686"
- offset=".99001"
- id="stop42" />
- <stop
- stop-color="#fff"
- stop-opacity=".39216"
- offset="1"
- id="stop44" />
- </linearGradient>
- <linearGradient
- id="i"
- y2="16"
- gradientUnits="userSpaceOnUse"
- x2="62.989"
- gradientTransform="matrix(.61905 0 0 .61905 -30.392 -.57170)"
- y1="13"
- x1="62.989">
- <stop
- stop-color="#f9f9f9"
- offset="0"
- id="stop47" />
- <stop
- stop-color="#d8d8d8"
- offset="1"
- id="stop49" />
- </linearGradient>
- <linearGradient
- id="d"
- y2="3.6337"
- gradientUnits="userSpaceOnUse"
- y1="53.514"
- gradientTransform="matrix(.50703 0 0 .503 68.029 -.67050)"
- x2="-51.786"
- x1="-51.786">
- <stop
- stop-opacity=".32174"
- offset="0"
- id="stop52" />
- <stop
- stop-opacity=".27826"
- offset="1"
- id="stop54" />
- </linearGradient>
- </defs>
- <path
- d="m 14.902928,3.2372882 4.76117,4.5146377 -7.141758,6.7719561 4.761174,4.514639 7.141756,-6.771956 4.761171,4.514636 V 3.2372882 H 14.902928 z M 5.3805857,5.4946057 C 4.0617412,5.4946057 3,6.501372 3,7.7519259 V 25.810477 c 0,1.250555 1.0617412,2.257319 2.3805857,2.257319 H 24.42527 c 1.318844,0 2.380584,-1.006764 2.380584,-2.257319 v -6.771956 l -2.380584,-2.25732 v 9.029276 H 5.3805857 V 7.7519259 H 14.902928 L 12.52234,5.4946057 H 5.3805857 z"
- id="path76"
- inkscape:connector-curvature="0"
- style="opacity:0.7;fill:#ffffff;fill-opacity:1" />
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <path d="m14.903 3.2373 4.7612 4.5146-7.1418 6.772 4.7612 4.5146 7.1418-6.772 4.7612 4.5146v-13.545h-14.283zm-9.5224 2.2573c-1.3189 0-2.3806 1.0068-2.3806 2.2573v18.058c0 1.2506 1.0617 2.2573 2.3806 2.2573h19.044c1.3188 0 2.3806-1.0068 2.3806-2.2573v-6.772l-2.3806-2.2573v9.0293h-19.044v-18.058h9.522l-2.381-2.2574h-7.1414z" fill="#fff"/>
</svg>
diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js
index 75d45ae1924..ee3d0b736da 100644
--- a/apps/files_external/js/settings.js
+++ b/apps/files_external/js/settings.js
@@ -468,14 +468,14 @@ $(document).ready(function() {
OC.AppConfig.setValue('files_external', 'allow_user_mounting', 'no');
$('#userMountingBackends').addClass('hidden');
}
- OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('settings', 'Saved')}});
+ OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('files_external', 'Saved')}});
});
$('input[name="allowUserMountingBackends\\[\\]"]').bind('change', function() {
OC.msg.startSaving('#userMountingMsg');
var userMountingBackends = $('input[name="allowUserMountingBackends\\[\\]"]:checked').map(function(){return $(this).val();}).get();
OC.AppConfig.setValue('files_external', 'user_mounting_backends', userMountingBackends.join());
- OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('settings', 'Saved')}});
+ OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('files_external', 'Saved')}});
// disable allowUserMounting
if(userMountingBackends.length === 0) {
diff --git a/apps/files_external/l10n/ast.js b/apps/files_external/l10n/ast.js
index d1d9f05b498..b8f3b1b366d 100644
--- a/apps/files_external/l10n/ast.js
+++ b/apps/files_external/l10n/ast.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(grupu)",
"Saved" : "Guardáu",
"<b>Note:</b> " : "<b>Nota:</b> ",
- " and " : "y",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de cURL en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de FTP en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" nun ta instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.",
diff --git a/apps/files_external/l10n/ast.json b/apps/files_external/l10n/ast.json
index eeca7714b31..675949ef750 100644
--- a/apps/files_external/l10n/ast.json
+++ b/apps/files_external/l10n/ast.json
@@ -52,7 +52,6 @@
"(group)" : "(grupu)",
"Saved" : "Guardáu",
"<b>Note:</b> " : "<b>Nota:</b> ",
- " and " : "y",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de cURL en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de FTP en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" nun ta instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.",
diff --git a/apps/files_external/l10n/bg_BG.js b/apps/files_external/l10n/bg_BG.js
index 1944af503f1..6f292358c18 100644
--- a/apps/files_external/l10n/bg_BG.js
+++ b/apps/files_external/l10n/bg_BG.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(група)",
"Saved" : "Запазено",
"<b>Note:</b> " : "<b>Бележка:</b> ",
- " and " : "и",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на cURL не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на FTP не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" не е инсталиран. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.",
diff --git a/apps/files_external/l10n/bg_BG.json b/apps/files_external/l10n/bg_BG.json
index 0564415c3d6..a068e6dce3d 100644
--- a/apps/files_external/l10n/bg_BG.json
+++ b/apps/files_external/l10n/bg_BG.json
@@ -52,7 +52,6 @@
"(group)" : "(група)",
"Saved" : "Запазено",
"<b>Note:</b> " : "<b>Бележка:</b> ",
- " and " : "и",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на cURL не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на FTP не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" не е инсталиран. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.",
diff --git a/apps/files_external/l10n/bn_BD.js b/apps/files_external/l10n/bn_BD.js
index 1afb8c66ee1..9d53353d107 100644
--- a/apps/files_external/l10n/bn_BD.js
+++ b/apps/files_external/l10n/bn_BD.js
@@ -33,7 +33,6 @@ OC.L10N.register(
"(group)" : "(গোষ্ঠি)",
"Saved" : "সংরক্ষণ করা হলো",
"<b>Note:</b> " : "<b>দ্রষ্টব্য:</b> ",
- " and " : "এবং",
"Name" : "রাম",
"External Storage" : "বাহ্যিক সংরক্ষণাগার",
"Folder name" : "ফোলডারের নাম",
diff --git a/apps/files_external/l10n/bn_BD.json b/apps/files_external/l10n/bn_BD.json
index 975bf7cace7..907cc52d1b0 100644
--- a/apps/files_external/l10n/bn_BD.json
+++ b/apps/files_external/l10n/bn_BD.json
@@ -31,7 +31,6 @@
"(group)" : "(গোষ্ঠি)",
"Saved" : "সংরক্ষণ করা হলো",
"<b>Note:</b> " : "<b>দ্রষ্টব্য:</b> ",
- " and " : "এবং",
"Name" : "রাম",
"External Storage" : "বাহ্যিক সংরক্ষণাগার",
"Folder name" : "ফোলডারের নাম",
diff --git a/apps/files_external/l10n/ca.js b/apps/files_external/l10n/ca.js
index 4663654f63c..027abb551a3 100644
--- a/apps/files_external/l10n/ca.js
+++ b/apps/files_external/l10n/ca.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(grup)",
"Saved" : "Desat",
"<b>Note:</b> " : "<b>Nota:</b> ",
- " and " : "i",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El suport cURL no està activat o instal·lat a PHP. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> %s no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.",
diff --git a/apps/files_external/l10n/ca.json b/apps/files_external/l10n/ca.json
index 6bd1dcca39b..4ebb0c708a7 100644
--- a/apps/files_external/l10n/ca.json
+++ b/apps/files_external/l10n/ca.json
@@ -52,7 +52,6 @@
"(group)" : "(grup)",
"Saved" : "Desat",
"<b>Note:</b> " : "<b>Nota:</b> ",
- " and " : "i",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El suport cURL no està activat o instal·lat a PHP. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> %s no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.",
diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js
index 29af393cf07..8726da64020 100644
--- a/apps/files_external/l10n/cs_CZ.js
+++ b/apps/files_external/l10n/cs_CZ.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(skupina)",
"Saved" : "Uloženo",
"<b>Note:</b> " : "<b>Poznámka:</b>",
- " and " : "a",
+ "and" : "a",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> \"%s\" není instalováno. Není možné připojení %s. Prosím požádejte svého správce systému o instalaci.",
diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json
index f8acc7d469d..ce99130aef6 100644
--- a/apps/files_external/l10n/cs_CZ.json
+++ b/apps/files_external/l10n/cs_CZ.json
@@ -52,7 +52,7 @@
"(group)" : "(skupina)",
"Saved" : "Uloženo",
"<b>Note:</b> " : "<b>Poznámka:</b>",
- " and " : "a",
+ "and" : "a",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> \"%s\" není instalováno. Není možné připojení %s. Prosím požádejte svého správce systému o instalaci.",
diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js
index 5420917e2a9..6c1f15753b2 100644
--- a/apps/files_external/l10n/da.js
+++ b/apps/files_external/l10n/da.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(gruppe)",
"Saved" : "Gemt",
"<b>Note:</b> " : "<b>Note:</b> ",
- " and " : "og",
+ "and" : "og",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> \"%s\" er ikke installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.",
diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json
index d5c468a5d8e..732dcbfcb97 100644
--- a/apps/files_external/l10n/da.json
+++ b/apps/files_external/l10n/da.json
@@ -52,7 +52,7 @@
"(group)" : "(gruppe)",
"Saved" : "Gemt",
"<b>Note:</b> " : "<b>Note:</b> ",
- " and " : "og",
+ "and" : "og",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> \"%s\" er ikke installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.",
diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js
index d67bda49b4d..11c64fcfd11 100644
--- a/apps/files_external/l10n/de.js
+++ b/apps/files_external/l10n/de.js
@@ -1,8 +1,8 @@
OC.L10N.register(
"files_external",
{
- "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Anfrage-Token holen fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
- "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Zugriff-Token holen fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
+ "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
+ "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
"Please provide a valid Dropbox app key and secret." : "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein.",
"Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s",
"Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s",
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(group)",
"Saved" : "Gespeichert",
"<b>Note:</b> " : "<b>Hinweis:</b> ",
- " and " : "und",
+ "and" : "und",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an Deinen Systemadministrator.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.",
diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json
index fb4467cc1f2..42ba188d6d8 100644
--- a/apps/files_external/l10n/de.json
+++ b/apps/files_external/l10n/de.json
@@ -1,6 +1,6 @@
{ "translations": {
- "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Anfrage-Token holen fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
- "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Zugriff-Token holen fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
+ "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
+ "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
"Please provide a valid Dropbox app key and secret." : "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein.",
"Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s",
"Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s",
@@ -52,7 +52,7 @@
"(group)" : "(group)",
"Saved" : "Gespeichert",
"<b>Note:</b> " : "<b>Hinweis:</b> ",
- " and " : "und",
+ "and" : "und",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an Deinen Systemadministrator.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.",
diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js
index d12b171f639..dc28472740d 100644
--- a/apps/files_external/l10n/de_DE.js
+++ b/apps/files_external/l10n/de_DE.js
@@ -1,8 +1,8 @@
OC.L10N.register(
"files_external",
{
- "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Anfrage-Token holen fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
- "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Zugriff-Token holen fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
+ "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
+ "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
"Please provide a valid Dropbox app key and secret." : "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.",
"Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s",
"Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s",
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(group)",
"Saved" : "Gespeichert",
"<b>Note:</b> " : "<b>Hinweis:</b> ",
- " and " : "und",
+ "and" : "und",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.",
diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json
index 43c24e0c94a..f252d9e7604 100644
--- a/apps/files_external/l10n/de_DE.json
+++ b/apps/files_external/l10n/de_DE.json
@@ -1,6 +1,6 @@
{ "translations": {
- "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Anfrage-Token holen fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
- "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Zugriff-Token holen fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
+ "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
+ "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.",
"Please provide a valid Dropbox app key and secret." : "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.",
"Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s",
"Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s",
@@ -52,7 +52,7 @@
"(group)" : "(group)",
"Saved" : "Gespeichert",
"<b>Note:</b> " : "<b>Hinweis:</b> ",
- " and " : "und",
+ "and" : "und",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.",
diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js
index 28105a01d6b..0860e1998f7 100644
--- a/apps/files_external/l10n/el.js
+++ b/apps/files_external/l10n/el.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(ομάδα)",
"Saved" : "Αποθηκεύτηκαν",
"<b>Note:</b> " : "<b>Σημείωση:</b> ",
- " and " : "και",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη cURL στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη FTP στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση του %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η επέκταση \"%s\" δεν είναι εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.",
diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json
index 4be10506a02..e0cbb6c29a2 100644
--- a/apps/files_external/l10n/el.json
+++ b/apps/files_external/l10n/el.json
@@ -52,7 +52,6 @@
"(group)" : "(ομάδα)",
"Saved" : "Αποθηκεύτηκαν",
"<b>Note:</b> " : "<b>Σημείωση:</b> ",
- " and " : "και",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη cURL στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη FTP στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση του %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η επέκταση \"%s\" δεν είναι εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.",
diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js
index 9f97d2c488c..f0bffb1b0f5 100644
--- a/apps/files_external/l10n/en_GB.js
+++ b/apps/files_external/l10n/en_GB.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(group)",
"Saved" : "Saved",
"<b>Note:</b> " : "<b>Note:</b> ",
- " and " : " and ",
+ "and" : "and",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json
index d4e7ad11bbe..5e62649ab87 100644
--- a/apps/files_external/l10n/en_GB.json
+++ b/apps/files_external/l10n/en_GB.json
@@ -52,7 +52,7 @@
"(group)" : "(group)",
"Saved" : "Saved",
"<b>Note:</b> " : "<b>Note:</b> ",
- " and " : " and ",
+ "and" : "and",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
diff --git a/apps/files_external/l10n/eo.js b/apps/files_external/l10n/eo.js
index 1d5014cdf23..5e9b6aa2ae1 100644
--- a/apps/files_external/l10n/eo.js
+++ b/apps/files_external/l10n/eo.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Personal" : "Persona",
"Saved" : "Konservita",
"<b>Note:</b> " : "<b>Noto:</b>",
- " and " : "kaj",
"Name" : "Nomo",
"External Storage" : "Malena memorilo",
"Folder name" : "Dosierujnomo",
diff --git a/apps/files_external/l10n/eo.json b/apps/files_external/l10n/eo.json
index cf63614fb88..79e4c5cbbfb 100644
--- a/apps/files_external/l10n/eo.json
+++ b/apps/files_external/l10n/eo.json
@@ -36,7 +36,6 @@
"Personal" : "Persona",
"Saved" : "Konservita",
"<b>Note:</b> " : "<b>Noto:</b>",
- " and " : "kaj",
"Name" : "Nomo",
"External Storage" : "Malena memorilo",
"Folder name" : "Dosierujnomo",
diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js
index 9306558b346..69911f82bc1 100644
--- a/apps/files_external/l10n/es.js
+++ b/apps/files_external/l10n/es.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(grupo)",
"Saved" : "Guardado",
"<b>Note:</b> " : "<b>Nota:</b> ",
- " and " : "y",
+ "and" : "y",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" no está instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.",
diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json
index 1d9067106eb..cadc03a0b74 100644
--- a/apps/files_external/l10n/es.json
+++ b/apps/files_external/l10n/es.json
@@ -52,7 +52,7 @@
"(group)" : "(grupo)",
"Saved" : "Guardado",
"<b>Note:</b> " : "<b>Nota:</b> ",
- " and " : "y",
+ "and" : "y",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" no está instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.",
diff --git a/apps/files_external/l10n/et_EE.js b/apps/files_external/l10n/et_EE.js
index 226190cb5f8..58daa2d3524 100644
--- a/apps/files_external/l10n/et_EE.js
+++ b/apps/files_external/l10n/et_EE.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(grupp)",
"Saved" : "Salvestatud",
"<b>Note:</b> " : "<b>Märkus:</b>",
- " and " : "ja",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> cURL tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata cURL tugi.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> FTP tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata FTP tugi.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> \"%s\" pole paigaldatud. Hoidla %s ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata vajalik tugi.",
diff --git a/apps/files_external/l10n/et_EE.json b/apps/files_external/l10n/et_EE.json
index a32eca9e8c2..4b401317634 100644
--- a/apps/files_external/l10n/et_EE.json
+++ b/apps/files_external/l10n/et_EE.json
@@ -52,7 +52,6 @@
"(group)" : "(grupp)",
"Saved" : "Salvestatud",
"<b>Note:</b> " : "<b>Märkus:</b>",
- " and " : "ja",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> cURL tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata cURL tugi.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> FTP tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata FTP tugi.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> \"%s\" pole paigaldatud. Hoidla %s ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata vajalik tugi.",
diff --git a/apps/files_external/l10n/eu.js b/apps/files_external/l10n/eu.js
index db535359491..b8da6ca803e 100644
--- a/apps/files_external/l10n/eu.js
+++ b/apps/files_external/l10n/eu.js
@@ -53,7 +53,6 @@ OC.L10N.register(
"(group)" : "(taldea)",
"Saved" : "Gordeta",
"<b>Note:</b> " : "<b>Oharra:</b>",
- " and " : "eta",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b> :PHPko cURL euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b> :PHPko FTP euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b>\"%s\" euskarria ez dago instalatuta Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ",
diff --git a/apps/files_external/l10n/eu.json b/apps/files_external/l10n/eu.json
index a5c642bd772..9469c7fc45c 100644
--- a/apps/files_external/l10n/eu.json
+++ b/apps/files_external/l10n/eu.json
@@ -51,7 +51,6 @@
"(group)" : "(taldea)",
"Saved" : "Gordeta",
"<b>Note:</b> " : "<b>Oharra:</b>",
- " and " : "eta",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b> :PHPko cURL euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b> :PHPko FTP euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b>\"%s\" euskarria ez dago instalatuta Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ",
diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js
index f7895f842c3..37057c19ce1 100644
--- a/apps/files_external/l10n/fi_FI.js
+++ b/apps/files_external/l10n/fi_FI.js
@@ -19,8 +19,10 @@ OC.L10N.register(
"Secure ftps://" : "Salattu ftps://",
"Timeout of HTTP requests in seconds" : "HTTP-pyyntöjen aikakatkaisu sekunneissa",
"Share" : "Jaa",
+ "Username as share" : "Käyttäjänimi jakona",
"URL" : "Verkko-osoite",
"Secure https://" : "Salattu https://",
+ "Remote subfolder" : "Etäalikansio",
"Access granted" : "Pääsy sallittu",
"Error configuring Dropbox storage" : "Virhe Dropbox levyn asetuksia tehtäessä",
"Grant access" : "Salli pääsy",
@@ -31,7 +33,7 @@ OC.L10N.register(
"(group)" : "(ryhmä)",
"Saved" : "Tallennettu",
"<b>Note:</b> " : "<b>Huomio:</b> ",
- " and " : "ja",
+ "and" : "ja",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> \"%s\" ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan puuttuva kohde.",
diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json
index dad235128fb..bf127e1b9b2 100644
--- a/apps/files_external/l10n/fi_FI.json
+++ b/apps/files_external/l10n/fi_FI.json
@@ -17,8 +17,10 @@
"Secure ftps://" : "Salattu ftps://",
"Timeout of HTTP requests in seconds" : "HTTP-pyyntöjen aikakatkaisu sekunneissa",
"Share" : "Jaa",
+ "Username as share" : "Käyttäjänimi jakona",
"URL" : "Verkko-osoite",
"Secure https://" : "Salattu https://",
+ "Remote subfolder" : "Etäalikansio",
"Access granted" : "Pääsy sallittu",
"Error configuring Dropbox storage" : "Virhe Dropbox levyn asetuksia tehtäessä",
"Grant access" : "Salli pääsy",
@@ -29,7 +31,7 @@
"(group)" : "(ryhmä)",
"Saved" : "Tallennettu",
"<b>Note:</b> " : "<b>Huomio:</b> ",
- " and " : "ja",
+ "and" : "ja",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> \"%s\" ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan puuttuva kohde.",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index 5885af24199..08bee38a2d8 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(groupe)",
"Saved" : "Sauvegarder",
"<b>Note:</b> " : "<b>Attention :</b>",
- " and " : "et",
+ "and" : "et",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention :</b> La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention : </b> La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention : </b> \"%s\" n'est pas installé. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index e1e2b2eccc4..a58251b5ee2 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -52,7 +52,7 @@
"(group)" : "(groupe)",
"Saved" : "Sauvegarder",
"<b>Note:</b> " : "<b>Attention :</b>",
- " and " : "et",
+ "and" : "et",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention :</b> La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention : </b> La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention : </b> \"%s\" n'est pas installé. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.",
diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js
index 1ce8dfcc783..704be53702a 100644
--- a/apps/files_external/l10n/gl.js
+++ b/apps/files_external/l10n/gl.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(grupo)",
"Saved" : "Gardado",
"<b>Note:</b> " : "<b>Nota:</b> ",
- " and " : "e",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> A compatibilidade de cURL en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> «%s» non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.",
diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json
index 10a8e4d467b..5039cde2c4b 100644
--- a/apps/files_external/l10n/gl.json
+++ b/apps/files_external/l10n/gl.json
@@ -52,7 +52,6 @@
"(group)" : "(grupo)",
"Saved" : "Gardado",
"<b>Note:</b> " : "<b>Nota:</b> ",
- " and " : "e",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> A compatibilidade de cURL en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> «%s» non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.",
diff --git a/apps/files_external/l10n/hr.js b/apps/files_external/l10n/hr.js
index c166841d9c6..8c595cae15e 100644
--- a/apps/files_external/l10n/hr.js
+++ b/apps/files_external/l10n/hr.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(grupa)",
"Saved" : "Spremljeno",
"<b>Note:</b> " : "<b>Bilješka:</b>",
- " and " : " i ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" nije instaliran. Postavljanje %s nije moguće. Molimo zamolitesvog administratora sustava da ga instalira.",
diff --git a/apps/files_external/l10n/hr.json b/apps/files_external/l10n/hr.json
index 069af3fa6c8..f2159e72bf4 100644
--- a/apps/files_external/l10n/hr.json
+++ b/apps/files_external/l10n/hr.json
@@ -52,7 +52,6 @@
"(group)" : "(grupa)",
"Saved" : "Spremljeno",
"<b>Note:</b> " : "<b>Bilješka:</b>",
- " and " : " i ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" nije instaliran. Postavljanje %s nije moguće. Molimo zamolitesvog administratora sustava da ga instalira.",
diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js
index 8b0f4f28fbc..4a7991641c1 100644
--- a/apps/files_external/l10n/id.js
+++ b/apps/files_external/l10n/id.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(grup)",
"Saved" : "Disimpan",
"<b>Note:</b> " : "<b>Catatan:</b> ",
- " and " : "dan",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> \"%s\" belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json
index 8f8179d7627..67389e54d15 100644
--- a/apps/files_external/l10n/id.json
+++ b/apps/files_external/l10n/id.json
@@ -52,7 +52,6 @@
"(group)" : "(grup)",
"Saved" : "Disimpan",
"<b>Note:</b> " : "<b>Catatan:</b> ",
- " and " : "dan",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> \"%s\" belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js
index 5834ff25f0b..a7bf4c37fcd 100644
--- a/apps/files_external/l10n/it.js
+++ b/apps/files_external/l10n/it.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(gruppo)",
"Saved" : "Salvato",
"<b>Note:</b> " : "<b>Nota:</b>",
- " and " : "e",
+ "and" : "e",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" non è installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.",
diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json
index b780cae57a6..bd7a62bb9bb 100644
--- a/apps/files_external/l10n/it.json
+++ b/apps/files_external/l10n/it.json
@@ -52,7 +52,7 @@
"(group)" : "(gruppo)",
"Saved" : "Salvato",
"<b>Note:</b> " : "<b>Nota:</b>",
- " and " : "e",
+ "and" : "e",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" non è installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.",
diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js
index d4ef6347664..c1dbf99b46b 100644
--- a/apps/files_external/l10n/ja.js
+++ b/apps/files_external/l10n/ja.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(グループ)",
"Saved" : "保存されました",
"<b>Note:</b> " : "<b>注意:</b> ",
- " and " : "と",
+ "and" : "と",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにFTPのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> \"%s\" がインストールされていません。%sをマウントできません。このシステムの管理者にインストールをお願いしてください。",
diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json
index d630e19904d..c122832f863 100644
--- a/apps/files_external/l10n/ja.json
+++ b/apps/files_external/l10n/ja.json
@@ -52,7 +52,7 @@
"(group)" : "(グループ)",
"Saved" : "保存されました",
"<b>Note:</b> " : "<b>注意:</b> ",
- " and " : "と",
+ "and" : "と",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにFTPのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> \"%s\" がインストールされていません。%sをマウントできません。このシステムの管理者にインストールをお願いしてください。",
diff --git a/apps/files_external/l10n/nb_NO.js b/apps/files_external/l10n/nb_NO.js
index ebf113068a2..c04dccf75fa 100644
--- a/apps/files_external/l10n/nb_NO.js
+++ b/apps/files_external/l10n/nb_NO.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(gruppe)",
"Saved" : "Lagret",
"<b>Note:</b> " : "<b>Merk:</b> ",
- " and " : " og ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> Støtte for cURL i PHP er ikke aktivert eller installert. Oppkobling av %s er ikke mulig. Be systemadministratoren om å installere det.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å installere det.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> \"%s\" er ikke installert. Oppkobling av %s er ikke mulig. Spør systemadministratoren om å installere det.",
diff --git a/apps/files_external/l10n/nb_NO.json b/apps/files_external/l10n/nb_NO.json
index b9b736fb13a..f6aaf962872 100644
--- a/apps/files_external/l10n/nb_NO.json
+++ b/apps/files_external/l10n/nb_NO.json
@@ -52,7 +52,6 @@
"(group)" : "(gruppe)",
"Saved" : "Lagret",
"<b>Note:</b> " : "<b>Merk:</b> ",
- " and " : " og ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> Støtte for cURL i PHP er ikke aktivert eller installert. Oppkobling av %s er ikke mulig. Be systemadministratoren om å installere det.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å installere det.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> \"%s\" er ikke installert. Oppkobling av %s er ikke mulig. Spør systemadministratoren om å installere det.",
diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js
index 0dcbe8556a3..3afe1ce6b14 100644
--- a/apps/files_external/l10n/nl.js
+++ b/apps/files_external/l10n/nl.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(groep)",
"Saved" : "Bewaard",
"<b>Note:</b> " : "<b>Let op:</b> ",
- " and " : "en",
+ "and" : "en",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> \"%s\" is niet geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder om dit te installeren.",
diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json
index 135aea89664..9cf4cc6b6f7 100644
--- a/apps/files_external/l10n/nl.json
+++ b/apps/files_external/l10n/nl.json
@@ -52,7 +52,7 @@
"(group)" : "(groep)",
"Saved" : "Bewaard",
"<b>Note:</b> " : "<b>Let op:</b> ",
- " and " : "en",
+ "and" : "en",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> \"%s\" is niet geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder om dit te installeren.",
diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js
index a20f61c4677..6112182db3d 100644
--- a/apps/files_external/l10n/pl.js
+++ b/apps/files_external/l10n/pl.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(grupa)",
"Saved" : "Zapisano",
"<b>Note:</b> " : "<b>Uwaga:</b> ",
- " and " : "oraz",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> Wsparcie dla cURL w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> Wsparcie dla FTP w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> \"%s\" nie jest zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.",
diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json
index c838595674d..d412d38c8df 100644
--- a/apps/files_external/l10n/pl.json
+++ b/apps/files_external/l10n/pl.json
@@ -52,7 +52,6 @@
"(group)" : "(grupa)",
"Saved" : "Zapisano",
"<b>Note:</b> " : "<b>Uwaga:</b> ",
- " and " : "oraz",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> Wsparcie dla cURL w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> Wsparcie dla FTP w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> \"%s\" nie jest zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.",
diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js
index e9ec582e182..8bbcf728ad9 100644
--- a/apps/files_external/l10n/pt_BR.js
+++ b/apps/files_external/l10n/pt_BR.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(grupo)",
"Saved" : "Salvo",
"<b>Note:</b> " : "<b>Nota:</b>",
- " and " : "e",
+ "and" : "e",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" não está instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.",
diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json
index 9f0907b9d20..7cf03ec98d7 100644
--- a/apps/files_external/l10n/pt_BR.json
+++ b/apps/files_external/l10n/pt_BR.json
@@ -52,7 +52,7 @@
"(group)" : "(grupo)",
"Saved" : "Salvo",
"<b>Note:</b> " : "<b>Nota:</b>",
- " and " : "e",
+ "and" : "e",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" não está instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.",
diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js
index 2d3f342e9e9..d2af54cfda9 100644
--- a/apps/files_external/l10n/pt_PT.js
+++ b/apps/files_external/l10n/pt_PT.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(grupo)",
"Saved" : "Guardado",
"<b>Note:</b> " : "<b>Aviso:</b> ",
- " and " : "e",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O cliente\"%s\" não está instalado. Não é possível montar \"%s\" . Peça ao seu administrador para instalar.",
diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json
index cee9e1b7f1a..cb7411b9d33 100644
--- a/apps/files_external/l10n/pt_PT.json
+++ b/apps/files_external/l10n/pt_PT.json
@@ -52,7 +52,6 @@
"(group)" : "(grupo)",
"Saved" : "Guardado",
"<b>Note:</b> " : "<b>Aviso:</b> ",
- " and " : "e",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O cliente\"%s\" não está instalado. Não é possível montar \"%s\" . Peça ao seu administrador para instalar.",
diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js
index 35eec150d01..62947003445 100644
--- a/apps/files_external/l10n/ru.js
+++ b/apps/files_external/l10n/ru.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(группа)",
"Saved" : "Сохранено",
"<b>Note:</b> " : "<b>Примечание:</b> ",
- " and " : "и",
+ "and" : "и",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка cURL в PHP не включена или не установлена. Монтирование %s невозможно. Обратитесь к вашему системному администратору.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка FTP в PHP не включена или не установлена. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> \"%s\" не установлен. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.",
diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json
index 85b9bf38e4c..09fc6830d2a 100644
--- a/apps/files_external/l10n/ru.json
+++ b/apps/files_external/l10n/ru.json
@@ -52,7 +52,7 @@
"(group)" : "(группа)",
"Saved" : "Сохранено",
"<b>Note:</b> " : "<b>Примечание:</b> ",
- " and " : "и",
+ "and" : "и",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка cURL в PHP не включена или не установлена. Монтирование %s невозможно. Обратитесь к вашему системному администратору.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка FTP в PHP не включена или не установлена. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> \"%s\" не установлен. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.",
diff --git a/apps/files_external/l10n/sk_SK.js b/apps/files_external/l10n/sk_SK.js
index 636953c42ea..2a83a6d2330 100644
--- a/apps/files_external/l10n/sk_SK.js
+++ b/apps/files_external/l10n/sk_SK.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(skupina)",
"Saved" : "Uložené",
"<b>Note:</b> " : "<b>Poznámka:</b> ",
- " and " : "a",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> \"%s\" nie je nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.",
diff --git a/apps/files_external/l10n/sk_SK.json b/apps/files_external/l10n/sk_SK.json
index 5d2ca0a95a0..ee47ebc7808 100644
--- a/apps/files_external/l10n/sk_SK.json
+++ b/apps/files_external/l10n/sk_SK.json
@@ -52,7 +52,6 @@
"(group)" : "(skupina)",
"Saved" : "Uložené",
"<b>Note:</b> " : "<b>Poznámka:</b> ",
- " and " : "a",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> \"%s\" nie je nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.",
diff --git a/apps/files_external/l10n/sl.js b/apps/files_external/l10n/sl.js
index 690fd9ae322..c0b76c43015 100644
--- a/apps/files_external/l10n/sl.js
+++ b/apps/files_external/l10n/sl.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(skupina)",
"Saved" : "Shranjeno",
"<b>Note:</b> " : "<b>Opomba:</b> ",
- " and " : "in",
+ "and" : "in",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Podpora za naslove cURL v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Podpora za protokol FTP v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Program \"%s\" ni nameščen. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.",
diff --git a/apps/files_external/l10n/sl.json b/apps/files_external/l10n/sl.json
index c92e9a310d8..a30b31a67f7 100644
--- a/apps/files_external/l10n/sl.json
+++ b/apps/files_external/l10n/sl.json
@@ -52,7 +52,7 @@
"(group)" : "(skupina)",
"Saved" : "Shranjeno",
"<b>Note:</b> " : "<b>Opomba:</b> ",
- " and " : "in",
+ "and" : "in",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Podpora za naslove cURL v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Podpora za protokol FTP v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Program \"%s\" ni nameščen. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.",
diff --git a/apps/files_external/l10n/sv.js b/apps/files_external/l10n/sv.js
index cb12208c49a..3127293488a 100644
--- a/apps/files_external/l10n/sv.js
+++ b/apps/files_external/l10n/sv.js
@@ -48,7 +48,6 @@ OC.L10N.register(
"System" : "System",
"Saved" : "Sparad",
"<b>Note:</b> " : "<b> OBS: </ b>",
- " and " : "och",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> cURL stöd i PHP inte är aktiverat eller installeras. Montering av %s är inte möjlig. Be din systemadministratör att installera det.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> Den FTP-stöd i PHP inte är aktiverat eller installeras. Montering av %s är inte möjlig. Be din systemadministratör att installera det.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> \"%s\" är inte installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.",
diff --git a/apps/files_external/l10n/sv.json b/apps/files_external/l10n/sv.json
index 12b9f36fd5d..a549ae33680 100644
--- a/apps/files_external/l10n/sv.json
+++ b/apps/files_external/l10n/sv.json
@@ -46,7 +46,6 @@
"System" : "System",
"Saved" : "Sparad",
"<b>Note:</b> " : "<b> OBS: </ b>",
- " and " : "och",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> cURL stöd i PHP inte är aktiverat eller installeras. Montering av %s är inte möjlig. Be din systemadministratör att installera det.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> Den FTP-stöd i PHP inte är aktiverat eller installeras. Montering av %s är inte möjlig. Be din systemadministratör att installera det.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> \"%s\" är inte installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.",
diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js
index cbe240b5818..74061e4e99b 100644
--- a/apps/files_external/l10n/tr.js
+++ b/apps/files_external/l10n/tr.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"(group)" : "(grup)",
"Saved" : "Kaydedildi",
"<b>Note:</b> " : "<b>Not:</b> ",
- " and " : "ve",
+ "and" : "ve",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> \"%s\" kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json
index 669608cca27..4c5c5d1a16c 100644
--- a/apps/files_external/l10n/tr.json
+++ b/apps/files_external/l10n/tr.json
@@ -52,7 +52,7 @@
"(group)" : "(grup)",
"Saved" : "Kaydedildi",
"<b>Note:</b> " : "<b>Not:</b> ",
- " and " : "ve",
+ "and" : "ve",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> \"%s\" kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
diff --git a/apps/files_external/l10n/uk.js b/apps/files_external/l10n/uk.js
index 7cf8533fd24..9d6548ab320 100644
--- a/apps/files_external/l10n/uk.js
+++ b/apps/files_external/l10n/uk.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"(group)" : "(група)",
"Saved" : "Збереженно",
"<b>Note:</b> " : "<b>Примітка:</b>",
- " and " : "та",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку cURL в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку FTP в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> \"%s\" не встановлено. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.",
diff --git a/apps/files_external/l10n/uk.json b/apps/files_external/l10n/uk.json
index 8ebccaf5c1c..d47a45bbaf4 100644
--- a/apps/files_external/l10n/uk.json
+++ b/apps/files_external/l10n/uk.json
@@ -52,7 +52,6 @@
"(group)" : "(група)",
"Saved" : "Збереженно",
"<b>Note:</b> " : "<b>Примітка:</b>",
- " and " : "та",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку cURL в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку FTP в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> \"%s\" не встановлено. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.",
diff --git a/apps/files_external/l10n/zh_CN.js b/apps/files_external/l10n/zh_CN.js
index 8c71da68db7..2b6f673e759 100644
--- a/apps/files_external/l10n/zh_CN.js
+++ b/apps/files_external/l10n/zh_CN.js
@@ -34,7 +34,6 @@ OC.L10N.register(
"System" : "系统",
"Saved" : "已保存",
"<b>Note:</b> " : "<b>注意:</b>",
- " and " : "和",
"You don't have any external storages" : "您没有外部存储",
"Name" : "名称",
"Storage type" : "存储类型",
diff --git a/apps/files_external/l10n/zh_CN.json b/apps/files_external/l10n/zh_CN.json
index ba2ca93be86..a910b475d78 100644
--- a/apps/files_external/l10n/zh_CN.json
+++ b/apps/files_external/l10n/zh_CN.json
@@ -32,7 +32,6 @@
"System" : "系统",
"Saved" : "已保存",
"<b>Note:</b> " : "<b>注意:</b>",
- " and " : "和",
"You don't have any external storages" : "您没有外部存储",
"Name" : "名称",
"Storage type" : "存储类型",
diff --git a/apps/files_external/l10n/zh_TW.js b/apps/files_external/l10n/zh_TW.js
index a1f2d8a226d..f77bf964932 100644
--- a/apps/files_external/l10n/zh_TW.js
+++ b/apps/files_external/l10n/zh_TW.js
@@ -25,7 +25,6 @@ OC.L10N.register(
"System" : "系統",
"Saved" : "已儲存",
"<b>Note:</b> " : "<b>警告:</b> ",
- " and " : "與",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告:</b> PHP 並未啓用 Curl 的支援,因此無法掛載 %s 。請洽您的系統管理員將其安裝並啓用。",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>:PHP 並未啓用 FTP 的支援,因此無法掛載 %s,請洽您的系統管理員將其安裝並啓用。",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>並未安裝 \"%s\",因此無法掛載 %s。請洽您的系統管理員將其安裝並啓用。",
diff --git a/apps/files_external/l10n/zh_TW.json b/apps/files_external/l10n/zh_TW.json
index 03a20a3215e..25eb370a33a 100644
--- a/apps/files_external/l10n/zh_TW.json
+++ b/apps/files_external/l10n/zh_TW.json
@@ -23,7 +23,6 @@
"System" : "系統",
"Saved" : "已儲存",
"<b>Note:</b> " : "<b>警告:</b> ",
- " and " : "與",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告:</b> PHP 並未啓用 Curl 的支援,因此無法掛載 %s 。請洽您的系統管理員將其安裝並啓用。",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>:PHP 並未啓用 FTP 的支援,因此無法掛載 %s,請洽您的系統管理員將其安裝並啓用。",
"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>並未安裝 \"%s\",因此無法掛載 %s。請洽您的系統管理員將其安裝並啓用。",
diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php
index 9400bbdedc0..5742b8f47e2 100644
--- a/apps/files_external/lib/config.php
+++ b/apps/files_external/lib/config.php
@@ -103,22 +103,6 @@ class OC_Mount_Config {
* @param array $data
*/
public static function initMountPointsHook($data) {
- $mountPoints = self::getAbsoluteMountPoints($data['user']);
- $loader = \OC\Files\Filesystem::getLoader();
- $manager = \OC\Files\Filesystem::getMountManager();
- foreach ($mountPoints as $mountPoint => $options) {
- if (isset($options['options']['objectstore'])) {
- $objectClass = $options['options']['objectstore']['class'];
- $options['options']['objectstore'] = new $objectClass($options['options']['objectstore']);
- }
- if (isset($options['personal']) && $options['personal']) {
- $mount = new \OCA\Files_External\PersonalMount($options['class'], $mountPoint, $options['options'], $loader);
- } else{
- $mount = new \OC\Files\Mount\Mount($options['class'], $mountPoint, $options['options'], $loader);
- }
- $manager->addMount($mount);
- }
-
if ($data['user']) {
$user = \OC::$server->getUserManager()->get($data['user']);
if (!$user) {
@@ -660,12 +644,7 @@ class OC_Mount_Config {
$datadir = \OC_Config::getValue('datadirectory', \OC::$SERVERROOT . '/data/');
$file = \OC_Config::getValue('mount_file', $datadir . '/mount.json');
}
- $options = 0;
- if (defined('JSON_PRETTY_PRINT')) {
- // only for PHP >= 5.4
- $options = JSON_PRETTY_PRINT;
- }
- $content = json_encode($data, $options);
+ $content = json_encode($data, JSON_PRETTY_PRINT);
@file_put_contents($file, $content);
@chmod($file, 0640);
}
@@ -729,7 +708,7 @@ class OC_Mount_Config {
$backends = '';
for ($i = 0; $i < $dependencyGroupCount; $i++) {
if ($i > 0 && $i === $dependencyGroupCount - 1) {
- $backends .= $l->t(' and ');
+ $backends .= ' '.$l->t('and').' ';
} elseif ($i > 0) {
$backends .= ', ';
}
diff --git a/apps/files_external/lib/config/configadapter.php b/apps/files_external/lib/config/configadapter.php
new file mode 100644
index 00000000000..6294e27a774
--- /dev/null
+++ b/apps/files_external/lib/config/configadapter.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OCA\Files_External\Config;
+
+use OC\Files\Mount\MountPoint;
+use OCP\Files\Storage\IStorageFactory;
+use OCA\Files_External\PersonalMount;
+use OCP\Files\Config\IMountProvider;
+use OCP\IUser;
+
+/**
+ * Make the old files_external config work with the new public mount config api
+ */
+class ConfigAdapter implements IMountProvider {
+ /**
+ * Get all mountpoints applicable for the user
+ *
+ * @param \OCP\IUser $user
+ * @param \OCP\Files\Storage\IStorageFactory $loader
+ * @return \OCP\Files\Mount\IMountPoint[]
+ */
+ public function getMountsForUser(IUser $user, IStorageFactory $loader) {
+ $mountPoints = \OC_Mount_Config::getAbsoluteMountPoints($user->getUID());
+ $mounts = array();
+ foreach ($mountPoints as $mountPoint => $options) {
+ if (isset($options['options']['objectstore'])) {
+ $objectClass = $options['options']['objectstore']['class'];
+ $options['options']['objectstore'] = new $objectClass($options['options']['objectstore']);
+ }
+ if (isset($options['personal']) && $options['personal']) {
+ $mounts[] = new PersonalMount($options['class'], $mountPoint, $options['options'], $loader);
+ } else {
+ $mounts[] = new MountPoint($options['class'], $mountPoint, $options['options'], $loader);
+ }
+ }
+ return $mounts;
+ }
+}
diff --git a/apps/files_external/lib/google.php b/apps/files_external/lib/google.php
index c414e34fad4..bd9bdce2a67 100644
--- a/apps/files_external/lib/google.php
+++ b/apps/files_external/lib/google.php
@@ -370,10 +370,22 @@ class Google extends \OC\Files\Storage\Common {
return false;
}
}
+ // We need to get the object for the existing file with the same
+ // name (if there is one) before we do the patch. If oldfile
+ // exists and is a directory we have to delete it before we
+ // do the rename too.
+ $oldfile = $this->getDriveFile($path2);
+ if ($oldfile && $this->is_dir($path2)) {
+ $this->rmdir($path2);
+ $oldfile = false;
+ }
$result = $this->service->files->patch($file->getId(), $file);
if ($result) {
$this->setDriveFile($path1, false);
$this->setDriveFile($path2, $result);
+ if ($oldfile) {
+ $this->service->files->delete($oldfile->getId());
+ }
}
return (bool)$result;
} else {
diff --git a/apps/files_external/lib/personalmount.php b/apps/files_external/lib/personalmount.php
index 708128d644a..0c741179139 100644
--- a/apps/files_external/lib/personalmount.php
+++ b/apps/files_external/lib/personalmount.php
@@ -8,13 +8,13 @@
namespace OCA\Files_External;
-use OC\Files\Mount\Mount;
+use OC\Files\Mount\MountPoint;
use OC\Files\Mount\MoveableMount;
/**
* Person mount points can be moved by the user
*/
-class PersonalMount extends Mount implements MoveableMount {
+class PersonalMount extends MountPoint implements MoveableMount {
/**
* Move the mount point to $target
*
diff --git a/apps/files_external/lib/smb_oc.php b/apps/files_external/lib/smb_oc.php
index e6f3aaf4052..a7c93d97fd1 100644
--- a/apps/files_external/lib/smb_oc.php
+++ b/apps/files_external/lib/smb_oc.php
@@ -13,12 +13,16 @@ require_once __DIR__ . '/../3rdparty/smb4php/smb.php';
class SMB_OC extends \OC\Files\Storage\SMB {
private $username_as_share;
+ /**
+ * @param array $params
+ * @throws \Exception
+ */
public function __construct($params) {
if (isset($params['host']) && \OC::$server->getSession()->exists('smb-credentials')) {
$host=$params['host'];
$this->username_as_share = ($params['username_as_share'] === 'true');
- $params_auth = \OC::$server->getSession()->get('smb-credentials');
+ $params_auth = json_decode(\OC::$server->getCrypto()->decrypt(\OC::$server->getSession()->get('smb-credentials')), true);
$user = \OC::$server->getSession()->get('loginname');
$password = $params_auth['password'];
@@ -44,14 +48,35 @@ class SMB_OC extends \OC\Files\Storage\SMB {
}
}
- public static function login( $params ) {
- \OC::$server->getSession()->set('smb-credentials', $params);
+
+ /**
+ * Intercepts the user credentials on login and stores them
+ * encrypted inside the session if SMB_OC storage is enabled.
+ * @param array $params
+ */
+ public static function login($params) {
+ $mountpoints = \OC_Mount_Config::getAbsoluteMountPoints($params['uid']);
+ $mountpointClasses = array();
+ foreach($mountpoints as $mountpoint) {
+ $mountpointClasses[$mountpoint['class']] = true;
+ }
+ if(isset($mountpointClasses['\OC\Files\Storage\SMB_OC'])) {
+ \OC::$server->getSession()->set('smb-credentials', \OC::$server->getCrypto()->encrypt(json_encode($params)));
+ }
}
+ /**
+ * @param string $path
+ * @return boolean
+ */
public function isSharable($path) {
return false;
}
+ /**
+ * @param bool $isPersonal
+ * @return bool
+ */
public function test($isPersonal = true) {
if ($isPersonal) {
if ($this->stat('')) {
diff --git a/apps/files_external/tests/js/mountsfilelistSpec.js b/apps/files_external/tests/js/mountsfilelistSpec.js
index b599df77aac..50603081b6a 100644
--- a/apps/files_external/tests/js/mountsfilelistSpec.js
+++ b/apps/files_external/tests/js/mountsfilelistSpec.js
@@ -9,8 +9,7 @@
*/
describe('OCA.External.FileList tests', function() {
- var testFiles, alertStub, notificationStub, fileList, fileActions;
- var oldFileListPrototype;
+ var testFiles, alertStub, notificationStub, fileList;
beforeEach(function() {
alertStub = sinon.stub(OC.dialogs, 'alert');
@@ -49,14 +48,11 @@ describe('OCA.External.FileList tests', function() {
'<div id="emptycontent">Empty content message</div>' +
'</div>'
);
- fileActions = new OCA.Files.FileActions();
});
afterEach(function() {
- OCA.Files.FileList.prototype = oldFileListPrototype;
testFiles = undefined;
fileList.destroy();
fileList = undefined;
- fileActions = undefined;
notificationStub.restore();
alertStub.restore();
diff --git a/apps/files_sharing/lib/api.php b/apps/files_sharing/api/local.php
index 8556036f118..d9291c29f61 100644
--- a/apps/files_sharing/lib/api.php
+++ b/apps/files_sharing/api/local.php
@@ -1,6 +1,6 @@
<?php
/**
- * ownCloud
+ * ownCloud - OCS API for local shares
*
* @author Bjoern Schiessle
* @copyright 2013 Bjoern Schiessle schiessle@owncloud.com
@@ -20,9 +20,9 @@
*
*/
-namespace OCA\Files\Share;
+namespace OCA\Files_Sharing\API;
-class Api {
+class Local {
/**
* get all shares
diff --git a/apps/files_sharing/api/server2server.php b/apps/files_sharing/api/server2server.php
new file mode 100644
index 00000000000..2949e2dd09c
--- /dev/null
+++ b/apps/files_sharing/api/server2server.php
@@ -0,0 +1,224 @@
+<?php
+/**
+ * ownCloud - OCS API for server-to-server shares
+ *
+ * @copyright (C) 2014 ownCloud, Inc.
+ *
+ * @author Bjoern Schiessle <schiessle@owncloud.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library 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 library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files_Sharing\API;
+
+class Server2Server {
+
+ /**
+ * create a new share
+ *
+ * @param array $params
+ * @return \OC_OCS_Result
+ */
+ public function createShare($params) {
+
+ if (!$this->isS2SEnabled(true)) {
+ return \OC_OCS_Result(null, 503, 'Server does not support server-to-server sharing');
+ }
+
+ $remote = isset($_POST['remote']) ? $_POST['remote'] : null;
+ $token = isset($_POST['token']) ? $_POST['token'] : null;
+ $name = isset($_POST['name']) ? $_POST['name'] : null;
+ $owner = isset($_POST['owner']) ? $_POST['owner'] : null;
+ $shareWith = isset($_POST['shareWith']) ? $_POST['shareWith'] : null;
+ $remoteId = isset($_POST['remote_id']) ? (int)$_POST['remote_id'] : null;
+
+ if ($remote && $token && $name && $owner && $remoteId && $shareWith) {
+
+ if(!\OCP\Util::isValidFileName($name)) {
+ return new \OC_OCS_Result(null, 400, 'The mountpoint name contains invalid characters.');
+ }
+
+ if (!\OCP\User::userExists($shareWith)) {
+ return new \OC_OCS_Result(null, 400, 'User does not exists');
+ }
+
+ \OC_Util::setupFS($shareWith);
+
+ $mountPoint = \OC\Files\Filesystem::normalizePath('/' . $name);
+ $name = \OCP\Files::buildNotExistingFileName('/', $name);
+
+ try {
+ \OCA\Files_Sharing\Helper::addServer2ServerShare($remote, $token, $name, $mountPoint, $owner, $shareWith, '', $remoteId);
+
+ \OC::$server->getActivityManager()->publishActivity(
+ 'files_sharing', \OCA\Files_Sharing\Activity::SUBJECT_REMOTE_SHARE_RECEIVED, array($owner), '', array(),
+ '', '', $shareWith, \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::PRIORITY_LOW);
+
+ return new \OC_OCS_Result();
+ } catch (\Exception $e) {
+ return new \OC_OCS_Result(null, 500, 'server can not add remote share, ' . $e->getMessage());
+ }
+ }
+
+ return new \OC_OCS_Result(null, 400, 'server can not add remote share, missing parameter');
+ }
+
+ /**
+ * accept server-to-server share
+ *
+ * @param array $params
+ * @return \OC_OCS_Result
+ */
+ public function acceptShare($params) {
+
+ if (!$this->isS2SEnabled()) {
+ return \OC_OCS_Result(null, 503, 'Server does not support server-to-server sharing');
+ }
+
+ $id = $params['id'];
+ $token = isset($_POST['token']) ? $_POST['token'] : null;
+ $share = self::getShare($id, $token);
+
+ if ($share) {
+ list($file, $link) = self::getFile($share['uid_owner'], $share['file_source']);
+
+ \OC::$server->getActivityManager()->publishActivity(
+ 'files_sharing', \OCA\Files_Sharing\Activity::SUBJECT_REMOTE_SHARE_ACCEPTED, array($share['share_with'], basename($file)), '', array(),
+ $file, $link, $share['uid_owner'], \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::PRIORITY_LOW);
+ }
+
+ return new \OC_OCS_Result();
+ }
+
+ /**
+ * decline server-to-server share
+ *
+ * @param array $params
+ * @return \OC_OCS_Result
+ */
+ public function declineShare($params) {
+
+ if (!$this->isS2SEnabled()) {
+ return \OC_OCS_Result(null, 503, 'Server does not support server-to-server sharing');
+ }
+
+ $id = $params['id'];
+ $token = isset($_POST['token']) ? $_POST['token'] : null;
+
+ $share = $this->getShare($id, $token);
+
+ if ($share) {
+ // userId must be set to the user who unshares
+ \OCP\Share::unshare($share['item_type'], $share['item_source'], $share['share_type'], null, $share['uid_owner']);
+
+ list($file, $link) = $this->getFile($share['uid_owner'], $share['file_source']);
+
+ \OC::$server->getActivityManager()->publishActivity(
+ 'files_sharing', \OCA\Files_Sharing\Activity::SUBJECT_REMOTE_SHARE_DECLINED, array($share['share_with'], basename($file)), '', array(),
+ $file, $link, $share['uid_owner'], \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::PRIORITY_LOW);
+ }
+
+ return new \OC_OCS_Result();
+ }
+
+ /**
+ * remove server-to-server share if it was unshared by the owner
+ *
+ * @param array $params
+ * @return \OC_OCS_Result
+ */
+ public function unshare($params) {
+
+ if (!$this->isS2SEnabled()) {
+ return \OC_OCS_Result(null, 503, 'Server does not support server-to-server sharing');
+ }
+
+ $id = $params['id'];
+ $token = isset($_POST['token']) ? $_POST['token'] : null;
+
+ $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share_external` WHERE `remote_id` = ? AND `share_token` = ?');
+ $query->execute(array($id, $token));
+ $share = $query->fetchRow();
+
+ if ($token && $id && !empty($share)) {
+
+ $owner = $share['owner'] . '@' . $share['remote'];
+ $mountpoint = $share['mountpoint'];
+ $user = $share['user'];
+
+ $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share_external` WHERE `remote_id` = ? AND `share_token` = ?');
+ $query->execute(array($id, $token));
+
+ \OC::$server->getActivityManager()->publishActivity(
+ 'files_sharing', \OCA\Files_Sharing\Activity::SUBJECT_REMOTE_SHARE_DECLINED, array($owner, $mountpoint), '', array(),
+ '', '', $user, \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::PRIORITY_MEDIUM);
+ }
+
+ return new \OC_OCS_Result();
+ }
+
+ /**
+ * get share
+ *
+ * @param int $id
+ * @param string $token
+ * @return array
+ */
+ private function getShare($id, $token) {
+ $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share` WHERE `id` = ? AND `token` = ? AND `share_type` = ?');
+ $query->execute(array($id, $token, \OCP\Share::SHARE_TYPE_REMOTE));
+ $share = $query->fetchRow();
+
+ return $share;
+ }
+
+ /**
+ * get file
+ *
+ * @param string $user
+ * @param int $fileSource
+ * @return array with internal path of the file and a absolute link to it
+ */
+ private function getFile($user, $fileSource) {
+ \OC_Util::setupFS($user);
+
+ $file = \OC\Files\Filesystem::getPath($fileSource);
+ $args = \OC\Files\Filesystem::is_dir($file) ? array('dir' => $file) : array('dir' => dirname($file), 'scrollto' => $file);
+ $link = \OCP\Util::linkToAbsolute('files', 'index.php', $args);
+
+ return array($file, $link);
+
+ }
+
+ /**
+ * check if server-to-server sharing is enabled
+ *
+ * @param bool $incoming
+ * @return bool
+ */
+ private function isS2SEnabled($incoming = false) {
+
+ $result = \OCP\App::isEnabled('files_sharing');
+
+ if ($incoming) {
+ $result = $result && \OCA\Files_Sharing\Helper::isIncomingServer2serverShareEnabled();
+ } else {
+ $result = $result && \OCA\Files_Sharing\Helper::isOutgoingServer2serverShareEnabled();
+ }
+
+ return $result;
+ }
+
+}
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php
index a01f8d98c7d..36d148dce96 100644
--- a/apps/files_sharing/appinfo/app.php
+++ b/apps/files_sharing/appinfo/app.php
@@ -8,7 +8,6 @@ OC::$CLASSPATH['OC\Files\Cache\Shared_Cache'] = 'files_sharing/lib/cache.php';
OC::$CLASSPATH['OC\Files\Cache\Shared_Permissions'] = 'files_sharing/lib/permissions.php';
OC::$CLASSPATH['OC\Files\Cache\Shared_Updater'] = 'files_sharing/lib/updater.php';
OC::$CLASSPATH['OC\Files\Cache\Shared_Watcher'] = 'files_sharing/lib/watcher.php';
-OC::$CLASSPATH['OCA\Files\Share\Api'] = 'files_sharing/lib/api.php';
OC::$CLASSPATH['OCA\Files\Share\Maintainer'] = 'files_sharing/lib/maintainer.php';
OC::$CLASSPATH['OCA\Files\Share\Proxy'] = 'files_sharing/lib/proxy.php';
@@ -28,6 +27,10 @@ OCP\Util::addScript('files_sharing', 'external');
OC_FileProxy::register(new OCA\Files\Share\Proxy());
+\OC::$server->getActivityManager()->registerExtension(function() {
+ return new \OCA\Files_Sharing\Activity();
+});
+
$config = \OC::$server->getConfig();
if ($config->getAppValue('core', 'shareapi_enabled', 'yes') === 'yes') {
@@ -52,14 +55,17 @@ if ($config->getAppValue('core', 'shareapi_enabled', 'yes') === 'yes') {
"name" => $l->t('Shared with others')
)
);
- \OCA\Files\App::getNavigationManager()->add(
- array(
- "id" => 'sharinglinks',
- "appname" => 'files_sharing',
- "script" => 'list.php',
- "order" => 20,
- "name" => $l->t('Shared by link')
- )
- );
+ // Check if sharing by link is enabled
+ if ($config->getAppValue('core', 'shareapi_allow_links', 'yes') === 'yes') {
+ \OCA\Files\App::getNavigationManager()->add(
+ array(
+ "id" => 'sharinglinks',
+ "appname" => 'files_sharing',
+ "script" => 'list.php',
+ "order" => 20,
+ "name" => $l->t('Shared by link')
+ )
+ );
+ }
}
}
diff --git a/apps/files_sharing/appinfo/database.xml b/apps/files_sharing/appinfo/database.xml
index 73d64c527b7..38718ab0773 100644
--- a/apps/files_sharing/appinfo/database.xml
+++ b/apps/files_sharing/appinfo/database.xml
@@ -23,6 +23,12 @@
<comments>Url of the remove owncloud instance</comments>
</field>
<field>
+ <name>remote_id</name>
+ <type>integer</type>
+ <notnull>true</notnull>
+ <length>4</length>
+ </field>
+ <field>
<name>share_token</name>
<type>text</type>
<notnull>true</notnull>
@@ -32,7 +38,7 @@
<field>
<name>password</name>
<type>text</type>
- <notnull>true</notnull>
+ <notnull>false</notnull>
<length>64</length>
<comments>Optional password for the public share</comments>
</field>
@@ -71,6 +77,13 @@
<length>32</length>
<comments>md5 hash of the mountpoint</comments>
</field>
+ <field>
+ <name>accepted</name>
+ <type>integer</type>
+ <default>0</default>
+ <notnull>true</notnull>
+ <length>4</length>
+ </field>
<index>
<name>sh_external_user</name>
<field>
diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php
index 68f33d94995..41bdf554fc5 100644
--- a/apps/files_sharing/appinfo/routes.php
+++ b/apps/files_sharing/appinfo/routes.php
@@ -22,25 +22,25 @@ $this->create('sharing_external_test_remote', '/testremote')
OC_API::register('get',
'/apps/files_sharing/api/v1/shares',
- array('\OCA\Files\Share\Api', 'getAllShares'),
+ array('\OCA\Files_Sharing\API\Local', 'getAllShares'),
'files_sharing');
OC_API::register('post',
'/apps/files_sharing/api/v1/shares',
- array('\OCA\Files\Share\Api', 'createShare'),
+ array('\OCA\Files_Sharing\API\Local', 'createShare'),
'files_sharing');
OC_API::register('get',
'/apps/files_sharing/api/v1/shares/{id}',
- array('\OCA\Files\Share\Api', 'getShare'),
+ array('\OCA\Files_Sharing\API\Local', 'getShare'),
'files_sharing');
OC_API::register('put',
'/apps/files_sharing/api/v1/shares/{id}',
- array('\OCA\Files\Share\Api', 'updateShare'),
+ array('\OCA\Files_Sharing\API\Local', 'updateShare'),
'files_sharing');
OC_API::register('delete',
'/apps/files_sharing/api/v1/shares/{id}',
- array('\OCA\Files\Share\Api', 'deleteShare'),
+ array('\OCA\Files_Sharing\API\Local', 'deleteShare'),
'files_sharing');
diff --git a/apps/files_sharing/appinfo/version b/apps/files_sharing/appinfo/version
index be14282b7ff..7d8568351b4 100644
--- a/apps/files_sharing/appinfo/version
+++ b/apps/files_sharing/appinfo/version
@@ -1 +1 @@
-0.5.3
+0.5.4
diff --git a/apps/files_sharing/js/app.js b/apps/files_sharing/js/app.js
index 1314304c567..ff6997ab12f 100644
--- a/apps/files_sharing/js/app.js
+++ b/apps/files_sharing/js/app.js
@@ -30,6 +30,7 @@ OCA.Sharing.App = {
this._inFileList = new OCA.Sharing.FileList(
$el,
{
+ id: 'shares.self',
scrollContainer: $('#app-content'),
sharedWithUser: true,
fileActions: this._createFileActions()
@@ -49,6 +50,7 @@ OCA.Sharing.App = {
this._outFileList = new OCA.Sharing.FileList(
$el,
{
+ id: 'shares.others',
scrollContainer: $('#app-content'),
sharedWithUser: false,
fileActions: this._createFileActions()
@@ -68,6 +70,7 @@ OCA.Sharing.App = {
this._linkFileList = new OCA.Sharing.FileList(
$el,
{
+ id: 'shares.link',
scrollContainer: $('#app-content'),
linksOnly: true,
fileActions: this._createFileActions()
diff --git a/apps/files_sharing/js/public.js b/apps/files_sharing/js/public.js
index 0627ed6ab54..2ddcd84d4c1 100644
--- a/apps/files_sharing/js/public.js
+++ b/apps/files_sharing/js/public.js
@@ -53,6 +53,7 @@ OCA.Sharing.PublicApp = {
this.fileList = new OCA.Files.FileList(
$el,
{
+ id: 'files.public',
scrollContainer: $(window),
dragOptions: dragOptions,
folderDropOptions: folderDropOptions,
@@ -61,6 +62,9 @@ OCA.Sharing.PublicApp = {
);
this.files = OCA.Files.Files;
this.files.initialize();
+ // TODO: move to PublicFileList.initialize() once
+ // the code was split into a separate class
+ OC.Plugins.attach('OCA.Sharing.PublicFileList', this.fileList);
}
var mimetype = $('#mimetype').val();
diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js
index 8474c66d4b8..bbd107e070e 100644
--- a/apps/files_sharing/js/share.js
+++ b/apps/files_sharing/js/share.js
@@ -17,46 +17,47 @@
*/
OCA.Sharing.Util = {
/**
- * Initialize the sharing app overrides of the default
- * file list.
+ * Initialize the sharing plugin.
*
* Registers the "Share" file action and adds additional
* DOM attributes for the sharing file info.
*
- * @param {OCA.Files.FileActions} fileActions file actions to extend
+ * @param {OCA.Files.FileList} fileList file list to be extended
*/
- initialize: function(fileActions) {
- if (OCA.Files.FileList) {
- var oldCreateRow = OCA.Files.FileList.prototype._createRow;
- OCA.Files.FileList.prototype._createRow = function(fileData) {
- var tr = oldCreateRow.apply(this, arguments);
- var sharePermissions = fileData.permissions;
- if (fileData.mountType && fileData.mountType === "external-root"){
- // for external storages we cant use the permissions of the mountpoint
- // instead we show all permissions and only use the share permissions from the mountpoint to handle resharing
- sharePermissions = sharePermissions | (OC.PERMISSION_ALL & ~OC.PERMISSION_SHARE);
- }
- if (fileData.type === 'file') {
- // files can't be shared with delete permissions
- sharePermissions = sharePermissions & ~OC.PERMISSION_DELETE;
- }
- tr.attr('data-share-permissions', sharePermissions);
- if (fileData.shareOwner) {
- tr.attr('data-share-owner', fileData.shareOwner);
- // user should always be able to rename a mount point
- if (fileData.isShareMountPoint) {
- tr.attr('data-permissions', fileData.permissions | OC.PERMISSION_UPDATE);
- }
- }
- if (fileData.recipientsDisplayName) {
- tr.attr('data-share-recipients', fileData.recipientsDisplayName);
- }
- return tr;
- };
+ attach: function(fileList) {
+ if (fileList.id === 'trashbin') {
+ return;
}
+ var fileActions = fileList.fileActions;
+ var oldCreateRow = fileList._createRow;
+ fileList._createRow = function(fileData) {
+ var tr = oldCreateRow.apply(this, arguments);
+ var sharePermissions = fileData.permissions;
+ if (fileData.mountType && fileData.mountType === "external-root"){
+ // for external storages we cant use the permissions of the mountpoint
+ // instead we show all permissions and only use the share permissions from the mountpoint to handle resharing
+ sharePermissions = sharePermissions | (OC.PERMISSION_ALL & ~OC.PERMISSION_SHARE);
+ }
+ if (fileData.type === 'file') {
+ // files can't be shared with delete permissions
+ sharePermissions = sharePermissions & ~OC.PERMISSION_DELETE;
+ }
+ tr.attr('data-share-permissions', sharePermissions);
+ if (fileData.shareOwner) {
+ tr.attr('data-share-owner', fileData.shareOwner);
+ // user should always be able to rename a mount point
+ if (fileData.isShareMountPoint) {
+ tr.attr('data-permissions', fileData.permissions | OC.PERMISSION_UPDATE);
+ }
+ }
+ if (fileData.recipientsDisplayName) {
+ tr.attr('data-share-recipients', fileData.recipientsDisplayName);
+ }
+ return tr;
+ };
// use delegate to catch the case with multiple file lists
- $('#content').delegate('#fileList', 'fileActionsReady', function(ev){
+ fileList.$el.on('fileActionsReady', function(ev){
var fileList = ev.fileList;
var $files = ev.$files;
@@ -198,12 +199,5 @@
};
})();
-$(document).ready(function() {
- // FIXME: HACK: do not init when running unit tests, need a better way
- if (!window.TESTING) {
- if (!_.isUndefined(OC.Share) && !_.isUndefined(OCA.Files)) {
- OCA.Sharing.Util.initialize(OCA.Files.fileActions);
- }
- }
-});
+OC.Plugins.register('OCA.Files.FileList', OCA.Sharing.Util);
diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js
index 7a7c24993c0..2c7d6c7d43a 100644
--- a/apps/files_sharing/js/sharedfilelist.js
+++ b/apps/files_sharing/js/sharedfilelist.js
@@ -38,6 +38,7 @@
_sharedWithUser: false,
_linksOnly: false,
_clientSideSort: true,
+ _allowSelection: false,
/**
* @private
@@ -55,6 +56,7 @@
if (options && options.linksOnly) {
this._linksOnly = true;
}
+ OC.Plugins.attach('OCA.Sharing.FileList', this);
},
_renderRow: function() {
diff --git a/apps/files_sharing/l10n/cs_CZ.js b/apps/files_sharing/l10n/cs_CZ.js
index 6b2c05b4dfb..bace06b0c41 100644
--- a/apps/files_sharing/l10n/cs_CZ.js
+++ b/apps/files_sharing/l10n/cs_CZ.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "Nebyla nalezena instalace ownCloud na {remote}",
"Invalid ownCloud url" : "Neplatná ownCloud url",
"Shared by" : "Sdílí",
+ "A file or folder was shared from <strong>another server</strong>" : "Soubor nebo složka byla nasdílena z <strong>jiného serveru</strong>",
+ "You received a new remote share from %s" : "Obdrželi jste nové vzdálené sdílení z %s",
"This share is password-protected" : "Toto sdílení je chráněno heslem",
"The password is wrong. Try again." : "Heslo není správné. Zkuste to znovu.",
"Password" : "Heslo",
diff --git a/apps/files_sharing/l10n/cs_CZ.json b/apps/files_sharing/l10n/cs_CZ.json
index 276887c770f..3071cd251d3 100644
--- a/apps/files_sharing/l10n/cs_CZ.json
+++ b/apps/files_sharing/l10n/cs_CZ.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "Nebyla nalezena instalace ownCloud na {remote}",
"Invalid ownCloud url" : "Neplatná ownCloud url",
"Shared by" : "Sdílí",
+ "A file or folder was shared from <strong>another server</strong>" : "Soubor nebo složka byla nasdílena z <strong>jiného serveru</strong>",
+ "You received a new remote share from %s" : "Obdrželi jste nové vzdálené sdílení z %s",
"This share is password-protected" : "Toto sdílení je chráněno heslem",
"The password is wrong. Try again." : "Heslo není správné. Zkuste to znovu.",
"Password" : "Heslo",
diff --git a/apps/files_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js
index de8c6102993..76ab4a877f7 100644
--- a/apps/files_sharing/l10n/da.js
+++ b/apps/files_sharing/l10n/da.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "Der blev ikke fundet en ownCloud-installation på {remote}",
"Invalid ownCloud url" : "Ugyldig ownCloud-URL",
"Shared by" : "Delt af",
+ "A file or folder was shared from <strong>another server</strong>" : "En fil eller mappe blev delt fra <strong>en anden server</strong>",
+ "You received a new remote share from %s" : "Du modtog en ny ekstern deling fra %s",
"This share is password-protected" : "Delingen er beskyttet af kodeord",
"The password is wrong. Try again." : "Kodeordet er forkert. Prøv igen.",
"Password" : "Kodeord",
diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json
index 996d45436c6..316c66f5d35 100644
--- a/apps/files_sharing/l10n/da.json
+++ b/apps/files_sharing/l10n/da.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "Der blev ikke fundet en ownCloud-installation på {remote}",
"Invalid ownCloud url" : "Ugyldig ownCloud-URL",
"Shared by" : "Delt af",
+ "A file or folder was shared from <strong>another server</strong>" : "En fil eller mappe blev delt fra <strong>en anden server</strong>",
+ "You received a new remote share from %s" : "Du modtog en ny ekstern deling fra %s",
"This share is password-protected" : "Delingen er beskyttet af kodeord",
"The password is wrong. Try again." : "Kodeordet er forkert. Prøv igen.",
"Password" : "Kodeord",
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index c3160792e1c..81ebd86723d 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "Keine OwnCloud-Installation auf {remote} gefunden",
"Invalid ownCloud url" : "Ungültige OwnCloud-URL",
"Shared by" : "Geteilt von ",
+ "A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder Ordner wurde von <strong>einem anderen Server</strong> geteilt",
+ "You received a new remote share from %s" : "Du hast eine neue Remotefreigabe von %s erhalten",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
"The password is wrong. Try again." : "Bitte überprüfe Dein Passwort und versuche es erneut.",
"Password" : "Passwort",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 62a74cf445b..ceae453aa66 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "Keine OwnCloud-Installation auf {remote} gefunden",
"Invalid ownCloud url" : "Ungültige OwnCloud-URL",
"Shared by" : "Geteilt von ",
+ "A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder Ordner wurde von <strong>einem anderen Server</strong> geteilt",
+ "You received a new remote share from %s" : "Du hast eine neue Remotefreigabe von %s erhalten",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
"The password is wrong. Try again." : "Bitte überprüfe Dein Passwort und versuche es erneut.",
"Password" : "Passwort",
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index e50a15dd29e..ec97bcba393 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "Keine OwnCloud-Installation auf {remote} gefunden",
"Invalid ownCloud url" : "Ungültige OwnCloud-Adresse",
"Shared by" : "Geteilt von",
+ "A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder Ordner wurde von <strong>einem anderen Server</strong> geteilt",
+ "You received a new remote share from %s" : "Sie haben eine neue Remotefreigabe von %s erhalten",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
"The password is wrong. Try again." : "Das Passwort ist falsch. Bitte versuchen Sie es erneut.",
"Password" : "Passwort",
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index 129769939e5..2dd35e35310 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "Keine OwnCloud-Installation auf {remote} gefunden",
"Invalid ownCloud url" : "Ungültige OwnCloud-Adresse",
"Shared by" : "Geteilt von",
+ "A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder Ordner wurde von <strong>einem anderen Server</strong> geteilt",
+ "You received a new remote share from %s" : "Sie haben eine neue Remotefreigabe von %s erhalten",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
"The password is wrong. Try again." : "Das Passwort ist falsch. Bitte versuchen Sie es erneut.",
"Password" : "Passwort",
diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js
index 07cc91c6621..c5dfd1a7674 100644
--- a/apps/files_sharing/l10n/en_GB.js
+++ b/apps/files_sharing/l10n/en_GB.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "No ownCloud installation found at {remote}",
"Invalid ownCloud url" : "Invalid ownCloud URL",
"Shared by" : "Shared by",
+ "A file or folder was shared from <strong>another server</strong>" : "A file or folder was shared from <strong>another server</strong>",
+ "You received a new remote share from %s" : "You received a new remote share from %s",
"This share is password-protected" : "This share is password-protected",
"The password is wrong. Try again." : "The password is wrong. Try again.",
"Password" : "Password",
diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json
index f0e6f5b5bed..a145d68425c 100644
--- a/apps/files_sharing/l10n/en_GB.json
+++ b/apps/files_sharing/l10n/en_GB.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "No ownCloud installation found at {remote}",
"Invalid ownCloud url" : "Invalid ownCloud URL",
"Shared by" : "Shared by",
+ "A file or folder was shared from <strong>another server</strong>" : "A file or folder was shared from <strong>another server</strong>",
+ "You received a new remote share from %s" : "You received a new remote share from %s",
"This share is password-protected" : "This share is password-protected",
"The password is wrong. Try again." : "The password is wrong. Try again.",
"Password" : "Password",
diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js
index 922c52aeaa0..d7bfe45928f 100644
--- a/apps/files_sharing/l10n/es.js
+++ b/apps/files_sharing/l10n/es.js
@@ -19,6 +19,7 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "No se encontró una instalación de ownCloud en {remote}",
"Invalid ownCloud url" : "URL de ownCloud inválido",
"Shared by" : "Compartido por",
+ "A file or folder was shared from <strong>another server</strong>" : "Se ha compartido un archivo o carpeta desde <strong>otro servidor</strong>",
"This share is password-protected" : "Este elemento compartido esta protegido por contraseña",
"The password is wrong. Try again." : "La contraseña introducida es errónea. Inténtelo de nuevo.",
"Password" : "Contraseña",
diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json
index 8339a435be0..d7d3331ab22 100644
--- a/apps/files_sharing/l10n/es.json
+++ b/apps/files_sharing/l10n/es.json
@@ -17,6 +17,7 @@
"No ownCloud installation found at {remote}" : "No se encontró una instalación de ownCloud en {remote}",
"Invalid ownCloud url" : "URL de ownCloud inválido",
"Shared by" : "Compartido por",
+ "A file or folder was shared from <strong>another server</strong>" : "Se ha compartido un archivo o carpeta desde <strong>otro servidor</strong>",
"This share is password-protected" : "Este elemento compartido esta protegido por contraseña",
"The password is wrong. Try again." : "La contraseña introducida es errónea. Inténtelo de nuevo.",
"Password" : "Contraseña",
diff --git a/apps/files_sharing/l10n/fi_FI.js b/apps/files_sharing/l10n/fi_FI.js
index bb02376e115..ad455736d86 100644
--- a/apps/files_sharing/l10n/fi_FI.js
+++ b/apps/files_sharing/l10n/fi_FI.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "ownCloud-asennusta ei löytynyt kohteesta {remote}",
"Invalid ownCloud url" : "Virheellinen ownCloud-osoite",
"Shared by" : "Jakanut",
+ "A file or folder was shared from <strong>another server</strong>" : "Tiedosto tai kansio jaettiin <strong>toiselta palvelimelta</strong>",
+ "You received a new remote share from %s" : "Vastaanotit uuden etäjaon käyttäjältä %s",
"This share is password-protected" : "Tämä jako on suojattu salasanalla",
"The password is wrong. Try again." : "Väärä salasana. Yritä uudelleen.",
"Password" : "Salasana",
diff --git a/apps/files_sharing/l10n/fi_FI.json b/apps/files_sharing/l10n/fi_FI.json
index 84b681252dc..83423ae1bcd 100644
--- a/apps/files_sharing/l10n/fi_FI.json
+++ b/apps/files_sharing/l10n/fi_FI.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "ownCloud-asennusta ei löytynyt kohteesta {remote}",
"Invalid ownCloud url" : "Virheellinen ownCloud-osoite",
"Shared by" : "Jakanut",
+ "A file or folder was shared from <strong>another server</strong>" : "Tiedosto tai kansio jaettiin <strong>toiselta palvelimelta</strong>",
+ "You received a new remote share from %s" : "Vastaanotit uuden etäjaon käyttäjältä %s",
"This share is password-protected" : "Tämä jako on suojattu salasanalla",
"The password is wrong. Try again." : "Väärä salasana. Yritä uudelleen.",
"Password" : "Salasana",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index 98f1a46627d..734f1091f75 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "Aucune installation ownCloud n'a été trouvée sur {remote}",
"Invalid ownCloud url" : "URL ownCloud invalide",
"Shared by" : "Partagé par",
+ "A file or folder was shared from <strong>another server</strong>" : "Un fichier ou un répertoire a été partagé depuis <strong>un autre serveur</strong>",
+ "You received a new remote share from %s" : "Vous avez reçu un partage distant de %s",
"This share is password-protected" : "Ce partage est protégé par un mot de passe",
"The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.",
"Password" : "Mot de passe",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index c7145f92e98..5fbdc5da72b 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "Aucune installation ownCloud n'a été trouvée sur {remote}",
"Invalid ownCloud url" : "URL ownCloud invalide",
"Shared by" : "Partagé par",
+ "A file or folder was shared from <strong>another server</strong>" : "Un fichier ou un répertoire a été partagé depuis <strong>un autre serveur</strong>",
+ "You received a new remote share from %s" : "Vous avez reçu un partage distant de %s",
"This share is password-protected" : "Ce partage est protégé par un mot de passe",
"The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.",
"Password" : "Mot de passe",
diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js
index c0626abb222..42bb76958ec 100644
--- a/apps/files_sharing/l10n/ja.js
+++ b/apps/files_sharing/l10n/ja.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "{remote} にはownCloudがインストールされていません",
"Invalid ownCloud url" : "無効なownCloud URL です",
"Shared by" : "共有者:",
+ "A file or folder was shared from <strong>another server</strong>" : "ファイルまたはフォルダーは <strong>他のサーバー</strong>から共有されました",
+ "You received a new remote share from %s" : "%sからリモート共有のリクエストは\n届きました。",
"This share is password-protected" : "この共有はパスワードで保護されています",
"The password is wrong. Try again." : "パスワードが間違っています。再試行してください。",
"Password" : "パスワード",
diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json
index 1a199b9e6dc..87128114d7c 100644
--- a/apps/files_sharing/l10n/ja.json
+++ b/apps/files_sharing/l10n/ja.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "{remote} にはownCloudがインストールされていません",
"Invalid ownCloud url" : "無効なownCloud URL です",
"Shared by" : "共有者:",
+ "A file or folder was shared from <strong>another server</strong>" : "ファイルまたはフォルダーは <strong>他のサーバー</strong>から共有されました",
+ "You received a new remote share from %s" : "%sからリモート共有のリクエストは\n届きました。",
"This share is password-protected" : "この共有はパスワードで保護されています",
"The password is wrong. Try again." : "パスワードが間違っています。再試行してください。",
"Password" : "パスワード",
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index e997a1167f4..e566b2618b2 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "Geen ownCloud installatie gevonden op {remote}",
"Invalid ownCloud url" : "Ongeldige ownCloud url",
"Shared by" : "Gedeeld door",
+ "A file or folder was shared from <strong>another server</strong>" : "Een bestand of map werd gedeeld vanaf <strong>een andere server</strong>",
+ "You received a new remote share from %s" : "U ontving een nieuwe externe share van %s",
"This share is password-protected" : "Deze share is met een wachtwoord beveiligd",
"The password is wrong. Try again." : "Wachtwoord ongeldig. Probeer het nogmaals.",
"Password" : "Wachtwoord",
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index 9d6fd9c37ca..a386c43fe9c 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "Geen ownCloud installatie gevonden op {remote}",
"Invalid ownCloud url" : "Ongeldige ownCloud url",
"Shared by" : "Gedeeld door",
+ "A file or folder was shared from <strong>another server</strong>" : "Een bestand of map werd gedeeld vanaf <strong>een andere server</strong>",
+ "You received a new remote share from %s" : "U ontving een nieuwe externe share van %s",
"This share is password-protected" : "Deze share is met een wachtwoord beveiligd",
"The password is wrong. Try again." : "Wachtwoord ongeldig. Probeer het nogmaals.",
"Password" : "Wachtwoord",
diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index 57d2018282c..d7cb4df4dbe 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "Nenhuma instalação ownCloud encontrada em {remote}",
"Invalid ownCloud url" : "Url invalida para ownCloud",
"Shared by" : "Compartilhado por",
+ "A file or folder was shared from <strong>another server</strong>" : "Um arquivo ou pasta foi compartilhada a partir de <strong>outro servidor</strong>",
+ "You received a new remote share from %s" : "Você recebeu um novo compartilhamento remoto de %s",
"This share is password-protected" : "Este compartilhamento esta protegido por senha",
"The password is wrong. Try again." : "Senha incorreta. Tente novamente.",
"Password" : "Senha",
diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json
index 1587aca9832..73be570ebd0 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "Nenhuma instalação ownCloud encontrada em {remote}",
"Invalid ownCloud url" : "Url invalida para ownCloud",
"Shared by" : "Compartilhado por",
+ "A file or folder was shared from <strong>another server</strong>" : "Um arquivo ou pasta foi compartilhada a partir de <strong>outro servidor</strong>",
+ "You received a new remote share from %s" : "Você recebeu um novo compartilhamento remoto de %s",
"This share is password-protected" : "Este compartilhamento esta protegido por senha",
"The password is wrong. Try again." : "Senha incorreta. Tente novamente.",
"Password" : "Senha",
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index f8a73755cd1..ad639cc5bcc 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"No ownCloud installation found at {remote}" : "Не найдено ownCloud на {remote}",
"Invalid ownCloud url" : "Неверный адрес ownCloud",
"Shared by" : "Опубликовано",
+ "A file or folder was shared from <strong>another server</strong>" : "Файл или папка, опубликованная на <strong>другом сервере</strong>",
+ "You received a new remote share from %s" : "Вы получили новую публикацию от %s",
"This share is password-protected" : "Для доступа к информации необходимо ввести пароль",
"The password is wrong. Try again." : "Неверный пароль. Попробуйте еще раз.",
"Password" : "Пароль",
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index ab20e0c3e92..21607bc8163 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -17,6 +17,8 @@
"No ownCloud installation found at {remote}" : "Не найдено ownCloud на {remote}",
"Invalid ownCloud url" : "Неверный адрес ownCloud",
"Shared by" : "Опубликовано",
+ "A file or folder was shared from <strong>another server</strong>" : "Файл или папка, опубликованная на <strong>другом сервере</strong>",
+ "You received a new remote share from %s" : "Вы получили новую публикацию от %s",
"This share is password-protected" : "Для доступа к информации необходимо ввести пароль",
"The password is wrong. Try again." : "Неверный пароль. Попробуйте еще раз.",
"Password" : "Пароль",
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index 7bbeefc9622..1b0082f6c1f 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -36,6 +36,6 @@ OC.L10N.register(
"Direct link" : "Doğrudan bağlantı",
"Server-to-Server Sharing" : "Sunucu-Sunucu Paylaşımı",
"Allow users on this server to send shares to other servers" : "Bu sunucudaki kullanıcıların diğer sunuculara paylaşım göndermelerine izin ver",
- "Allow users on this server to receive shares from other servers" : "Bu sunucudaki kullanıcıların diğer sunucularda paylaşım almalarına izin ver"
+ "Allow users on this server to receive shares from other servers" : "Bu sunucudaki kullanıcıların diğer sunuculardan paylaşım almalarına izin ver"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index f91ab02288b..b9b4e46569e 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -34,6 +34,6 @@
"Direct link" : "Doğrudan bağlantı",
"Server-to-Server Sharing" : "Sunucu-Sunucu Paylaşımı",
"Allow users on this server to send shares to other servers" : "Bu sunucudaki kullanıcıların diğer sunuculara paylaşım göndermelerine izin ver",
- "Allow users on this server to receive shares from other servers" : "Bu sunucudaki kullanıcıların diğer sunucularda paylaşım almalarına izin ver"
+ "Allow users on this server to receive shares from other servers" : "Bu sunucudaki kullanıcıların diğer sunuculardan paylaşım almalarına izin ver"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/lib/activity.php b/apps/files_sharing/lib/activity.php
new file mode 100644
index 00000000000..979df1c1da6
--- /dev/null
+++ b/apps/files_sharing/lib/activity.php
@@ -0,0 +1,196 @@
+<?php
+/**
+ * ownCloud - publish activities
+ *
+ * @copyright (c) 2014, ownCloud Inc.
+ *
+ * @author Bjoern Schiessle <schiessle@owncloud.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library 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 library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+namespace OCA\Files_Sharing;
+
+class Activity implements \OCP\Activity\IExtension {
+
+ const TYPE_REMOTE_SHARE = 'remote_share';
+ const SUBJECT_REMOTE_SHARE_RECEIVED = 'remote_share_received';
+ const SUBJECT_REMOTE_SHARE_ACCEPTED = 'remote_share_accepted';
+ const SUBJECT_REMOTE_SHARE_DECLINED = 'remote_share_declined';
+ const SUBJECT_REMOTE_SHARE_UNSHARED = 'remote_share_unshared';
+
+ /**
+ * The extension can return an array of additional notification types.
+ * If no additional types are to be added false is to be returned
+ *
+ * @param string $languageCode
+ * @return array|false
+ */
+ public function getNotificationTypes($languageCode) {
+ $l = \OC::$server->getL10N('files_sharing', $languageCode);
+ return array(self::TYPE_REMOTE_SHARE => $l->t('A file or folder was shared from <strong>another server</strong>'));
+ }
+
+ /**
+ * The extension can filter the types based on the filter if required.
+ * In case no filter is to be applied false is to be returned unchanged.
+ *
+ * @param array $types
+ * @param string $filter
+ * @return array|false
+ */
+ public function filterNotificationTypes($types, $filter) {
+ return $types;
+ }
+
+ /**
+ * For a given method additional types to be displayed in the settings can be returned.
+ * In case no additional types are to be added false is to be returned.
+ *
+ * @param string $method
+ * @return array|false
+ */
+ public function getDefaultTypes($method) {
+ if ($method === 'stream') {
+ return array(self::TYPE_REMOTE_SHARE);
+ }
+
+ return false;
+ }
+
+ /**
+ * The extension can translate a given message to the requested languages.
+ * If no translation is available false is to be returned.
+ *
+ * @param string $app
+ * @param string $text
+ * @param array $params
+ * @param boolean $stripPath
+ * @param boolean $highlightParams
+ * @param string $languageCode
+ * @return string|false
+ */
+ public function translate($app, $text, $params, $stripPath, $highlightParams, $languageCode) {
+
+ $l = \OC::$server->getL10N('files_sharing', $languageCode);
+
+ if (!$text) {
+ return '';
+ }
+
+ if ($app === 'files_sharing') {
+ switch ($text) {
+ case self::SUBJECT_REMOTE_SHARE_RECEIVED:
+ return $l->t('You received a new remote share from %s', $params)->__toString();
+ case self::SUBJECT_REMOTE_SHARE_ACCEPTED:
+ return $l->t('%1$s accepted remote share %2$s', $params)->__toString();
+ case self::SUBJECT_REMOTE_SHARE_DECLINED:
+ return $l->t('%1$s declined remote share %2$s', $params)->__toString();
+ case self::SUBJECT_REMOTE_SHARE_UNSHARED:
+ return $l->t('%1$s unshared %2$s', $params)->__toString();
+ }
+ }
+ }
+
+ /**
+ * The extension can define the type of parameters for translation
+ *
+ * Currently known types are:
+ * * file => will strip away the path of the file and add a tooltip with it
+ * * username => will add the avatar of the user
+ *
+ * @param string $app
+ * @param string $text
+ * @return array|false
+ */
+ public function getSpecialParameterList($app, $text) {
+ if ($app === 'files_sharing') {
+ switch ($text) {
+ case self::SUBJECT_REMOTE_SHARE_RECEIVED:
+ return array(
+ 0 => '',// We can not use 'username' since the user is in a different ownCloud
+ );
+ case self::SUBJECT_REMOTE_SHARE_ACCEPTED:
+ case self::SUBJECT_REMOTE_SHARE_DECLINED:
+ case self::SUBJECT_REMOTE_SHARE_UNSHARED:
+ return array(
+ 0 => '',// We can not use 'username' since the user is in a different ownCloud
+ 1 => 'file',
+ );
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * A string naming the css class for the icon to be used can be returned.
+ * If no icon is known for the given type false is to be returned.
+ *
+ * @param string $type
+ * @return string|false
+ */
+ public function getTypeIcon($type) {
+ return 'icon-share';
+ }
+
+ /**
+ * The extension can define the parameter grouping by returning the index as integer.
+ * In case no grouping is required false is to be returned.
+ *
+ * @param array $activity
+ * @return integer|false
+ */
+ public function getGroupParameter($activity) {
+ return false;
+ }
+
+ /**
+ * The extension can define additional navigation entries. The array returned has to contain two keys 'top'
+ * and 'apps' which hold arrays with the relevant entries.
+ * If no further entries are to be added false is no be returned.
+ *
+ * @return array|false
+ */
+ public function getNavigation() {
+ return false;
+ }
+
+ /**
+ * The extension can check if a customer filter (given by a query string like filter=abc) is valid or not.
+ *
+ * @param string $filterValue
+ * @return boolean
+ */
+ public function isFilterValid($filterValue) {
+ return false;
+ }
+
+ /**
+ * For a given filter the extension can specify the sql query conditions including parameters for that query.
+ * In case the extension does not know the filter false is to be returned.
+ * The query condition and the parameters are to be returned as array with two elements.
+ * E.g. return array('`app` = ? and `message` like ?', array('mail', 'ownCloud%'));
+ *
+ * @param string $filter
+ * @return array|false
+ */
+ public function getQueryForFilter($filter) {
+ if ($filter === 'shares') {
+ return array('`app` = ? and `type` = ?', array('files_sharing', self::TYPE_REMOTE_SHARE));
+ }
+ return false;
+ }
+
+}
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index 270ed704bbd..e3bee145876 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -89,16 +89,18 @@ class Shared_Cache extends Cache {
$cache = $this->getSourceCache($file);
if ($cache) {
$data = $cache->get($this->files[$file]);
- $data['displayname_owner'] = \OC_User::getDisplayName($this->storage->getSharedFrom());
- $data['path'] = $file;
- if ($file === '') {
- $data['is_share_mount_point'] = true;
- }
- $data['uid_owner'] = $this->storage->getOwner($file);
- if (isset($data['permissions'])) {
- $data['permissions'] &= $this->storage->getPermissions($file);
- } else {
- $data['permissions'] = $this->storage->getPermissions($file);
+ if ($data) {
+ $data['displayname_owner'] = \OC_User::getDisplayName($this->storage->getSharedFrom());
+ $data['path'] = $file;
+ if ($file === '') {
+ $data['is_share_mount_point'] = true;
+ }
+ $data['uid_owner'] = $this->storage->getOwner($file);
+ if (isset($data['permissions'])) {
+ $data['permissions'] &= $this->storage->getPermissions($file);
+ } else {
+ $data['permissions'] = $this->storage->getPermissions($file);
+ }
}
return $data;
}
@@ -343,6 +345,46 @@ class Shared_Cache extends Cache {
}
/**
+ * search for files by tag
+ *
+ * @param string|int $tag tag to search for
+ * @param string $userId owner of the tags
+ * @return array file data
+ */
+ public function searchByTag($tag, $userId) {
+ // TODO: inject this
+ $tagger = \OC::$server->getTagManager()->load('files', null, null, $userId);
+ $result = array();
+ $exploreDirs = array('');
+ // FIXME: this is so wrong and unefficient, need to replace with actual DB queries
+ while (count($exploreDirs) > 0) {
+ $dir = array_pop($exploreDirs);
+ $files = $this->getFolderContents($dir);
+ // no results?
+ if (!$files) {
+ // maybe it's a single shared file
+ $file = $this->get('');
+ $tags = $tagger->getTagsForObjects(array((int)$file['fileid']));
+ if (!empty($tags) && in_array($tag, current($tags))) {
+ $result[] = $file;
+ }
+ continue;
+ }
+ foreach ($files as $file) {
+ if ($file['mimetype'] === 'httpd/unix-directory') {
+ $exploreDirs[] = ltrim($dir . '/' . $file['name'], '/');
+ } else {
+ $tags = $tagger->getTagsForObjects(array((int)$file['fileid']));
+ if (!empty($tags) && in_array($tag, current($tags))) {
+ $result[] = $file;
+ }
+ }
+ }
+ }
+ return $result;
+ }
+
+ /**
* get the size of a folder and set it in the cache
*
* @param string $path
diff --git a/apps/files_sharing/lib/external/manager.php b/apps/files_sharing/lib/external/manager.php
index 8176302a86a..b52e1a5044e 100644
--- a/apps/files_sharing/lib/external/manager.php
+++ b/apps/files_sharing/lib/external/manager.php
@@ -24,7 +24,7 @@ class Manager {
private $mountManager;
/**
- * @var \OC\Files\Storage\Loader
+ * @var \OC\Files\Storage\StorageFactory
*/
private $storageLoader;
@@ -37,10 +37,10 @@ class Manager {
* @param \OCP\IDBConnection $connection
* @param \OC\Files\Mount\Manager $mountManager
* @param \OC\User\Session $userSession
- * @param \OC\Files\Storage\Loader $storageLoader
+ * @param \OC\Files\Storage\StorageFactory $storageLoader
*/
public function __construct(\OCP\IDBConnection $connection, \OC\Files\Mount\Manager $mountManager,
- \OC\Files\Storage\Loader $storageLoader, \OC\User\Session $userSession) {
+ \OC\Files\Storage\StorageFactory $storageLoader, \OC\User\Session $userSession) {
$this->connection = $connection;
$this->mountManager = $mountManager;
$this->userSession = $userSession;
@@ -50,14 +50,8 @@ class Manager {
public function addShare($remote, $token, $password, $name, $owner) {
$user = $this->userSession->getUser();
if ($user) {
- $query = $this->connection->prepare('
- INSERT INTO `*PREFIX*share_external`
- (`remote`, `share_token`, `password`, `name`, `owner`, `user`, `mountpoint`, `mountpoint_hash`)
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)
- ');
$mountPoint = Filesystem::normalizePath('/' . $name);
- $hash = md5($mountPoint);
- $query->execute(array($remote, $token, $password, $name, $owner, $user->getUID(), $mountPoint, $hash));
+ \OCA\Files_Sharing\Helper::addServer2ServerShare($remote, $token, $name, $mountPoint, $owner, $user->getUID(), $password, -1, true);
$options = array(
'remote' => $remote,
@@ -81,9 +75,9 @@ class Manager {
$query = $this->connection->prepare('
SELECT `remote`, `share_token`, `password`, `mountpoint`, `owner`
FROM `*PREFIX*share_external`
- WHERE `user` = ?
+ WHERE `user` = ? AND `accepted` = ?
');
- $query->execute(array($user->getUID()));
+ $query->execute(array($user->getUID(), 1));
while ($row = $query->fetch()) {
$row['manager'] = $this;
diff --git a/apps/files_sharing/lib/external/mount.php b/apps/files_sharing/lib/external/mount.php
index e564dded69a..6fd9882cb2a 100644
--- a/apps/files_sharing/lib/external/mount.php
+++ b/apps/files_sharing/lib/external/mount.php
@@ -8,9 +8,10 @@
namespace OCA\Files_Sharing\External;
+use OC\Files\Mount\MountPoint;
use OC\Files\Mount\MoveableMount;
-class Mount extends \OC\Files\Mount\Mount implements MoveableMount {
+class Mount extends MountPoint implements MoveableMount {
/**
* @var \OCA\Files_Sharing\External\Manager
@@ -22,7 +23,7 @@ class Mount extends \OC\Files\Mount\Mount implements MoveableMount {
* @param string $mountpoint
* @param array $options
* @param \OCA\Files_Sharing\External\Manager $manager
- * @param \OC\Files\Storage\Loader $loader
+ * @param \OC\Files\Storage\StorageFactory $loader
*/
public function __construct($storage, $mountpoint, $options, $manager, $loader = null) {
parent::__construct($storage, $mountpoint, $options, $loader);
diff --git a/apps/files_sharing/lib/helper.php b/apps/files_sharing/lib/helper.php
index f7204a8db8f..c83debe952f 100644
--- a/apps/files_sharing/lib/helper.php
+++ b/apps/files_sharing/lib/helper.php
@@ -21,6 +21,30 @@ class Helper {
}
/**
+ * add server-to-server share to database
+ *
+ * @param string $remote
+ * @param string $token
+ * @param string $name
+ * @param string $mountPoint
+ * @param string $owner
+ * @param string $user
+ * @param string $password
+ * @param int $remoteId
+ * @param bool $accepted
+ */
+ public static function addServer2ServerShare($remote, $token, $name, $mountPoint, $owner, $user, $password='', $remoteId=-1, $accepted = false) {
+ $accepted = $accepted ? 1 : 0;
+ $query = \OCP\DB::prepare('
+ INSERT INTO `*PREFIX*share_external`
+ (`remote`, `share_token`, `password`, `name`, `owner`, `user`, `mountpoint`, `mountpoint_hash`, `accepted`, `remote_id`)
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+ ');
+ $hash = md5($mountPoint);
+ $query->execute(array($remote, $token, $password, $name, $owner, $user, $mountPoint, $hash, $accepted, $remoteId));
+ }
+
+ /**
* Sets up the filesystem and user for public sharing
* @param string $token string share token
* @param string $relativePath optional path relative to the share
diff --git a/apps/files_sharing/lib/sharedmount.php b/apps/files_sharing/lib/sharedmount.php
index a93ecfb3b1b..d16dbf89ccf 100644
--- a/apps/files_sharing/lib/sharedmount.php
+++ b/apps/files_sharing/lib/sharedmount.php
@@ -8,13 +8,13 @@
namespace OCA\Files_Sharing;
-use OC\Files\Mount\Mount;
+use OC\Files\Mount\MountPoint;
use OC\Files\Mount\MoveableMount;
/**
* Shared mount points can be moved by the user
*/
-class SharedMount extends Mount implements MoveableMount {
+class SharedMount extends MountPoint implements MoveableMount {
/**
* @var \OC\Files\Storage\Shared $storage
*/
diff --git a/apps/files_sharing/tests/api.php b/apps/files_sharing/tests/api.php
index 1259197423b..dd6de15010f 100644
--- a/apps/files_sharing/tests/api.php
+++ b/apps/files_sharing/tests/api.php
@@ -76,7 +76,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2;
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER;
- $result = Share\Api::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
$this->assertTrue($result->succeeded());
$data = $result->getData();
@@ -93,7 +93,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_POST['path'] = $this->folder;
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK;
- $result = Share\Api::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
// check if API call was successful
$this->assertTrue($result->succeeded());
@@ -129,7 +129,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK;
- $result = Share\Api::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
$this->assertFalse($result->succeeded());
@@ -138,7 +138,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK;
$_POST['password'] = '';
- $result = Share\Api::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
$this->assertFalse($result->succeeded());
// share with password should succeed
@@ -146,7 +146,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK;
$_POST['password'] = 'foo';
- $result = Share\Api::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
$this->assertTrue($result->succeeded());
$data = $result->getData();
@@ -157,7 +157,7 @@ class Test_Files_Sharing_Api extends TestCase {
$params['_put'] = array();
$params['_put']['password'] = 'bar';
- $result = Share\Api::updateShare($params);
+ $result = \OCA\Files_Sharing\API\Local::updateShare($params);
$this->assertTrue($result->succeeded());
// removing password should fail
@@ -166,7 +166,7 @@ class Test_Files_Sharing_Api extends TestCase {
$params['_put'] = array();
$params['_put']['password'] = '';
- $result = Share\Api::updateShare($params);
+ $result = \OCA\Files_Sharing\API\Local::updateShare($params);
$this->assertFalse($result->succeeded());
// cleanup
@@ -187,7 +187,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2;
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER;
- $result = Share\Api::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
$this->assertTrue($result->succeeded());
$data = $result->getData();
@@ -213,7 +213,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2;
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER;
- $result = Share\Api::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
$this->assertTrue($result->succeeded());
$data = $result->getData();
@@ -238,7 +238,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2;
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER;
- $result = Share\Api::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
$this->assertFalse($result->succeeded());
@@ -259,7 +259,7 @@ class Test_Files_Sharing_Api extends TestCase {
\OCP\Share::shareItem('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER,
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2, 31);
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -286,7 +286,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_GET['path'] = $this->filename;
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -323,7 +323,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_GET['path'] = $this->filename;
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -333,7 +333,7 @@ class Test_Files_Sharing_Api extends TestCase {
// now also ask for the reshares
$_GET['reshares'] = 'true';
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -378,7 +378,7 @@ class Test_Files_Sharing_Api extends TestCase {
// call getShare() with share ID
$params = array('id' => $share['id']);
- $result = Share\Api::getShare($params);
+ $result = \OCA\Files_Sharing\API\Local::getShare($params);
$this->assertTrue($result->succeeded());
@@ -413,7 +413,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_GET['path'] = $this->folder;
$_GET['subfiles'] = 'true';
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -470,7 +470,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_GET['path'] = $value['query'];
$_GET['subfiles'] = 'true';
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -521,7 +521,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_GET['path'] = '/';
$_GET['subfiles'] = 'true';
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -583,7 +583,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_GET['path'] = '/';
$_GET['subfiles'] = 'true';
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -652,7 +652,7 @@ class Test_Files_Sharing_Api extends TestCase {
$expectedPath1 = $this->subfolder;
$_GET['path'] = $expectedPath1;
- $result1 = Share\Api::getAllShares(array());
+ $result1 = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result1->succeeded());
@@ -664,7 +664,7 @@ class Test_Files_Sharing_Api extends TestCase {
$expectedPath2 = $this->folder . $this->subfolder;
$_GET['path'] = $expectedPath2;
- $result2 = Share\Api::getAllShares(array());
+ $result2 = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result2->succeeded());
@@ -734,7 +734,7 @@ class Test_Files_Sharing_Api extends TestCase {
$_GET['path'] = '/';
$_GET['subfiles'] = 'true';
- $result = Share\Api::getAllShares(array());
+ $result = \OCA\Files_Sharing\API\Local::getAllShares(array());
$this->assertTrue($result->succeeded());
@@ -771,7 +771,7 @@ class Test_Files_Sharing_Api extends TestCase {
$params = array('id' => 0);
- $result = Share\Api::getShare($params);
+ $result = \OCA\Files_Sharing\API\Local::getShare($params);
$this->assertEquals(404, $result->getStatusCode());
$meta = $result->getMeta();
@@ -831,7 +831,7 @@ class Test_Files_Sharing_Api extends TestCase {
$params['_put'] = array();
$params['_put']['permissions'] = 1;
- $result = Share\Api::updateShare($params);
+ $result = \OCA\Files_Sharing\API\Local::updateShare($params);
$meta = $result->getMeta();
$this->assertTrue($result->succeeded(), $meta['message']);
@@ -859,7 +859,7 @@ class Test_Files_Sharing_Api extends TestCase {
$params['_put'] = array();
$params['_put']['password'] = 'foo';
- $result = Share\Api::updateShare($params);
+ $result = \OCA\Files_Sharing\API\Local::updateShare($params);
$this->assertTrue($result->succeeded());
@@ -919,7 +919,7 @@ class Test_Files_Sharing_Api extends TestCase {
$params['_put'] = array();
$params['_put']['publicUpload'] = 'true';
- $result = Share\Api::updateShare($params);
+ $result = \OCA\Files_Sharing\API\Local::updateShare($params);
$this->assertTrue($result->succeeded());
@@ -977,7 +977,7 @@ class Test_Files_Sharing_Api extends TestCase {
$params['_put'] = array();
$params['_put']['expireDate'] = $dateWithinRange->format('Y-m-d');
- $result = Share\Api::updateShare($params);
+ $result = \OCA\Files_Sharing\API\Local::updateShare($params);
$this->assertTrue($result->succeeded());
@@ -995,7 +995,7 @@ class Test_Files_Sharing_Api extends TestCase {
$params['_put'] = array();
$params['_put']['expireDate'] = $dateOutOfRange->format('Y-m-d');
- $result = Share\Api::updateShare($params);
+ $result = \OCA\Files_Sharing\API\Local::updateShare($params);
$this->assertFalse($result->succeeded());
@@ -1033,7 +1033,7 @@ class Test_Files_Sharing_Api extends TestCase {
$this->assertEquals(2, count($items));
foreach ($items as $item) {
- $result = Share\Api::deleteShare(array('id' => $item['id']));
+ $result = \OCA\Files_Sharing\API\Local::deleteShare(array('id' => $item['id']));
$this->assertTrue($result->succeeded());
}
@@ -1072,7 +1072,7 @@ class Test_Files_Sharing_Api extends TestCase {
$this->assertEquals(1, count($items));
$item = reset($items);
- $result3 = Share\Api::deleteShare(array('id' => $item['id']));
+ $result3 = \OCA\Files_Sharing\API\Local::deleteShare(array('id' => $item['id']));
$this->assertTrue($result3->succeeded());
diff --git a/apps/files_sharing/tests/cache.php b/apps/files_sharing/tests/cache.php
index aec1983bad3..b60bba73db8 100644
--- a/apps/files_sharing/tests/cache.php
+++ b/apps/files_sharing/tests/cache.php
@@ -204,6 +204,40 @@ class Test_Files_Sharing_Cache extends TestCase {
$this->verifyFiles($check, $results);
}
+ /**
+ * Test searching by tag
+ */
+ function testSearchByTag() {
+ $userId = \OC::$server->getUserSession()->getUser()->getUId();
+ $id1 = $this->sharedCache->get('bar.txt')['fileid'];
+ $id2 = $this->sharedCache->get('subdir/another too.txt')['fileid'];
+ $id3 = $this->sharedCache->get('subdir/not a text file.xml')['fileid'];
+ $id4 = $this->sharedCache->get('subdir/another.txt')['fileid'];
+ $tagManager = \OC::$server->getTagManager()->load('files', null, null, $userId);
+ $tagManager->tagAs($id1, 'tag1');
+ $tagManager->tagAs($id1, 'tag2');
+ $tagManager->tagAs($id2, 'tag1');
+ $tagManager->tagAs($id3, 'tag1');
+ $tagManager->tagAs($id4, 'tag2');
+ $results = $this->sharedStorage->getCache()->searchByTag('tag1', $userId);
+ $check = array(
+ array(
+ 'name' => 'bar.txt',
+ 'path' => 'bar.txt'
+ ),
+ array(
+ 'name' => 'another too.txt',
+ 'path' => 'subdir/another too.txt'
+ ),
+ array(
+ 'name' => 'not a text file.xml',
+ 'path' => 'subdir/not a text file.xml'
+ ),
+ );
+ $this->verifyFiles($check, $results);
+ $tagManager->delete(array('tag1', 'tag2'));
+ }
+
function testGetFolderContentsInRoot() {
$results = $this->user2View->getDirectoryContent('/');
diff --git a/apps/files_sharing/tests/js/shareSpec.js b/apps/files_sharing/tests/js/shareSpec.js
index 2cf5dc47b63..e5b5de314d7 100644
--- a/apps/files_sharing/tests/js/shareSpec.js
+++ b/apps/files_sharing/tests/js/shareSpec.js
@@ -9,7 +9,6 @@
*/
describe('OCA.Sharing.Util tests', function() {
- var oldFileListPrototype;
var fileList;
var testFiles;
@@ -24,10 +23,6 @@ describe('OCA.Sharing.Util tests', function() {
}
beforeEach(function() {
- // back up prototype, as it will be extended by
- // the sharing code
- oldFileListPrototype = _.extend({}, OCA.Files.FileList.prototype);
-
var $content = $('<div id="content"></div>');
$('#testArea').append($content);
// dummy file list
@@ -41,12 +36,12 @@ describe('OCA.Sharing.Util tests', function() {
$('#content').append($div);
var fileActions = new OCA.Files.FileActions();
- OCA.Sharing.Util.initialize(fileActions);
fileList = new OCA.Files.FileList(
$div, {
fileActions : fileActions
}
);
+ OCA.Sharing.Util.attach(fileList);
testFiles = [{
id: 1,
@@ -67,7 +62,6 @@ describe('OCA.Sharing.Util tests', function() {
};
});
afterEach(function() {
- OCA.Files.FileList.prototype = oldFileListPrototype;
delete OCA.Sharing.sharesLoaded;
delete OC.Share.droppedDown;
fileList.destroy();
@@ -105,7 +99,7 @@ describe('OCA.Sharing.Util tests', function() {
$action = $tr.find('.action-share');
expect($action.hasClass('permanent')).toEqual(false);
expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg');
- expect(OC.basename(getImageUrl($tr.find('.filename')))).toEqual('folder.svg');
+ expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder.svg');
expect($action.find('img').length).toEqual(1);
});
it('shows simple share text with share icon', function() {
@@ -125,7 +119,7 @@ describe('OCA.Sharing.Util tests', function() {
expect($action.hasClass('permanent')).toEqual(true);
expect($action.find('>span').text()).toEqual('Shared');
expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg');
- expect(OC.basename(getImageUrl($tr.find('.filename')))).toEqual('folder-shared.svg');
+ expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-shared.svg');
expect($action.find('img').length).toEqual(1);
});
it('shows simple share text with public icon when shared with link', function() {
@@ -146,7 +140,7 @@ describe('OCA.Sharing.Util tests', function() {
expect($action.hasClass('permanent')).toEqual(true);
expect($action.find('>span').text()).toEqual('Shared');
expect(OC.basename($action.find('img').attr('src'))).toEqual('public.svg');
- expect(OC.basename(getImageUrl($tr.find('.filename')))).toEqual('folder-public.svg');
+ expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-public.svg');
expect($action.find('img').length).toEqual(1);
});
it('shows owner name when owner is available', function() {
@@ -167,7 +161,7 @@ describe('OCA.Sharing.Util tests', function() {
expect($action.hasClass('permanent')).toEqual(true);
expect($action.find('>span').text()).toEqual('User One');
expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg');
- expect(OC.basename(getImageUrl($tr.find('.filename')))).toEqual('folder-shared.svg');
+ expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-shared.svg');
});
it('shows recipients when recipients are available', function() {
var $action, $tr;
@@ -187,7 +181,7 @@ describe('OCA.Sharing.Util tests', function() {
expect($action.hasClass('permanent')).toEqual(true);
expect($action.find('>span').text()).toEqual('Shared with User One, User Two');
expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg');
- expect(OC.basename(getImageUrl($tr.find('.filename')))).toEqual('folder-shared.svg');
+ expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-shared.svg');
expect($action.find('img').length).toEqual(1);
});
it('shows static share text when file shared with user that has no share permission', function() {
@@ -209,7 +203,7 @@ describe('OCA.Sharing.Util tests', function() {
expect($action.hasClass('permanent')).toEqual(true);
expect($action.find('>span').text().trim()).toEqual('User One');
expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg');
- expect(OC.basename(getImageUrl($tr.find('.filename')))).toEqual('folder-shared.svg');
+ expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-shared.svg');
expect($action.find('img').length).toEqual(1);
});
});
diff --git a/apps/files_sharing/tests/js/sharedfilelistSpec.js b/apps/files_sharing/tests/js/sharedfilelistSpec.js
index dc6931af6e8..7fdc6345e38 100644
--- a/apps/files_sharing/tests/js/sharedfilelistSpec.js
+++ b/apps/files_sharing/tests/js/sharedfilelistSpec.js
@@ -9,8 +9,7 @@
*/
describe('OCA.Sharing.FileList tests', function() {
- var testFiles, alertStub, notificationStub, fileList, fileActions;
- var oldFileListPrototype;
+ var testFiles, alertStub, notificationStub, fileList;
beforeEach(function() {
alertStub = sinon.stub(OC.dialogs, 'alert');
@@ -46,18 +45,11 @@ describe('OCA.Sharing.FileList tests', function() {
'<div id="emptycontent">Empty content message</div>' +
'</div>'
);
- // back up prototype, as it will be extended by
- // the sharing code
- oldFileListPrototype = _.extend({}, OCA.Files.FileList.prototype);
- fileActions = new OCA.Files.FileActions();
- OCA.Sharing.Util.initialize(fileActions);
});
afterEach(function() {
- OCA.Files.FileList.prototype = oldFileListPrototype;
testFiles = undefined;
fileList.destroy();
fileList = undefined;
- fileActions = undefined;
notificationStub.restore();
alertStub.restore();
@@ -72,6 +64,7 @@ describe('OCA.Sharing.FileList tests', function() {
sharedWithUser: true
}
);
+ OCA.Sharing.Util.attach(fileList);
fileList.reload();
@@ -193,6 +186,7 @@ describe('OCA.Sharing.FileList tests', function() {
sharedWithUser: false
}
);
+ OCA.Sharing.Util.attach(fileList);
fileList.reload();
@@ -433,6 +427,7 @@ describe('OCA.Sharing.FileList tests', function() {
linksOnly: true
}
);
+ OCA.Sharing.Util.attach(fileList);
fileList.reload();
@@ -575,11 +570,8 @@ describe('OCA.Sharing.FileList tests', function() {
'</div>');
$('#content').append($div);
- fileList = new OCA.Files.FileList(
- $div, {
- fileActions: fileActions
- }
- );
+ fileList = new OCA.Files.FileList($div);
+ OCA.Sharing.Util.attach(fileList);
});
it('external storage root folder', function () {
diff --git a/apps/files_sharing/tests/server2server.php b/apps/files_sharing/tests/server2server.php
new file mode 100644
index 00000000000..7aec0c4951f
--- /dev/null
+++ b/apps/files_sharing/tests/server2server.php
@@ -0,0 +1,102 @@
+<?php
+/**
+ * ownCloud - test server-to-server OCS API
+ *
+ * @copyright (c) ownCloud, Inc.
+ *
+ * @author Bjoern Schiessle <schiessle@owncloud.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library 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 library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+use OCA\Files_Sharing\Tests\TestCase;
+
+/**
+ * Class Test_Files_Sharing_Api
+ */
+class Test_Files_Sharing_S2S_OCS_API extends TestCase {
+
+ const TEST_FOLDER_NAME = '/folder_share_api_test';
+
+ private $s2s;
+
+ protected function setUp() {
+ parent::setUp();
+
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
+ \OCP\Share::registerBackend('test', 'Test_Share_Backend');
+
+ $this->s2s = new \OCA\Files_Sharing\API\Server2Server();
+ }
+
+ protected function tearDown() {
+ $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share_external`');
+ $query->execute();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @medium
+ */
+ function testCreateShare() {
+ // simulate a post request
+ $_POST['remote'] = 'localhost';
+ $_POST['token'] = 'token';
+ $_POST['name'] = 'name';
+ $_POST['owner'] = 'owner';
+ $_POST['shareWith'] = self::TEST_FILES_SHARING_API_USER2;
+ $_POST['remote_id'] = 1;
+
+ $result = $this->s2s->createShare(null);
+
+ $this->assertTrue($result->succeeded());
+
+ $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share_external` WHERE `remote_id` = ?');
+ $result = $query->execute(array('1'));
+ $data = $result->fetchRow();
+
+ $this->assertSame('localhost', $data['remote']);
+ $this->assertSame('token', $data['share_token']);
+ $this->assertSame('/name', $data['name']);
+ $this->assertSame('owner', $data['owner']);
+ $this->assertSame(self::TEST_FILES_SHARING_API_USER2, $data['user']);
+ $this->assertSame(1, (int)$data['remote_id']);
+ $this->assertSame(0, (int)$data['accepted']);
+ }
+
+
+ function testDeclineShare() {
+ $dummy = \OCP\DB::prepare('
+ INSERT INTO `*PREFIX*share`
+ (`share_type`, `uid_owner`, `item_type`, `item_source`, `item_target`, `file_source`, `file_target`, `permissions`, `stime`, `token`)
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+ ');
+ $dummy->execute(array(\OCP\Share::SHARE_TYPE_REMOTE, self::TEST_FILES_SHARING_API_USER1, 'test', '1', '/1', '1', '/test.txt', '1', time(), 'token'));
+
+ $verify = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`');
+ $result = $verify->execute();
+ $data = $result->fetchAll();
+ $this->assertSame(1, count($data));
+
+ $_POST['token'] = 'token';
+ $this->s2s->declineShare(array('id' => $data[0]['id']));
+
+ $verify = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`');
+ $result = $verify->execute();
+ $data = $result->fetchAll();
+ $this->assertEmpty($data);
+ }
+}
diff --git a/apps/files_trashbin/js/app.js b/apps/files_trashbin/js/app.js
index a9727542bad..72d9f4a6771 100644
--- a/apps/files_trashbin/js/app.js
+++ b/apps/files_trashbin/js/app.js
@@ -57,21 +57,34 @@ OCA.Trashbin.App = {
);
}, t('files_trashbin', 'Restore'));
- fileActions.register('all', 'Delete', OC.PERMISSION_READ, function() {
- return OC.imagePath('core', 'actions/delete');
- }, function(filename, context) {
- var fileList = context.fileList;
- $('.tipsy').remove();
- var tr = fileList.findFileEl(filename);
- var deleteAction = tr.children("td.date").children(".action.delete");
- deleteAction.removeClass('icon-delete').addClass('icon-loading-small');
- fileList.disableActions();
- $.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), {
- files: JSON.stringify([filename]),
- dir: fileList.getCurrentDirectory()
- },
- _.bind(fileList._removeCallback, fileList)
- );
+ fileActions.registerAction({
+ name: 'Delete',
+ displayName: '',
+ mime: 'all',
+ permissions: OC.PERMISSION_READ,
+ icon: function() {
+ return OC.imagePath('core', 'actions/delete');
+ },
+ render: function(actionSpec, isDefault, context) {
+ var $actionLink = fileActions._makeActionLink(actionSpec, context);
+ $actionLink.attr('original-title', t('files', 'Delete permanently'));
+ context.$file.find('td:last').append($actionLink);
+ return $actionLink;
+ },
+ actionHandler: function(filename, context) {
+ var fileList = context.fileList;
+ $('.tipsy').remove();
+ var tr = fileList.findFileEl(filename);
+ var deleteAction = tr.children("td.date").children(".action.delete");
+ deleteAction.removeClass('icon-delete').addClass('icon-loading-small');
+ fileList.disableActions();
+ $.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), {
+ files: JSON.stringify([filename]),
+ dir: fileList.getCurrentDirectory()
+ },
+ _.bind(fileList._removeCallback, fileList)
+ );
+ }
});
return fileActions;
}
diff --git a/apps/files_trashbin/js/filelist.js b/apps/files_trashbin/js/filelist.js
index a3631a2d0fe..71b63721897 100644
--- a/apps/files_trashbin/js/filelist.js
+++ b/apps/files_trashbin/js/filelist.js
@@ -64,6 +64,7 @@
return parts;
};
+ OC.Plugins.attach('OCA.Trashbin.FileList', this);
return result;
},
@@ -268,6 +269,10 @@
updateStorageStatistics: function() {
// no op because the trashbin doesn't have
// storage info like free space / used space
+ },
+
+ isSelectedDeletable: function() {
+ return true;
}
});
diff --git a/apps/files_trashbin/l10n/ar.js b/apps/files_trashbin/l10n/ar.js
index 549cac51433..9b7bc835e60 100644
--- a/apps/files_trashbin/l10n/ar.js
+++ b/apps/files_trashbin/l10n/ar.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "تعذّر استرجاع %s ",
"Deleted files" : "حذف الملفات",
"Restore" : "استعيد",
+ "Delete permanently" : "حذف بشكل دائم",
"Error" : "خطأ",
"restored" : "تمت الاستعادة",
"Nothing in here. Your trash bin is empty!" : "لا يوجد شيء هنا. سلة المهملات خاليه.",
diff --git a/apps/files_trashbin/l10n/ar.json b/apps/files_trashbin/l10n/ar.json
index 2c34afb3781..6387483851c 100644
--- a/apps/files_trashbin/l10n/ar.json
+++ b/apps/files_trashbin/l10n/ar.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "تعذّر استرجاع %s ",
"Deleted files" : "حذف الملفات",
"Restore" : "استعيد",
+ "Delete permanently" : "حذف بشكل دائم",
"Error" : "خطأ",
"restored" : "تمت الاستعادة",
"Nothing in here. Your trash bin is empty!" : "لا يوجد شيء هنا. سلة المهملات خاليه.",
diff --git a/apps/files_trashbin/l10n/ast.js b/apps/files_trashbin/l10n/ast.js
index 647602bf46b..a79b96568b0 100644
--- a/apps/files_trashbin/l10n/ast.js
+++ b/apps/files_trashbin/l10n/ast.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nun pudo restaurase %s",
"Deleted files" : "Ficheros desaniciaos",
"Restore" : "Restaurar",
+ "Delete permanently" : "Desaniciar dafechu",
"Error" : "Fallu",
"restored" : "recuperóse",
"Nothing in here. Your trash bin is empty!" : "Nun hai un res equí. La papelera ta balera!",
diff --git a/apps/files_trashbin/l10n/ast.json b/apps/files_trashbin/l10n/ast.json
index 9530d37871e..a17a3e30c37 100644
--- a/apps/files_trashbin/l10n/ast.json
+++ b/apps/files_trashbin/l10n/ast.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nun pudo restaurase %s",
"Deleted files" : "Ficheros desaniciaos",
"Restore" : "Restaurar",
+ "Delete permanently" : "Desaniciar dafechu",
"Error" : "Fallu",
"restored" : "recuperóse",
"Nothing in here. Your trash bin is empty!" : "Nun hai un res equí. La papelera ta balera!",
diff --git a/apps/files_trashbin/l10n/bg_BG.js b/apps/files_trashbin/l10n/bg_BG.js
index f910190faf1..d1eaa8b2260 100644
--- a/apps/files_trashbin/l10n/bg_BG.js
+++ b/apps/files_trashbin/l10n/bg_BG.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Неуспешно възтановяване на %s.",
"Deleted files" : "Изтрити файлове",
"Restore" : "Възстановяви",
+ "Delete permanently" : "Изтрий завинаги",
"Error" : "Грешка",
"restored" : "възстановено",
"Nothing in here. Your trash bin is empty!" : "Няма нищо. Кошчето е празно!",
diff --git a/apps/files_trashbin/l10n/bg_BG.json b/apps/files_trashbin/l10n/bg_BG.json
index 1d8cb72dc2a..aa287e0c212 100644
--- a/apps/files_trashbin/l10n/bg_BG.json
+++ b/apps/files_trashbin/l10n/bg_BG.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Неуспешно възтановяване на %s.",
"Deleted files" : "Изтрити файлове",
"Restore" : "Възстановяви",
+ "Delete permanently" : "Изтрий завинаги",
"Error" : "Грешка",
"restored" : "възстановено",
"Nothing in here. Your trash bin is empty!" : "Няма нищо. Кошчето е празно!",
diff --git a/apps/files_trashbin/l10n/bn_IN.js b/apps/files_trashbin/l10n/bn_IN.js
index eacbbbc76d6..5696acfc0f7 100644
--- a/apps/files_trashbin/l10n/bn_IN.js
+++ b/apps/files_trashbin/l10n/bn_IN.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "%s পুনরুদ্ধার করা যায়নি",
"Deleted files" : "ফাইলস মুছে ফেলা হয়েছে",
"Restore" : "পুনরুদ্ধার",
+ "Delete permanently" : "স্থায়ীভাবে মুছে দিন",
"Error" : "ভুল",
"restored" : "পুনরুদ্ধার করা হয়েছে",
"Nothing in here. Your trash bin is empty!" : "কিছুই নেই এখানে।আপনার ট্র্যাশ বিন খালি!",
diff --git a/apps/files_trashbin/l10n/bn_IN.json b/apps/files_trashbin/l10n/bn_IN.json
index 74a8ca13388..562e85f41f4 100644
--- a/apps/files_trashbin/l10n/bn_IN.json
+++ b/apps/files_trashbin/l10n/bn_IN.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "%s পুনরুদ্ধার করা যায়নি",
"Deleted files" : "ফাইলস মুছে ফেলা হয়েছে",
"Restore" : "পুনরুদ্ধার",
+ "Delete permanently" : "স্থায়ীভাবে মুছে দিন",
"Error" : "ভুল",
"restored" : "পুনরুদ্ধার করা হয়েছে",
"Nothing in here. Your trash bin is empty!" : "কিছুই নেই এখানে।আপনার ট্র্যাশ বিন খালি!",
diff --git a/apps/files_trashbin/l10n/ca.js b/apps/files_trashbin/l10n/ca.js
index 7a31c5c2d9d..3a1a5432fc8 100644
--- a/apps/files_trashbin/l10n/ca.js
+++ b/apps/files_trashbin/l10n/ca.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "No s'ha pogut restaurar %s",
"Deleted files" : "Fitxers esborrats",
"Restore" : "Recupera",
+ "Delete permanently" : "Esborra permanentment",
"Error" : "Error",
"restored" : "restaurat",
"Nothing in here. Your trash bin is empty!" : "La paperera està buida!",
diff --git a/apps/files_trashbin/l10n/ca.json b/apps/files_trashbin/l10n/ca.json
index 586b14d0c57..123514c65ce 100644
--- a/apps/files_trashbin/l10n/ca.json
+++ b/apps/files_trashbin/l10n/ca.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "No s'ha pogut restaurar %s",
"Deleted files" : "Fitxers esborrats",
"Restore" : "Recupera",
+ "Delete permanently" : "Esborra permanentment",
"Error" : "Error",
"restored" : "restaurat",
"Nothing in here. Your trash bin is empty!" : "La paperera està buida!",
diff --git a/apps/files_trashbin/l10n/cs_CZ.js b/apps/files_trashbin/l10n/cs_CZ.js
index 3f8ddfc2235..a150c90289e 100644
--- a/apps/files_trashbin/l10n/cs_CZ.js
+++ b/apps/files_trashbin/l10n/cs_CZ.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nelze obnovit %s",
"Deleted files" : "Odstraněné soubory",
"Restore" : "Obnovit",
+ "Delete permanently" : "Trvale odstranit",
"Error" : "Chyba",
"restored" : "obnoveno",
"Nothing in here. Your trash bin is empty!" : "Žádný obsah. Váš koš je prázdný.",
diff --git a/apps/files_trashbin/l10n/cs_CZ.json b/apps/files_trashbin/l10n/cs_CZ.json
index 628ab047ba8..09a6daa2308 100644
--- a/apps/files_trashbin/l10n/cs_CZ.json
+++ b/apps/files_trashbin/l10n/cs_CZ.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nelze obnovit %s",
"Deleted files" : "Odstraněné soubory",
"Restore" : "Obnovit",
+ "Delete permanently" : "Trvale odstranit",
"Error" : "Chyba",
"restored" : "obnoveno",
"Nothing in here. Your trash bin is empty!" : "Žádný obsah. Váš koš je prázdný.",
diff --git a/apps/files_trashbin/l10n/cy_GB.js b/apps/files_trashbin/l10n/cy_GB.js
index d5ccb0f7415..77366ecbf4a 100644
--- a/apps/files_trashbin/l10n/cy_GB.js
+++ b/apps/files_trashbin/l10n/cy_GB.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Methwyd adfer %s",
"Deleted files" : "Ffeiliau ddilewyd",
"Restore" : "Adfer",
+ "Delete permanently" : "Dileu'n barhaol",
"Error" : "Gwall",
"Nothing in here. Your trash bin is empty!" : "Does dim byd yma. Mae eich bin sbwriel yn wag!",
"Name" : "Enw",
diff --git a/apps/files_trashbin/l10n/cy_GB.json b/apps/files_trashbin/l10n/cy_GB.json
index d82ea580325..f880543c7bf 100644
--- a/apps/files_trashbin/l10n/cy_GB.json
+++ b/apps/files_trashbin/l10n/cy_GB.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Methwyd adfer %s",
"Deleted files" : "Ffeiliau ddilewyd",
"Restore" : "Adfer",
+ "Delete permanently" : "Dileu'n barhaol",
"Error" : "Gwall",
"Nothing in here. Your trash bin is empty!" : "Does dim byd yma. Mae eich bin sbwriel yn wag!",
"Name" : "Enw",
diff --git a/apps/files_trashbin/l10n/da.js b/apps/files_trashbin/l10n/da.js
index 2d24f3749f6..268c6bb56cf 100644
--- a/apps/files_trashbin/l10n/da.js
+++ b/apps/files_trashbin/l10n/da.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Kunne ikke gendanne %s",
"Deleted files" : "Slettede filer",
"Restore" : "Gendan",
+ "Delete permanently" : "Slet permanent",
"Error" : "Fejl",
"restored" : "Gendannet",
"Nothing in here. Your trash bin is empty!" : "Intet at se her. Din papirkurv er tom!",
diff --git a/apps/files_trashbin/l10n/da.json b/apps/files_trashbin/l10n/da.json
index 4fbed5049a9..91098d1ab32 100644
--- a/apps/files_trashbin/l10n/da.json
+++ b/apps/files_trashbin/l10n/da.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Kunne ikke gendanne %s",
"Deleted files" : "Slettede filer",
"Restore" : "Gendan",
+ "Delete permanently" : "Slet permanent",
"Error" : "Fejl",
"restored" : "Gendannet",
"Nothing in here. Your trash bin is empty!" : "Intet at se her. Din papirkurv er tom!",
diff --git a/apps/files_trashbin/l10n/de.js b/apps/files_trashbin/l10n/de.js
index 85274258143..afc2d46857a 100644
--- a/apps/files_trashbin/l10n/de.js
+++ b/apps/files_trashbin/l10n/de.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Konnte %s nicht wiederherstellen",
"Deleted files" : "Gelöschte Dateien",
"Restore" : "Wiederherstellen",
+ "Delete permanently" : "Endgültig löschen",
"Error" : "Fehler",
"restored" : "Wiederhergestellt",
"Nothing in here. Your trash bin is empty!" : "Nichts zu löschen, der Papierkorb ist leer!",
diff --git a/apps/files_trashbin/l10n/de.json b/apps/files_trashbin/l10n/de.json
index 16e3cb2ae79..a40d257bba0 100644
--- a/apps/files_trashbin/l10n/de.json
+++ b/apps/files_trashbin/l10n/de.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Konnte %s nicht wiederherstellen",
"Deleted files" : "Gelöschte Dateien",
"Restore" : "Wiederherstellen",
+ "Delete permanently" : "Endgültig löschen",
"Error" : "Fehler",
"restored" : "Wiederhergestellt",
"Nothing in here. Your trash bin is empty!" : "Nichts zu löschen, der Papierkorb ist leer!",
diff --git a/apps/files_trashbin/l10n/de_DE.js b/apps/files_trashbin/l10n/de_DE.js
index 70a428d4c93..03e4658f83e 100644
--- a/apps/files_trashbin/l10n/de_DE.js
+++ b/apps/files_trashbin/l10n/de_DE.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Konnte %s nicht wiederherstellen",
"Deleted files" : "Gelöschte Dateien",
"Restore" : "Wiederherstellen",
+ "Delete permanently" : "Endgültig löschen",
"Error" : "Fehler",
"restored" : "Wiederhergestellt",
"Nothing in here. Your trash bin is empty!" : "Nichts zu löschen, Ihr Papierkorb ist leer!",
diff --git a/apps/files_trashbin/l10n/de_DE.json b/apps/files_trashbin/l10n/de_DE.json
index 497b6c35d55..b0542332b85 100644
--- a/apps/files_trashbin/l10n/de_DE.json
+++ b/apps/files_trashbin/l10n/de_DE.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Konnte %s nicht wiederherstellen",
"Deleted files" : "Gelöschte Dateien",
"Restore" : "Wiederherstellen",
+ "Delete permanently" : "Endgültig löschen",
"Error" : "Fehler",
"restored" : "Wiederhergestellt",
"Nothing in here. Your trash bin is empty!" : "Nichts zu löschen, Ihr Papierkorb ist leer!",
diff --git a/apps/files_trashbin/l10n/el.js b/apps/files_trashbin/l10n/el.js
index d9902dc8636..4f2ecd0a37c 100644
--- a/apps/files_trashbin/l10n/el.js
+++ b/apps/files_trashbin/l10n/el.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Αδυναμία επαναφοράς %s",
"Deleted files" : "Διεγραμμένα αρχεία",
"Restore" : "Επαναφορά",
+ "Delete permanently" : "Μόνιμη διαγραφή",
"Error" : "Σφάλμα",
"restored" : "επαναφέρθηκαν",
"Nothing in here. Your trash bin is empty!" : "Δεν υπάρχει τίποτα εδώ. Ο κάδος σας είναι άδειος!",
diff --git a/apps/files_trashbin/l10n/el.json b/apps/files_trashbin/l10n/el.json
index 0004fd7242d..6a817cb622a 100644
--- a/apps/files_trashbin/l10n/el.json
+++ b/apps/files_trashbin/l10n/el.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Αδυναμία επαναφοράς %s",
"Deleted files" : "Διεγραμμένα αρχεία",
"Restore" : "Επαναφορά",
+ "Delete permanently" : "Μόνιμη διαγραφή",
"Error" : "Σφάλμα",
"restored" : "επαναφέρθηκαν",
"Nothing in here. Your trash bin is empty!" : "Δεν υπάρχει τίποτα εδώ. Ο κάδος σας είναι άδειος!",
diff --git a/apps/files_trashbin/l10n/en_GB.js b/apps/files_trashbin/l10n/en_GB.js
index 7bd7a49b301..94ed2fe5d21 100644
--- a/apps/files_trashbin/l10n/en_GB.js
+++ b/apps/files_trashbin/l10n/en_GB.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Couldn't restore %s",
"Deleted files" : "Deleted files",
"Restore" : "Restore",
+ "Delete permanently" : "Delete permanently",
"Error" : "Error",
"restored" : "restored",
"Nothing in here. Your trash bin is empty!" : "Nothing in here. Your recycle bin is empty!",
diff --git a/apps/files_trashbin/l10n/en_GB.json b/apps/files_trashbin/l10n/en_GB.json
index 62603ea26ea..35f11fc8c4a 100644
--- a/apps/files_trashbin/l10n/en_GB.json
+++ b/apps/files_trashbin/l10n/en_GB.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Couldn't restore %s",
"Deleted files" : "Deleted files",
"Restore" : "Restore",
+ "Delete permanently" : "Delete permanently",
"Error" : "Error",
"restored" : "restored",
"Nothing in here. Your trash bin is empty!" : "Nothing in here. Your recycle bin is empty!",
diff --git a/apps/files_trashbin/l10n/eo.js b/apps/files_trashbin/l10n/eo.js
index ad4d45a98e0..b5261356d76 100644
--- a/apps/files_trashbin/l10n/eo.js
+++ b/apps/files_trashbin/l10n/eo.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Ne povis restaŭriĝi %s",
"Deleted files" : "Forigitaj dosieroj",
"Restore" : "Restaŭri",
+ "Delete permanently" : "Forigi por ĉiam",
"Error" : "Eraro",
"restored" : "restaŭrita",
"Nothing in here. Your trash bin is empty!" : "Nenio estas ĉi tie. Via rubujo malplenas!",
diff --git a/apps/files_trashbin/l10n/eo.json b/apps/files_trashbin/l10n/eo.json
index 3faebfb80d6..8b4734ff997 100644
--- a/apps/files_trashbin/l10n/eo.json
+++ b/apps/files_trashbin/l10n/eo.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Ne povis restaŭriĝi %s",
"Deleted files" : "Forigitaj dosieroj",
"Restore" : "Restaŭri",
+ "Delete permanently" : "Forigi por ĉiam",
"Error" : "Eraro",
"restored" : "restaŭrita",
"Nothing in here. Your trash bin is empty!" : "Nenio estas ĉi tie. Via rubujo malplenas!",
diff --git a/apps/files_trashbin/l10n/es.js b/apps/files_trashbin/l10n/es.js
index 2df71c43b31..25a327c41f7 100644
--- a/apps/files_trashbin/l10n/es.js
+++ b/apps/files_trashbin/l10n/es.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "No se puede restaurar %s",
"Deleted files" : "Archivos eliminados",
"Restore" : "Recuperar",
+ "Delete permanently" : "Eliminar permanentemente",
"Error" : "Error",
"restored" : "recuperado",
"Nothing in here. Your trash bin is empty!" : "No hay nada aquí. ¡Tu papelera esta vacía!",
diff --git a/apps/files_trashbin/l10n/es.json b/apps/files_trashbin/l10n/es.json
index b37ab9647c8..e7b6928598d 100644
--- a/apps/files_trashbin/l10n/es.json
+++ b/apps/files_trashbin/l10n/es.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "No se puede restaurar %s",
"Deleted files" : "Archivos eliminados",
"Restore" : "Recuperar",
+ "Delete permanently" : "Eliminar permanentemente",
"Error" : "Error",
"restored" : "recuperado",
"Nothing in here. Your trash bin is empty!" : "No hay nada aquí. ¡Tu papelera esta vacía!",
diff --git a/apps/files_trashbin/l10n/es_AR.js b/apps/files_trashbin/l10n/es_AR.js
index e49dae4688a..7b4fd9afc48 100644
--- a/apps/files_trashbin/l10n/es_AR.js
+++ b/apps/files_trashbin/l10n/es_AR.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "No se pudo restaurar %s",
"Deleted files" : "Archivos borrados",
"Restore" : "Recuperar",
+ "Delete permanently" : "Borrar permanentemente",
"Error" : "Error",
"restored" : "recuperado",
"Nothing in here. Your trash bin is empty!" : "No hay nada acá. ¡La papelera está vacía!",
diff --git a/apps/files_trashbin/l10n/es_AR.json b/apps/files_trashbin/l10n/es_AR.json
index 793a1e8b172..b17742a5863 100644
--- a/apps/files_trashbin/l10n/es_AR.json
+++ b/apps/files_trashbin/l10n/es_AR.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "No se pudo restaurar %s",
"Deleted files" : "Archivos borrados",
"Restore" : "Recuperar",
+ "Delete permanently" : "Borrar permanentemente",
"Error" : "Error",
"restored" : "recuperado",
"Nothing in here. Your trash bin is empty!" : "No hay nada acá. ¡La papelera está vacía!",
diff --git a/apps/files_trashbin/l10n/es_MX.js b/apps/files_trashbin/l10n/es_MX.js
index 2df71c43b31..25a327c41f7 100644
--- a/apps/files_trashbin/l10n/es_MX.js
+++ b/apps/files_trashbin/l10n/es_MX.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "No se puede restaurar %s",
"Deleted files" : "Archivos eliminados",
"Restore" : "Recuperar",
+ "Delete permanently" : "Eliminar permanentemente",
"Error" : "Error",
"restored" : "recuperado",
"Nothing in here. Your trash bin is empty!" : "No hay nada aquí. ¡Tu papelera esta vacía!",
diff --git a/apps/files_trashbin/l10n/es_MX.json b/apps/files_trashbin/l10n/es_MX.json
index b37ab9647c8..e7b6928598d 100644
--- a/apps/files_trashbin/l10n/es_MX.json
+++ b/apps/files_trashbin/l10n/es_MX.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "No se puede restaurar %s",
"Deleted files" : "Archivos eliminados",
"Restore" : "Recuperar",
+ "Delete permanently" : "Eliminar permanentemente",
"Error" : "Error",
"restored" : "recuperado",
"Nothing in here. Your trash bin is empty!" : "No hay nada aquí. ¡Tu papelera esta vacía!",
diff --git a/apps/files_trashbin/l10n/et_EE.js b/apps/files_trashbin/l10n/et_EE.js
index 3067589bd9b..f5ebbdc4a62 100644
--- a/apps/files_trashbin/l10n/et_EE.js
+++ b/apps/files_trashbin/l10n/et_EE.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "%s ei saa taastada",
"Deleted files" : "Kustutatud failid",
"Restore" : "Taasta",
+ "Delete permanently" : "Kustuta jäädavalt",
"Error" : "Viga",
"restored" : "taastatud",
"Nothing in here. Your trash bin is empty!" : "Siin pole midagi. Sinu prügikast on tühi!",
diff --git a/apps/files_trashbin/l10n/et_EE.json b/apps/files_trashbin/l10n/et_EE.json
index 2e6d239f421..b3c2f1a6809 100644
--- a/apps/files_trashbin/l10n/et_EE.json
+++ b/apps/files_trashbin/l10n/et_EE.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "%s ei saa taastada",
"Deleted files" : "Kustutatud failid",
"Restore" : "Taasta",
+ "Delete permanently" : "Kustuta jäädavalt",
"Error" : "Viga",
"restored" : "taastatud",
"Nothing in here. Your trash bin is empty!" : "Siin pole midagi. Sinu prügikast on tühi!",
diff --git a/apps/files_trashbin/l10n/eu.js b/apps/files_trashbin/l10n/eu.js
index 747175d830c..e6442ad4d6d 100644
--- a/apps/files_trashbin/l10n/eu.js
+++ b/apps/files_trashbin/l10n/eu.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Ezin izan da %s berreskuratu",
"Deleted files" : "Ezabatutako fitxategiak",
"Restore" : "Berrezarri",
+ "Delete permanently" : "Ezabatu betirako",
"Error" : "Errorea",
"restored" : "Berrezarrita",
"Nothing in here. Your trash bin is empty!" : "Ez dago ezer ez. Zure zakarrontzia hutsik dago!",
diff --git a/apps/files_trashbin/l10n/eu.json b/apps/files_trashbin/l10n/eu.json
index f86ba4230ab..5733ca6ab68 100644
--- a/apps/files_trashbin/l10n/eu.json
+++ b/apps/files_trashbin/l10n/eu.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Ezin izan da %s berreskuratu",
"Deleted files" : "Ezabatutako fitxategiak",
"Restore" : "Berrezarri",
+ "Delete permanently" : "Ezabatu betirako",
"Error" : "Errorea",
"restored" : "Berrezarrita",
"Nothing in here. Your trash bin is empty!" : "Ez dago ezer ez. Zure zakarrontzia hutsik dago!",
diff --git a/apps/files_trashbin/l10n/fa.js b/apps/files_trashbin/l10n/fa.js
index a87d9a5c113..5033d6766a6 100644
--- a/apps/files_trashbin/l10n/fa.js
+++ b/apps/files_trashbin/l10n/fa.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "%s را نمی توان بازگرداند",
"Deleted files" : "فایل های حذف شده",
"Restore" : "بازیابی",
+ "Delete permanently" : "حذف قطعی",
"Error" : "خطا",
"restored" : "بازیابی شد",
"Nothing in here. Your trash bin is empty!" : "هیچ چیزی اینجا نیست. سطل زباله ی شما خالی است.",
diff --git a/apps/files_trashbin/l10n/fa.json b/apps/files_trashbin/l10n/fa.json
index 94748c98899..73a55b1a86d 100644
--- a/apps/files_trashbin/l10n/fa.json
+++ b/apps/files_trashbin/l10n/fa.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "%s را نمی توان بازگرداند",
"Deleted files" : "فایل های حذف شده",
"Restore" : "بازیابی",
+ "Delete permanently" : "حذف قطعی",
"Error" : "خطا",
"restored" : "بازیابی شد",
"Nothing in here. Your trash bin is empty!" : "هیچ چیزی اینجا نیست. سطل زباله ی شما خالی است.",
diff --git a/apps/files_trashbin/l10n/fi_FI.js b/apps/files_trashbin/l10n/fi_FI.js
index 1b69bf5c75f..03e20473f2c 100644
--- a/apps/files_trashbin/l10n/fi_FI.js
+++ b/apps/files_trashbin/l10n/fi_FI.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Kohteen %s palautus epäonnistui",
"Deleted files" : "Poistetut tiedostot",
"Restore" : "Palauta",
+ "Delete permanently" : "Poista pysyvästi",
"Error" : "Virhe",
"restored" : "palautettu",
"Nothing in here. Your trash bin is empty!" : "Tyhjää täynnä! Roskakorissa ei ole mitään.",
diff --git a/apps/files_trashbin/l10n/fi_FI.json b/apps/files_trashbin/l10n/fi_FI.json
index 25b3d71dced..91fc4028f92 100644
--- a/apps/files_trashbin/l10n/fi_FI.json
+++ b/apps/files_trashbin/l10n/fi_FI.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Kohteen %s palautus epäonnistui",
"Deleted files" : "Poistetut tiedostot",
"Restore" : "Palauta",
+ "Delete permanently" : "Poista pysyvästi",
"Error" : "Virhe",
"restored" : "palautettu",
"Nothing in here. Your trash bin is empty!" : "Tyhjää täynnä! Roskakorissa ei ole mitään.",
diff --git a/apps/files_trashbin/l10n/fr.js b/apps/files_trashbin/l10n/fr.js
index ddcdc495de5..f8fea6d35a7 100644
--- a/apps/files_trashbin/l10n/fr.js
+++ b/apps/files_trashbin/l10n/fr.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Impossible de restaurer %s",
"Deleted files" : "Fichiers supprimés",
"Restore" : "Restaurer",
+ "Delete permanently" : "Supprimer de façon définitive",
"Error" : "Erreur",
"restored" : "restauré",
"Nothing in here. Your trash bin is empty!" : "Il n'y a rien ici. Votre corbeille est vide !",
diff --git a/apps/files_trashbin/l10n/fr.json b/apps/files_trashbin/l10n/fr.json
index bc6cda70713..208be4b7be9 100644
--- a/apps/files_trashbin/l10n/fr.json
+++ b/apps/files_trashbin/l10n/fr.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Impossible de restaurer %s",
"Deleted files" : "Fichiers supprimés",
"Restore" : "Restaurer",
+ "Delete permanently" : "Supprimer de façon définitive",
"Error" : "Erreur",
"restored" : "restauré",
"Nothing in here. Your trash bin is empty!" : "Il n'y a rien ici. Votre corbeille est vide !",
diff --git a/apps/files_trashbin/l10n/gl.js b/apps/files_trashbin/l10n/gl.js
index 701c1354dfd..036534aac2d 100644
--- a/apps/files_trashbin/l10n/gl.js
+++ b/apps/files_trashbin/l10n/gl.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Non foi posíbel restaurar %s",
"Deleted files" : "Ficheiros eliminados",
"Restore" : "Restabelecer",
+ "Delete permanently" : "Eliminar permanentemente",
"Error" : "Erro",
"restored" : "restaurado",
"Nothing in here. Your trash bin is empty!" : "Aquí non hai nada. O cesto do lixo está baleiro!",
diff --git a/apps/files_trashbin/l10n/gl.json b/apps/files_trashbin/l10n/gl.json
index 74ac40c4f32..790cfa21506 100644
--- a/apps/files_trashbin/l10n/gl.json
+++ b/apps/files_trashbin/l10n/gl.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Non foi posíbel restaurar %s",
"Deleted files" : "Ficheiros eliminados",
"Restore" : "Restabelecer",
+ "Delete permanently" : "Eliminar permanentemente",
"Error" : "Erro",
"restored" : "restaurado",
"Nothing in here. Your trash bin is empty!" : "Aquí non hai nada. O cesto do lixo está baleiro!",
diff --git a/apps/files_trashbin/l10n/he.js b/apps/files_trashbin/l10n/he.js
index ea5d131a9e4..0482241e92a 100644
--- a/apps/files_trashbin/l10n/he.js
+++ b/apps/files_trashbin/l10n/he.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "לא ניתן לשחזר את %s",
"Deleted files" : "קבצים שנמחקו",
"Restore" : "שחזור",
+ "Delete permanently" : "מחיקה לצמיתות",
"Error" : "שגיאה",
"restored" : "שוחזר",
"Nothing in here. Your trash bin is empty!" : "אין כאן שום דבר. סל המיחזור שלך ריק!",
diff --git a/apps/files_trashbin/l10n/he.json b/apps/files_trashbin/l10n/he.json
index d0db85c41b9..621c785c17e 100644
--- a/apps/files_trashbin/l10n/he.json
+++ b/apps/files_trashbin/l10n/he.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "לא ניתן לשחזר את %s",
"Deleted files" : "קבצים שנמחקו",
"Restore" : "שחזור",
+ "Delete permanently" : "מחיקה לצמיתות",
"Error" : "שגיאה",
"restored" : "שוחזר",
"Nothing in here. Your trash bin is empty!" : "אין כאן שום דבר. סל המיחזור שלך ריק!",
diff --git a/apps/files_trashbin/l10n/hr.js b/apps/files_trashbin/l10n/hr.js
index e05fde1c8a6..56a26005882 100644
--- a/apps/files_trashbin/l10n/hr.js
+++ b/apps/files_trashbin/l10n/hr.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nije moguće obnoviti %s",
"Deleted files" : "Izbrisane datoteke",
"Restore" : "Obnovite",
+ "Delete permanently" : "Trajno izbrišite",
"Error" : "Pogreška",
"restored" : "Obnovljeno",
"Nothing in here. Your trash bin is empty!" : "Ovdje nema ničega. Vaša kantica je prazna!",
diff --git a/apps/files_trashbin/l10n/hr.json b/apps/files_trashbin/l10n/hr.json
index 7ce4749b133..f1b5f0bd291 100644
--- a/apps/files_trashbin/l10n/hr.json
+++ b/apps/files_trashbin/l10n/hr.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nije moguće obnoviti %s",
"Deleted files" : "Izbrisane datoteke",
"Restore" : "Obnovite",
+ "Delete permanently" : "Trajno izbrišite",
"Error" : "Pogreška",
"restored" : "Obnovljeno",
"Nothing in here. Your trash bin is empty!" : "Ovdje nema ničega. Vaša kantica je prazna!",
diff --git a/apps/files_trashbin/l10n/hu_HU.js b/apps/files_trashbin/l10n/hu_HU.js
index cd057777275..fc28d0edd37 100644
--- a/apps/files_trashbin/l10n/hu_HU.js
+++ b/apps/files_trashbin/l10n/hu_HU.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nem sikerült %s visszaállítása",
"Deleted files" : "Törölt fájlok",
"Restore" : "Visszaállítás",
+ "Delete permanently" : "Végleges törlés",
"Error" : "Hiba",
"restored" : "visszaállítva",
"Nothing in here. Your trash bin is empty!" : "Itt nincs semmi. Az Ön szemetes mappája üres!",
diff --git a/apps/files_trashbin/l10n/hu_HU.json b/apps/files_trashbin/l10n/hu_HU.json
index f989f402328..529b1131c28 100644
--- a/apps/files_trashbin/l10n/hu_HU.json
+++ b/apps/files_trashbin/l10n/hu_HU.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nem sikerült %s visszaállítása",
"Deleted files" : "Törölt fájlok",
"Restore" : "Visszaállítás",
+ "Delete permanently" : "Végleges törlés",
"Error" : "Hiba",
"restored" : "visszaállítva",
"Nothing in here. Your trash bin is empty!" : "Itt nincs semmi. Az Ön szemetes mappája üres!",
diff --git a/apps/files_trashbin/l10n/id.js b/apps/files_trashbin/l10n/id.js
index 6e13e455591..77da59b8b5a 100644
--- a/apps/files_trashbin/l10n/id.js
+++ b/apps/files_trashbin/l10n/id.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Tidak dapat memulihkan %s",
"Deleted files" : "Berkas yang dihapus",
"Restore" : "Pulihkan",
+ "Delete permanently" : "Hapus secara permanen",
"Error" : "Galat",
"Nothing in here. Your trash bin is empty!" : "Tempat sampah anda kosong!",
"Name" : "Nama",
diff --git a/apps/files_trashbin/l10n/id.json b/apps/files_trashbin/l10n/id.json
index f29df5cd07e..88917093634 100644
--- a/apps/files_trashbin/l10n/id.json
+++ b/apps/files_trashbin/l10n/id.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Tidak dapat memulihkan %s",
"Deleted files" : "Berkas yang dihapus",
"Restore" : "Pulihkan",
+ "Delete permanently" : "Hapus secara permanen",
"Error" : "Galat",
"Nothing in here. Your trash bin is empty!" : "Tempat sampah anda kosong!",
"Name" : "Nama",
diff --git a/apps/files_trashbin/l10n/it.js b/apps/files_trashbin/l10n/it.js
index 5e57848c479..c9db2daa497 100644
--- a/apps/files_trashbin/l10n/it.js
+++ b/apps/files_trashbin/l10n/it.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Impossibile ripristinare %s",
"Deleted files" : "File eliminati",
"Restore" : "Ripristina",
+ "Delete permanently" : "Elimina definitivamente",
"Error" : "Errore",
"restored" : "ripristinati",
"Nothing in here. Your trash bin is empty!" : "Qui non c'è niente. Il tuo cestino è vuoto.",
diff --git a/apps/files_trashbin/l10n/it.json b/apps/files_trashbin/l10n/it.json
index 25efb47a65a..bfd29454f2d 100644
--- a/apps/files_trashbin/l10n/it.json
+++ b/apps/files_trashbin/l10n/it.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Impossibile ripristinare %s",
"Deleted files" : "File eliminati",
"Restore" : "Ripristina",
+ "Delete permanently" : "Elimina definitivamente",
"Error" : "Errore",
"restored" : "ripristinati",
"Nothing in here. Your trash bin is empty!" : "Qui non c'è niente. Il tuo cestino è vuoto.",
diff --git a/apps/files_trashbin/l10n/ja.js b/apps/files_trashbin/l10n/ja.js
index dba8442c5d4..8263cb74b2f 100644
--- a/apps/files_trashbin/l10n/ja.js
+++ b/apps/files_trashbin/l10n/ja.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "%s を復元できませんでした",
"Deleted files" : "ゴミ箱",
"Restore" : "復元",
+ "Delete permanently" : "完全に削除する",
"Error" : "エラー",
"restored" : "復元済",
"Nothing in here. Your trash bin is empty!" : "ここには何もありません。ゴミ箱は空です!",
diff --git a/apps/files_trashbin/l10n/ja.json b/apps/files_trashbin/l10n/ja.json
index cd6f6c37e12..b95a8d3c8d1 100644
--- a/apps/files_trashbin/l10n/ja.json
+++ b/apps/files_trashbin/l10n/ja.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "%s を復元できませんでした",
"Deleted files" : "ゴミ箱",
"Restore" : "復元",
+ "Delete permanently" : "完全に削除する",
"Error" : "エラー",
"restored" : "復元済",
"Nothing in here. Your trash bin is empty!" : "ここには何もありません。ゴミ箱は空です!",
diff --git a/apps/files_trashbin/l10n/ka_GE.js b/apps/files_trashbin/l10n/ka_GE.js
index 49f9fd4b0b0..6238dd4f2d5 100644
--- a/apps/files_trashbin/l10n/ka_GE.js
+++ b/apps/files_trashbin/l10n/ka_GE.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "%s–ის აღდგენა ვერ მოხერხდა",
"Deleted files" : "წაშლილი ფაილები",
"Restore" : "აღდგენა",
+ "Delete permanently" : "სრულად წაშლა",
"Error" : "შეცდომა",
"Nothing in here. Your trash bin is empty!" : "აქ არაფერი არ არის. სანაგვე ყუთი ცარიელია!",
"Name" : "სახელი",
diff --git a/apps/files_trashbin/l10n/ka_GE.json b/apps/files_trashbin/l10n/ka_GE.json
index 98b165a02dd..f2a5c068a2c 100644
--- a/apps/files_trashbin/l10n/ka_GE.json
+++ b/apps/files_trashbin/l10n/ka_GE.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "%s–ის აღდგენა ვერ მოხერხდა",
"Deleted files" : "წაშლილი ფაილები",
"Restore" : "აღდგენა",
+ "Delete permanently" : "სრულად წაშლა",
"Error" : "შეცდომა",
"Nothing in here. Your trash bin is empty!" : "აქ არაფერი არ არის. სანაგვე ყუთი ცარიელია!",
"Name" : "სახელი",
diff --git a/apps/files_trashbin/l10n/km.js b/apps/files_trashbin/l10n/km.js
index a5bac8c2bd6..945a3b704de 100644
--- a/apps/files_trashbin/l10n/km.js
+++ b/apps/files_trashbin/l10n/km.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "មិន​អាច​ស្ដារ %s ឡើង​វិញ​បាន​ទេ",
"Deleted files" : "ឯកសារ​ដែល​បាន​លុប",
"Restore" : "ស្ដារ​មក​វិញ",
+ "Delete permanently" : "លុប​ជា​អចិន្ត្រៃយ៍",
"Error" : "កំហុស",
"restored" : "បាន​ស្ដារ​វិញ",
"Nothing in here. Your trash bin is empty!" : "គ្មាន​អ្វី​នៅ​ទីនេះ​ទេ។ ធុង​សំរាម​របស់​អ្នក​គឺ​ទទេ!",
diff --git a/apps/files_trashbin/l10n/km.json b/apps/files_trashbin/l10n/km.json
index bda740966e8..39ba9fada5c 100644
--- a/apps/files_trashbin/l10n/km.json
+++ b/apps/files_trashbin/l10n/km.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "មិន​អាច​ស្ដារ %s ឡើង​វិញ​បាន​ទេ",
"Deleted files" : "ឯកសារ​ដែល​បាន​លុប",
"Restore" : "ស្ដារ​មក​វិញ",
+ "Delete permanently" : "លុប​ជា​អចិន្ត្រៃយ៍",
"Error" : "កំហុស",
"restored" : "បាន​ស្ដារ​វិញ",
"Nothing in here. Your trash bin is empty!" : "គ្មាន​អ្វី​នៅ​ទីនេះ​ទេ។ ធុង​សំរាម​របស់​អ្នក​គឺ​ទទេ!",
diff --git a/apps/files_trashbin/l10n/ko.js b/apps/files_trashbin/l10n/ko.js
index 6f3f68cc666..0f6f0f47214 100644
--- a/apps/files_trashbin/l10n/ko.js
+++ b/apps/files_trashbin/l10n/ko.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "%s을(를) 복원할 수 없습니다",
"Deleted files" : "삭제된 파일",
"Restore" : "복원",
+ "Delete permanently" : "영구히 삭제",
"Error" : "오류",
"restored" : "복원됨",
"Nothing in here. Your trash bin is empty!" : "휴지통이 비어 있습니다!",
diff --git a/apps/files_trashbin/l10n/ko.json b/apps/files_trashbin/l10n/ko.json
index 834c798fb7f..e43f2edfd0e 100644
--- a/apps/files_trashbin/l10n/ko.json
+++ b/apps/files_trashbin/l10n/ko.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "%s을(를) 복원할 수 없습니다",
"Deleted files" : "삭제된 파일",
"Restore" : "복원",
+ "Delete permanently" : "영구히 삭제",
"Error" : "오류",
"restored" : "복원됨",
"Nothing in here. Your trash bin is empty!" : "휴지통이 비어 있습니다!",
diff --git a/apps/files_trashbin/l10n/lt_LT.js b/apps/files_trashbin/l10n/lt_LT.js
index b7a43703e83..8e6cfafd2cd 100644
--- a/apps/files_trashbin/l10n/lt_LT.js
+++ b/apps/files_trashbin/l10n/lt_LT.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nepavyko atkurti %s",
"Deleted files" : "Ištrinti failai",
"Restore" : "Atstatyti",
+ "Delete permanently" : "Ištrinti negrįžtamai",
"Error" : "Klaida",
"restored" : "atstatyta",
"Nothing in here. Your trash bin is empty!" : "Nieko nėra. Jūsų šiukšliadėžė tuščia!",
diff --git a/apps/files_trashbin/l10n/lt_LT.json b/apps/files_trashbin/l10n/lt_LT.json
index 7c572ddc20d..05a435a3845 100644
--- a/apps/files_trashbin/l10n/lt_LT.json
+++ b/apps/files_trashbin/l10n/lt_LT.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nepavyko atkurti %s",
"Deleted files" : "Ištrinti failai",
"Restore" : "Atstatyti",
+ "Delete permanently" : "Ištrinti negrįžtamai",
"Error" : "Klaida",
"restored" : "atstatyta",
"Nothing in here. Your trash bin is empty!" : "Nieko nėra. Jūsų šiukšliadėžė tuščia!",
diff --git a/apps/files_trashbin/l10n/lv.js b/apps/files_trashbin/l10n/lv.js
index 463be504d54..e5c56baec2b 100644
--- a/apps/files_trashbin/l10n/lv.js
+++ b/apps/files_trashbin/l10n/lv.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nevarēja atjaunot %s",
"Deleted files" : "Dzēstās datnes",
"Restore" : "Atjaunot",
+ "Delete permanently" : "Dzēst pavisam",
"Error" : "Kļūda",
"restored" : "atjaunots",
"Nothing in here. Your trash bin is empty!" : "Šeit nekā nav. Jūsu miskaste ir tukša!",
diff --git a/apps/files_trashbin/l10n/lv.json b/apps/files_trashbin/l10n/lv.json
index ad0e2aa9842..2e4936a22db 100644
--- a/apps/files_trashbin/l10n/lv.json
+++ b/apps/files_trashbin/l10n/lv.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nevarēja atjaunot %s",
"Deleted files" : "Dzēstās datnes",
"Restore" : "Atjaunot",
+ "Delete permanently" : "Dzēst pavisam",
"Error" : "Kļūda",
"restored" : "atjaunots",
"Nothing in here. Your trash bin is empty!" : "Šeit nekā nav. Jūsu miskaste ir tukša!",
diff --git a/apps/files_trashbin/l10n/mk.js b/apps/files_trashbin/l10n/mk.js
index 6d74f64e37c..7a1badfabc7 100644
--- a/apps/files_trashbin/l10n/mk.js
+++ b/apps/files_trashbin/l10n/mk.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Не можеше да се поврати %s",
"Deleted files" : "Избришани датотеки",
"Restore" : "Поврати",
+ "Delete permanently" : "Трајно избришани",
"Error" : "Грешка",
"restored" : "повратени",
"Nothing in here. Your trash bin is empty!" : "Тука нема ништо. Вашата корпа за отпадоци е празна!",
diff --git a/apps/files_trashbin/l10n/mk.json b/apps/files_trashbin/l10n/mk.json
index 45eef9bfd61..cb7469fe181 100644
--- a/apps/files_trashbin/l10n/mk.json
+++ b/apps/files_trashbin/l10n/mk.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Не можеше да се поврати %s",
"Deleted files" : "Избришани датотеки",
"Restore" : "Поврати",
+ "Delete permanently" : "Трајно избришани",
"Error" : "Грешка",
"restored" : "повратени",
"Nothing in here. Your trash bin is empty!" : "Тука нема ништо. Вашата корпа за отпадоци е празна!",
diff --git a/apps/files_trashbin/l10n/nb_NO.js b/apps/files_trashbin/l10n/nb_NO.js
index b5c2821a305..9a5a8c04b4a 100644
--- a/apps/files_trashbin/l10n/nb_NO.js
+++ b/apps/files_trashbin/l10n/nb_NO.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Kunne ikke gjenopprette %s",
"Deleted files" : "Slettede filer",
"Restore" : "Gjenopprett",
+ "Delete permanently" : "Slett permanent",
"Error" : "Feil",
"restored" : "gjenopprettet",
"Nothing in here. Your trash bin is empty!" : "Ingenting her. Søppelkassen din er tom!",
diff --git a/apps/files_trashbin/l10n/nb_NO.json b/apps/files_trashbin/l10n/nb_NO.json
index a671f461155..29e218ffe6e 100644
--- a/apps/files_trashbin/l10n/nb_NO.json
+++ b/apps/files_trashbin/l10n/nb_NO.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Kunne ikke gjenopprette %s",
"Deleted files" : "Slettede filer",
"Restore" : "Gjenopprett",
+ "Delete permanently" : "Slett permanent",
"Error" : "Feil",
"restored" : "gjenopprettet",
"Nothing in here. Your trash bin is empty!" : "Ingenting her. Søppelkassen din er tom!",
diff --git a/apps/files_trashbin/l10n/nl.js b/apps/files_trashbin/l10n/nl.js
index 3bd48a07eff..b465c681f8a 100644
--- a/apps/files_trashbin/l10n/nl.js
+++ b/apps/files_trashbin/l10n/nl.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Kon %s niet herstellen",
"Deleted files" : "Verwijderde bestanden",
"Restore" : "Herstellen",
+ "Delete permanently" : "Definitief verwijderen",
"Error" : "Fout",
"restored" : "hersteld",
"Nothing in here. Your trash bin is empty!" : "Niets te vinden. Uw prullenbak is leeg!",
diff --git a/apps/files_trashbin/l10n/nl.json b/apps/files_trashbin/l10n/nl.json
index 5d4134ed1ce..4bb2f9cc38b 100644
--- a/apps/files_trashbin/l10n/nl.json
+++ b/apps/files_trashbin/l10n/nl.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Kon %s niet herstellen",
"Deleted files" : "Verwijderde bestanden",
"Restore" : "Herstellen",
+ "Delete permanently" : "Definitief verwijderen",
"Error" : "Fout",
"restored" : "hersteld",
"Nothing in here. Your trash bin is empty!" : "Niets te vinden. Uw prullenbak is leeg!",
diff --git a/apps/files_trashbin/l10n/nn_NO.js b/apps/files_trashbin/l10n/nn_NO.js
index 2c42392757d..2b8cdf074c2 100644
--- a/apps/files_trashbin/l10n/nn_NO.js
+++ b/apps/files_trashbin/l10n/nn_NO.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Klarte ikkje gjenoppretta %s",
"Deleted files" : "Sletta filer",
"Restore" : "Gjenopprett",
+ "Delete permanently" : "Slett for godt",
"Error" : "Feil",
"restored" : "gjenoppretta",
"Nothing in here. Your trash bin is empty!" : "Ingenting her. Papirkorga di er tom!",
diff --git a/apps/files_trashbin/l10n/nn_NO.json b/apps/files_trashbin/l10n/nn_NO.json
index f5fe09fa06e..33483807394 100644
--- a/apps/files_trashbin/l10n/nn_NO.json
+++ b/apps/files_trashbin/l10n/nn_NO.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Klarte ikkje gjenoppretta %s",
"Deleted files" : "Sletta filer",
"Restore" : "Gjenopprett",
+ "Delete permanently" : "Slett for godt",
"Error" : "Feil",
"restored" : "gjenoppretta",
"Nothing in here. Your trash bin is empty!" : "Ingenting her. Papirkorga di er tom!",
diff --git a/apps/files_trashbin/l10n/pl.js b/apps/files_trashbin/l10n/pl.js
index 13053c3bae4..1ce30e81254 100644
--- a/apps/files_trashbin/l10n/pl.js
+++ b/apps/files_trashbin/l10n/pl.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nie można przywrócić %s",
"Deleted files" : "Usunięte pliki",
"Restore" : "Przywróć",
+ "Delete permanently" : "Trwale usuń",
"Error" : "Błąd",
"restored" : "przywrócony",
"Nothing in here. Your trash bin is empty!" : "Nic tu nie ma. Twój kosz jest pusty!",
diff --git a/apps/files_trashbin/l10n/pl.json b/apps/files_trashbin/l10n/pl.json
index edb0a2daafa..23b986d911d 100644
--- a/apps/files_trashbin/l10n/pl.json
+++ b/apps/files_trashbin/l10n/pl.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nie można przywrócić %s",
"Deleted files" : "Usunięte pliki",
"Restore" : "Przywróć",
+ "Delete permanently" : "Trwale usuń",
"Error" : "Błąd",
"restored" : "przywrócony",
"Nothing in here. Your trash bin is empty!" : "Nic tu nie ma. Twój kosz jest pusty!",
diff --git a/apps/files_trashbin/l10n/pt_BR.js b/apps/files_trashbin/l10n/pt_BR.js
index f1b7e447381..b915b181c3f 100644
--- a/apps/files_trashbin/l10n/pt_BR.js
+++ b/apps/files_trashbin/l10n/pt_BR.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Não foi possível restaurar %s",
"Deleted files" : "Arquivos apagados",
"Restore" : "Restaurar",
+ "Delete permanently" : "Excluir permanentemente",
"Error" : "Erro",
"restored" : "restaurado",
"Nothing in here. Your trash bin is empty!" : "Nada aqui. Sua lixeira está vazia!",
diff --git a/apps/files_trashbin/l10n/pt_BR.json b/apps/files_trashbin/l10n/pt_BR.json
index 801f91f18bd..6dd20a39a21 100644
--- a/apps/files_trashbin/l10n/pt_BR.json
+++ b/apps/files_trashbin/l10n/pt_BR.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Não foi possível restaurar %s",
"Deleted files" : "Arquivos apagados",
"Restore" : "Restaurar",
+ "Delete permanently" : "Excluir permanentemente",
"Error" : "Erro",
"restored" : "restaurado",
"Nothing in here. Your trash bin is empty!" : "Nada aqui. Sua lixeira está vazia!",
diff --git a/apps/files_trashbin/l10n/pt_PT.js b/apps/files_trashbin/l10n/pt_PT.js
index 303c8ad8c37..b631913c60a 100644
--- a/apps/files_trashbin/l10n/pt_PT.js
+++ b/apps/files_trashbin/l10n/pt_PT.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Não foi possível restaurar %s",
"Deleted files" : "Ficheiros eliminados",
"Restore" : "Restaurar",
+ "Delete permanently" : "Apagar Para Sempre",
"Error" : "Erro",
"restored" : "Restaurado",
"Nothing in here. Your trash bin is empty!" : "Não existe nada aqui. O seu caixote de lixo está vazio!",
diff --git a/apps/files_trashbin/l10n/pt_PT.json b/apps/files_trashbin/l10n/pt_PT.json
index 431c381074a..2cb149a1ef9 100644
--- a/apps/files_trashbin/l10n/pt_PT.json
+++ b/apps/files_trashbin/l10n/pt_PT.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Não foi possível restaurar %s",
"Deleted files" : "Ficheiros eliminados",
"Restore" : "Restaurar",
+ "Delete permanently" : "Apagar Para Sempre",
"Error" : "Erro",
"restored" : "Restaurado",
"Nothing in here. Your trash bin is empty!" : "Não existe nada aqui. O seu caixote de lixo está vazio!",
diff --git a/apps/files_trashbin/l10n/ro.js b/apps/files_trashbin/l10n/ro.js
index c0ba5741695..0feb1e8e721 100644
--- a/apps/files_trashbin/l10n/ro.js
+++ b/apps/files_trashbin/l10n/ro.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Sterge fisierele",
"Restore" : "Restabilire",
+ "Delete permanently" : "Șterge permanent",
"Error" : "Eroare",
"Name" : "Nume",
"Delete" : "Șterge"
diff --git a/apps/files_trashbin/l10n/ro.json b/apps/files_trashbin/l10n/ro.json
index d0c02197e46..758dc748460 100644
--- a/apps/files_trashbin/l10n/ro.json
+++ b/apps/files_trashbin/l10n/ro.json
@@ -1,6 +1,7 @@
{ "translations": {
"Deleted files" : "Sterge fisierele",
"Restore" : "Restabilire",
+ "Delete permanently" : "Șterge permanent",
"Error" : "Eroare",
"Name" : "Nume",
"Delete" : "Șterge"
diff --git a/apps/files_trashbin/l10n/ru.js b/apps/files_trashbin/l10n/ru.js
index dbb2df1f704..8b7d15d0c20 100644
--- a/apps/files_trashbin/l10n/ru.js
+++ b/apps/files_trashbin/l10n/ru.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "%s не может быть восстановлен",
"Deleted files" : "Удалённые файлы",
"Restore" : "Восстановить",
+ "Delete permanently" : "Удалить окончательно",
"Error" : "Ошибка",
"restored" : "восстановлен",
"Nothing in here. Your trash bin is empty!" : "Здесь ничего нет. Ваша корзина пуста!",
diff --git a/apps/files_trashbin/l10n/ru.json b/apps/files_trashbin/l10n/ru.json
index 3e67045967d..a1c6390719a 100644
--- a/apps/files_trashbin/l10n/ru.json
+++ b/apps/files_trashbin/l10n/ru.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "%s не может быть восстановлен",
"Deleted files" : "Удалённые файлы",
"Restore" : "Восстановить",
+ "Delete permanently" : "Удалить окончательно",
"Error" : "Ошибка",
"restored" : "восстановлен",
"Nothing in here. Your trash bin is empty!" : "Здесь ничего нет. Ваша корзина пуста!",
diff --git a/apps/files_trashbin/l10n/sk_SK.js b/apps/files_trashbin/l10n/sk_SK.js
index 9069b4ea509..e01e00994ba 100644
--- a/apps/files_trashbin/l10n/sk_SK.js
+++ b/apps/files_trashbin/l10n/sk_SK.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nemožno obnoviť %s",
"Deleted files" : "Zmazané súbory",
"Restore" : "Obnoviť",
+ "Delete permanently" : "Zmazať trvalo",
"Error" : "Chyba",
"restored" : "obnovené",
"Nothing in here. Your trash bin is empty!" : "Žiadny obsah. Kôš je prázdny!",
diff --git a/apps/files_trashbin/l10n/sk_SK.json b/apps/files_trashbin/l10n/sk_SK.json
index e3b95e1d591..391d68c256a 100644
--- a/apps/files_trashbin/l10n/sk_SK.json
+++ b/apps/files_trashbin/l10n/sk_SK.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nemožno obnoviť %s",
"Deleted files" : "Zmazané súbory",
"Restore" : "Obnoviť",
+ "Delete permanently" : "Zmazať trvalo",
"Error" : "Chyba",
"restored" : "obnovené",
"Nothing in here. Your trash bin is empty!" : "Žiadny obsah. Kôš je prázdny!",
diff --git a/apps/files_trashbin/l10n/sl.js b/apps/files_trashbin/l10n/sl.js
index 60cecde1cb8..5ce1c88fa01 100644
--- a/apps/files_trashbin/l10n/sl.js
+++ b/apps/files_trashbin/l10n/sl.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Ni mogoče obnoviti %s",
"Deleted files" : "Izbrisane datoteke",
"Restore" : "Obnovi",
+ "Delete permanently" : "Izbriši dokončno",
"Error" : "Napaka",
"restored" : "obnovljeno",
"Nothing in here. Your trash bin is empty!" : "Mapa smeti je prazna.",
diff --git a/apps/files_trashbin/l10n/sl.json b/apps/files_trashbin/l10n/sl.json
index 0431bb30997..64a7330f04f 100644
--- a/apps/files_trashbin/l10n/sl.json
+++ b/apps/files_trashbin/l10n/sl.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Ni mogoče obnoviti %s",
"Deleted files" : "Izbrisane datoteke",
"Restore" : "Obnovi",
+ "Delete permanently" : "Izbriši dokončno",
"Error" : "Napaka",
"restored" : "obnovljeno",
"Nothing in here. Your trash bin is empty!" : "Mapa smeti je prazna.",
diff --git a/apps/files_trashbin/l10n/sq.js b/apps/files_trashbin/l10n/sq.js
index 6c4e2b4461f..159a1ca38ad 100644
--- a/apps/files_trashbin/l10n/sq.js
+++ b/apps/files_trashbin/l10n/sq.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Nuk munda ta rivendos %s",
"Deleted files" : "Skedarë të fshirë ",
"Restore" : "Rivendos",
+ "Delete permanently" : "Fshi përfundimisht",
"Error" : "Veprim i gabuar",
"restored" : "rivendosur",
"Nothing in here. Your trash bin is empty!" : "Këtu nuk ka asgjë. Koshi juaj është bosh!",
diff --git a/apps/files_trashbin/l10n/sq.json b/apps/files_trashbin/l10n/sq.json
index fc766582d5f..7f687ef404c 100644
--- a/apps/files_trashbin/l10n/sq.json
+++ b/apps/files_trashbin/l10n/sq.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Nuk munda ta rivendos %s",
"Deleted files" : "Skedarë të fshirë ",
"Restore" : "Rivendos",
+ "Delete permanently" : "Fshi përfundimisht",
"Error" : "Veprim i gabuar",
"restored" : "rivendosur",
"Nothing in here. Your trash bin is empty!" : "Këtu nuk ka asgjë. Koshi juaj është bosh!",
diff --git a/apps/files_trashbin/l10n/sr.js b/apps/files_trashbin/l10n/sr.js
index fdaae6185ad..5fcfd7932a9 100644
--- a/apps/files_trashbin/l10n/sr.js
+++ b/apps/files_trashbin/l10n/sr.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Обрисане датотеке",
"Restore" : "Врати",
+ "Delete permanently" : "Обриши за стално",
"Error" : "Грешка",
"Nothing in here. Your trash bin is empty!" : "Овде нема ништа. Корпа за отпатке је празна.",
"Name" : "Име",
diff --git a/apps/files_trashbin/l10n/sr.json b/apps/files_trashbin/l10n/sr.json
index d4d8c91bf17..355d39d72dd 100644
--- a/apps/files_trashbin/l10n/sr.json
+++ b/apps/files_trashbin/l10n/sr.json
@@ -1,6 +1,7 @@
{ "translations": {
"Deleted files" : "Обрисане датотеке",
"Restore" : "Врати",
+ "Delete permanently" : "Обриши за стално",
"Error" : "Грешка",
"Nothing in here. Your trash bin is empty!" : "Овде нема ништа. Корпа за отпатке је празна.",
"Name" : "Име",
diff --git a/apps/files_trashbin/l10n/sv.js b/apps/files_trashbin/l10n/sv.js
index eb7ad2dcd41..3f1527e2386 100644
--- a/apps/files_trashbin/l10n/sv.js
+++ b/apps/files_trashbin/l10n/sv.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Kunde inte återställa %s",
"Deleted files" : "Raderade filer",
"Restore" : "Återskapa",
+ "Delete permanently" : "Radera permanent",
"Error" : "Fel",
"restored" : "återställd",
"Nothing in here. Your trash bin is empty!" : "Ingenting här. Din papperskorg är tom!",
diff --git a/apps/files_trashbin/l10n/sv.json b/apps/files_trashbin/l10n/sv.json
index 114b5f7738b..a570b0f9451 100644
--- a/apps/files_trashbin/l10n/sv.json
+++ b/apps/files_trashbin/l10n/sv.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Kunde inte återställa %s",
"Deleted files" : "Raderade filer",
"Restore" : "Återskapa",
+ "Delete permanently" : "Radera permanent",
"Error" : "Fel",
"restored" : "återställd",
"Nothing in here. Your trash bin is empty!" : "Ingenting här. Din papperskorg är tom!",
diff --git a/apps/files_trashbin/l10n/te.js b/apps/files_trashbin/l10n/te.js
index 505aced8869..e851ec86421 100644
--- a/apps/files_trashbin/l10n/te.js
+++ b/apps/files_trashbin/l10n/te.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"files_trashbin",
{
+ "Delete permanently" : "శాశ్వతంగా తొలగించు",
"Error" : "పొరపాటు",
"Name" : "పేరు",
"Delete" : "తొలగించు"
diff --git a/apps/files_trashbin/l10n/te.json b/apps/files_trashbin/l10n/te.json
index 37f365e370d..4df06631a0c 100644
--- a/apps/files_trashbin/l10n/te.json
+++ b/apps/files_trashbin/l10n/te.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Delete permanently" : "శాశ్వతంగా తొలగించు",
"Error" : "పొరపాటు",
"Name" : "పేరు",
"Delete" : "తొలగించు"
diff --git a/apps/files_trashbin/l10n/tr.js b/apps/files_trashbin/l10n/tr.js
index f8e8b4daff1..6ea646661a3 100644
--- a/apps/files_trashbin/l10n/tr.js
+++ b/apps/files_trashbin/l10n/tr.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "%s geri yüklenemedi",
"Deleted files" : "Silinmiş dosyalar",
"Restore" : "Geri yükle",
+ "Delete permanently" : "Kalıcı olarak sil",
"Error" : "Hata",
"restored" : "geri yüklendi",
"Nothing in here. Your trash bin is empty!" : "Burada hiçbir şey yok. Çöp kutunuz tamamen boş!",
diff --git a/apps/files_trashbin/l10n/tr.json b/apps/files_trashbin/l10n/tr.json
index d000f31a743..303545883ec 100644
--- a/apps/files_trashbin/l10n/tr.json
+++ b/apps/files_trashbin/l10n/tr.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "%s geri yüklenemedi",
"Deleted files" : "Silinmiş dosyalar",
"Restore" : "Geri yükle",
+ "Delete permanently" : "Kalıcı olarak sil",
"Error" : "Hata",
"restored" : "geri yüklendi",
"Nothing in here. Your trash bin is empty!" : "Burada hiçbir şey yok. Çöp kutunuz tamamen boş!",
diff --git a/apps/files_trashbin/l10n/ug.js b/apps/files_trashbin/l10n/ug.js
index e67cbf85809..602dcc8ed96 100644
--- a/apps/files_trashbin/l10n/ug.js
+++ b/apps/files_trashbin/l10n/ug.js
@@ -2,6 +2,7 @@ OC.L10N.register(
"files_trashbin",
{
"Deleted files" : "ئۆچۈرۈلگەن ھۆججەتلەر",
+ "Delete permanently" : "مەڭگۈلۈك ئۆچۈر",
"Error" : "خاتالىق",
"Nothing in here. Your trash bin is empty!" : "بۇ جايدا ھېچنېمە يوق. Your trash bin is empty!",
"Name" : "ئاتى",
diff --git a/apps/files_trashbin/l10n/ug.json b/apps/files_trashbin/l10n/ug.json
index 8ed6b5cdd80..ffa5244f825 100644
--- a/apps/files_trashbin/l10n/ug.json
+++ b/apps/files_trashbin/l10n/ug.json
@@ -1,5 +1,6 @@
{ "translations": {
"Deleted files" : "ئۆچۈرۈلگەن ھۆججەتلەر",
+ "Delete permanently" : "مەڭگۈلۈك ئۆچۈر",
"Error" : "خاتالىق",
"Nothing in here. Your trash bin is empty!" : "بۇ جايدا ھېچنېمە يوق. Your trash bin is empty!",
"Name" : "ئاتى",
diff --git a/apps/files_trashbin/l10n/uk.js b/apps/files_trashbin/l10n/uk.js
index 0d778f21ad9..0801d1aaea0 100644
--- a/apps/files_trashbin/l10n/uk.js
+++ b/apps/files_trashbin/l10n/uk.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Неможливо відновити %s",
"Deleted files" : "Видалені файли",
"Restore" : "Відновити",
+ "Delete permanently" : "Видалити назавжди",
"Error" : "Помилка",
"restored" : "відновлено",
"Nothing in here. Your trash bin is empty!" : "Нічого немає. Ваший кошик для сміття пустий!",
diff --git a/apps/files_trashbin/l10n/uk.json b/apps/files_trashbin/l10n/uk.json
index 77e9b53896c..429d1d61904 100644
--- a/apps/files_trashbin/l10n/uk.json
+++ b/apps/files_trashbin/l10n/uk.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Неможливо відновити %s",
"Deleted files" : "Видалені файли",
"Restore" : "Відновити",
+ "Delete permanently" : "Видалити назавжди",
"Error" : "Помилка",
"restored" : "відновлено",
"Nothing in here. Your trash bin is empty!" : "Нічого немає. Ваший кошик для сміття пустий!",
diff --git a/apps/files_trashbin/l10n/vi.js b/apps/files_trashbin/l10n/vi.js
index 113fae4c2da..cbf9f4a5966 100644
--- a/apps/files_trashbin/l10n/vi.js
+++ b/apps/files_trashbin/l10n/vi.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "Không thể khôi phục %s",
"Deleted files" : "File đã bị xóa",
"Restore" : "Khôi phục",
+ "Delete permanently" : "Xóa vĩnh vễn",
"Error" : "Lỗi",
"restored" : "khôi phục",
"Nothing in here. Your trash bin is empty!" : "Không có gì ở đây. Thùng rác của bạn rỗng!",
diff --git a/apps/files_trashbin/l10n/vi.json b/apps/files_trashbin/l10n/vi.json
index 7323889de6f..83cb13bfcd0 100644
--- a/apps/files_trashbin/l10n/vi.json
+++ b/apps/files_trashbin/l10n/vi.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "Không thể khôi phục %s",
"Deleted files" : "File đã bị xóa",
"Restore" : "Khôi phục",
+ "Delete permanently" : "Xóa vĩnh vễn",
"Error" : "Lỗi",
"restored" : "khôi phục",
"Nothing in here. Your trash bin is empty!" : "Không có gì ở đây. Thùng rác của bạn rỗng!",
diff --git a/apps/files_trashbin/l10n/zh_CN.js b/apps/files_trashbin/l10n/zh_CN.js
index 6c421ab55b9..98f94d8938f 100644
--- a/apps/files_trashbin/l10n/zh_CN.js
+++ b/apps/files_trashbin/l10n/zh_CN.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "无法恢复%s",
"Deleted files" : "已删除文件",
"Restore" : "恢复",
+ "Delete permanently" : "永久删除",
"Error" : "错误",
"restored" : "已恢复",
"Nothing in here. Your trash bin is empty!" : "这里没有东西. 你的回收站是空的!",
diff --git a/apps/files_trashbin/l10n/zh_CN.json b/apps/files_trashbin/l10n/zh_CN.json
index 88665113d1b..67d4b1cffb0 100644
--- a/apps/files_trashbin/l10n/zh_CN.json
+++ b/apps/files_trashbin/l10n/zh_CN.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "无法恢复%s",
"Deleted files" : "已删除文件",
"Restore" : "恢复",
+ "Delete permanently" : "永久删除",
"Error" : "错误",
"restored" : "已恢复",
"Nothing in here. Your trash bin is empty!" : "这里没有东西. 你的回收站是空的!",
diff --git a/apps/files_trashbin/l10n/zh_TW.js b/apps/files_trashbin/l10n/zh_TW.js
index 9a0ff0bdb8f..457611075ac 100644
--- a/apps/files_trashbin/l10n/zh_TW.js
+++ b/apps/files_trashbin/l10n/zh_TW.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Couldn't restore %s" : "無法還原 %s",
"Deleted files" : "回收桶",
"Restore" : "還原",
+ "Delete permanently" : "永久刪除",
"Error" : "錯誤",
"restored" : "已還原",
"Nothing in here. Your trash bin is empty!" : "您的回收桶是空的!",
diff --git a/apps/files_trashbin/l10n/zh_TW.json b/apps/files_trashbin/l10n/zh_TW.json
index 61d7daaf1f4..a3007f2dae7 100644
--- a/apps/files_trashbin/l10n/zh_TW.json
+++ b/apps/files_trashbin/l10n/zh_TW.json
@@ -3,6 +3,7 @@
"Couldn't restore %s" : "無法還原 %s",
"Deleted files" : "回收桶",
"Restore" : "還原",
+ "Delete permanently" : "永久刪除",
"Error" : "錯誤",
"restored" : "已還原",
"Nothing in here. Your trash bin is empty!" : "您的回收桶是空的!",
diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php
index 661fc271dfc..1e8f31dbd2a 100644
--- a/apps/files_trashbin/lib/trashbin.php
+++ b/apps/files_trashbin/lib/trashbin.php
@@ -274,7 +274,7 @@ class Trashbin {
return 0;
}
- $util = new \OCA\Encryption\Util($rootView, $user);
+ $util = new \OCA\Files_Encryption\Util($rootView, $user);
$baseDir = '/files_encryption/';
if (!$util->isSystemWideMountPoint($ownerPath)) {
@@ -448,7 +448,7 @@ class Trashbin {
return false;
}
- $util = new \OCA\Encryption\Util($rootView, $user);
+ $util = new \OCA\Files_Encryption\Util($rootView, $user);
$baseDir = '/files_encryption/';
if (!$util->isSystemWideMountPoint($ownerPath)) {
@@ -621,11 +621,13 @@ class Trashbin {
* @return int available free space for trash bin
*/
private static function calculateFreeSpace($trashbinSize, $user) {
+ $config = \OC::$server->getConfig();
+
$softQuota = true;
- $quota = \OC_Preferences::getValue($user, 'files', 'quota');
+ $quota = $config->getUserValue($user, 'files', 'quota', null);
$view = new \OC\Files\View('/' . $user);
if ($quota === null || $quota === 'default') {
- $quota = \OC::$server->getAppConfig()->getValue('files', 'default_quota');
+ $quota = $config->getAppValue('files', 'default_quota', null);
}
if ($quota === null || $quota === 'none') {
$quota = \OC\Files\Filesystem::free_space('/');
diff --git a/apps/files_versions/lib/storage.php b/apps/files_versions/lib/storage.php
index 82e0ecc3e2f..3d30ada863a 100644
--- a/apps/files_versions/lib/storage.php
+++ b/apps/files_versions/lib/storage.php
@@ -479,15 +479,16 @@ class Storage {
* Erase a file's versions which exceed the set quota
*/
private static function expire($filename, $versionsSize = null, $offset = 0) {
- if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
+ $config = \OC::$server->getConfig();
+ if($config->getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
list($uid, $filename) = self::getUidAndFilename($filename);
$versionsFileview = new \OC\Files\View('/'.$uid.'/files_versions');
// get available disk space for user
$softQuota = true;
- $quota = \OC_Preferences::getValue($uid, 'files', 'quota');
+ $quota = $config->getUserValue($uid, 'files', 'quota', null);
if ( $quota === null || $quota === 'default') {
- $quota = \OC::$server->getAppConfig()->getValue('files', 'default_quota');
+ $quota = $config->getAppValue('files', 'default_quota', null);
}
if ( $quota === null || $quota === 'none' ) {
$quota = \OC\Files\Filesystem::free_space('/');
diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js
index 6494fbb5142..b139c5b3fb4 100644
--- a/apps/user_ldap/l10n/ja.js
+++ b/apps/user_ldap/l10n/ja.js
@@ -33,6 +33,7 @@ OC.L10N.register(
"Confirm Deletion" : "削除の確認",
"_%s group found_::_%s groups found_" : ["%s グループが見つかりました"],
"_%s user found_::_%s users found_" : ["%s ユーザーが見つかりました"],
+ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "ユーザー表示名の属性を検出できませんでした。詳細設定で対応する属性を指定してください。",
"Could not find the desired feature" : "望ましい機能は見つかりませんでした",
"Invalid Host" : "無効なホスト",
"Server" : "サーバー",
diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json
index 2e714112f19..25ad7f73bd8 100644
--- a/apps/user_ldap/l10n/ja.json
+++ b/apps/user_ldap/l10n/ja.json
@@ -31,6 +31,7 @@
"Confirm Deletion" : "削除の確認",
"_%s group found_::_%s groups found_" : ["%s グループが見つかりました"],
"_%s user found_::_%s users found_" : ["%s ユーザーが見つかりました"],
+ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "ユーザー表示名の属性を検出できませんでした。詳細設定で対応する属性を指定してください。",
"Could not find the desired feature" : "望ましい機能は見つかりませんでした",
"Invalid Host" : "無効なホスト",
"Server" : "サーバー",
diff --git a/apps/user_ldap/l10n/sl.js b/apps/user_ldap/l10n/sl.js
index 1437afcf5ba..04ea48e11ec 100644
--- a/apps/user_ldap/l10n/sl.js
+++ b/apps/user_ldap/l10n/sl.js
@@ -33,6 +33,7 @@ OC.L10N.register(
"Confirm Deletion" : "Potrdi brisanje",
"_%s group found_::_%s groups found_" : ["%s najdena skupina","%s najdeni skupini","%s najdene skupine","%s najdenih skupin"],
"_%s user found_::_%s users found_" : ["%s najden uporabnik","%s najdena uporabnika","%s najdeni uporabniki","%s najdenih uporabnikov"],
+ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Ni mogoče prebrati atributa prikaznega imena. Določiti ga je treba ročno med nastavitvami LDAP.",
"Could not find the desired feature" : "Želene zmožnosti ni mogoče najti",
"Invalid Host" : "Neveljaven gostitelj",
"Server" : "Strežnik",
diff --git a/apps/user_ldap/l10n/sl.json b/apps/user_ldap/l10n/sl.json
index 56bf65210c3..ef7bdd1ce32 100644
--- a/apps/user_ldap/l10n/sl.json
+++ b/apps/user_ldap/l10n/sl.json
@@ -31,6 +31,7 @@
"Confirm Deletion" : "Potrdi brisanje",
"_%s group found_::_%s groups found_" : ["%s najdena skupina","%s najdeni skupini","%s najdene skupine","%s najdenih skupin"],
"_%s user found_::_%s users found_" : ["%s najden uporabnik","%s najdena uporabnika","%s najdeni uporabniki","%s najdenih uporabnikov"],
+ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Ni mogoče prebrati atributa prikaznega imena. Določiti ga je treba ročno med nastavitvami LDAP.",
"Could not find the desired feature" : "Želene zmožnosti ni mogoče najti",
"Invalid Host" : "Neveljaven gostitelj",
"Server" : "Strežnik",
diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php
index 5a4d324fba2..76747be70cf 100644
--- a/apps/user_ldap/lib/access.php
+++ b/apps/user_ldap/lib/access.php
@@ -1085,12 +1085,18 @@ class Access extends LDAPUtility implements user\IUserTools {
/**
* escapes (user provided) parts for LDAP filter
* @param string $input, the provided value
+ * @param bool $allowAsterisk wether in * at the beginning should be preserved
* @return string the escaped string
*/
- public function escapeFilterPart($input) {
+ public function escapeFilterPart($input, $allowAsterisk = false) {
+ $asterisk = '';
+ if($allowAsterisk && strlen($input) > 0 && $input[0] === '*') {
+ $asterisk = '*';
+ $input = mb_substr($input, 1, null, 'UTF-8');
+ }
$search = array('*', '\\', '(', ')');
$replace = array('\\*', '\\\\', '\\(', '\\)');
- return str_replace($search, $replace, $input);
+ return $asterisk . str_replace($search, $replace, $input);
}
/**
diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php
index 38c32cbda4a..52278082312 100644
--- a/apps/user_ldap/user_ldap.php
+++ b/apps/user_ldap/user_ldap.php
@@ -93,7 +93,7 @@ class USER_LDAP extends BackendUtility implements \OCP\UserInterface {
* Get a list of all users.
*/
public function getUsers($search = '', $limit = 10, $offset = 0) {
- $search = $this->access->escapeFilterPart($search);
+ $search = $this->access->escapeFilterPart($search, true);
$cachekey = 'getUsers-'.$search.'-'.$limit.'-'.$offset;
//check if users are cached, if so return