diff options
Diffstat (limited to 'apps/files_external')
193 files changed, 1998 insertions, 1153 deletions
diff --git a/apps/files_external/3rdparty/.gitignore b/apps/files_external/3rdparty/.gitignore index c8d4e6eed0b..b56af237c35 100644 --- a/apps/files_external/3rdparty/.gitignore +++ b/apps/files_external/3rdparty/.gitignore @@ -2,3 +2,4 @@ example.php icewind/smb/tests icewind/smb/install_libsmbclient.sh icewind/smb/.travis.yml +icewind/streams/tests diff --git a/apps/files_external/3rdparty/Dropbox/OAuth/Curl.php b/apps/files_external/3rdparty/Dropbox/OAuth/Curl.php index fd66e34bd2d..41134511b80 100644 --- a/apps/files_external/3rdparty/Dropbox/OAuth/Curl.php +++ b/apps/files_external/3rdparty/Dropbox/OAuth/Curl.php @@ -196,7 +196,7 @@ class Dropbox_OAuth_Curl extends Dropbox_OAuth { * @return array Array for request's headers section like * array('Authorization' => 'OAuth ...'); */ - private function getOAuthHeader($uri, $params, $method = 'GET', $oAuthParams = null) { + public function getOAuthHeader($uri, $params, $method = 'GET', $oAuthParams = null) { $oAuthParams = $oAuthParams ? $oAuthParams : $this->getOAuthBaseParams(); // create baseString to encode for the sent parameters diff --git a/apps/files_external/3rdparty/composer.json b/apps/files_external/3rdparty/composer.json index 4c130404add..72335c8d891 100644 --- a/apps/files_external/3rdparty/composer.json +++ b/apps/files_external/3rdparty/composer.json @@ -8,8 +8,8 @@ "classmap-authoritative": true }, "require": { - "icewind/smb": "1.0.5", - "icewind/streams": "0.2" + "icewind/smb": "1.1.0", + "icewind/streams": "0.4" } } diff --git a/apps/files_external/3rdparty/composer.lock b/apps/files_external/3rdparty/composer.lock index 7bfb48a2c0d..7161ae19a2c 100644 --- a/apps/files_external/3rdparty/composer.lock +++ b/apps/files_external/3rdparty/composer.lock @@ -4,25 +4,25 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "669663944c7232473a1c51a6d160319d", - "content-hash": "7612ced4391f6287fb3e50534500d217", + "hash": "8de0823d3d0a167ee24450a111cb67b9", + "content-hash": "6733058865c1765823b31cfbb24552e1", "packages": [ { "name": "icewind/smb", - "version": "v1.0.5", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/icewind1991/SMB.git", - "reference": "acb94a0a85290d653cd64c883175b855ada5022f" + "reference": "822f924967c68228555cea84ea44765f8e85c601" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/icewind1991/SMB/zipball/acb94a0a85290d653cd64c883175b855ada5022f", - "reference": "acb94a0a85290d653cd64c883175b855ada5022f", + "url": "https://api.github.com/repos/icewind1991/SMB/zipball/822f924967c68228555cea84ea44765f8e85c601", + "reference": "822f924967c68228555cea84ea44765f8e85c601", "shasum": "" }, "require": { - "icewind/streams": "0.2.*", + "icewind/streams": ">=0.2.0", "php": ">=5.3" }, "require-dev": { @@ -47,27 +47,28 @@ } ], "description": "php wrapper for smbclient and libsmbclient-php", - "time": "2016-01-20 13:12:36" + "time": "2016-04-26 13:26:39" }, { "name": "icewind/streams", - "version": "0.2", + "version": "0.4.0", "source": { "type": "git", "url": "https://github.com/icewind1991/Streams.git", - "reference": "5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a" + "reference": "9ca40274645a967ecc3408b0ca2e6255ead1d1d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/icewind1991/Streams/zipball/5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a", - "reference": "5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a", + "url": "https://api.github.com/repos/icewind1991/Streams/zipball/9ca40274645a967ecc3408b0ca2e6255ead1d1d3", + "reference": "9ca40274645a967ecc3408b0ca2e6255ead1d1d3", "shasum": "" }, "require": { "php": ">=5.3" }, "require-dev": { - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "^4.8", + "satooshi/php-coveralls": "v1.0.0" }, "type": "library", "autoload": { @@ -87,7 +88,7 @@ } ], "description": "A set of generic stream wrappers", - "time": "2014-07-30 23:46:15" + "time": "2016-03-17 12:32:25" } ], "packages-dev": [], diff --git a/apps/files_external/3rdparty/composer/ClassLoader.php b/apps/files_external/3rdparty/composer/ClassLoader.php index 5e1469e8307..ff6ecfb822f 100644 --- a/apps/files_external/3rdparty/composer/ClassLoader.php +++ b/apps/files_external/3rdparty/composer/ClassLoader.php @@ -13,9 +13,7 @@ namespace Composer\Autoload; /** - * ClassLoader implements a PSR-0 class loader - * - * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. * * $loader = new \Composer\Autoload\ClassLoader(); * @@ -39,6 +37,8 @@ namespace Composer\Autoload; * * @author Fabien Potencier <fabien@symfony.com> * @author Jordi Boggiano <j.boggiano@seld.be> + * @see http://www.php-fig.org/psr/psr-0/ + * @see http://www.php-fig.org/psr/psr-4/ */ class ClassLoader { @@ -147,7 +147,7 @@ class ClassLoader * appending or prepending to the ones previously set for this namespace. * * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-0 base directories + * @param array|string $paths The PSR-4 base directories * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException diff --git a/apps/files_external/3rdparty/composer/LICENSE b/apps/files_external/3rdparty/composer/LICENSE index c8d57af8b27..1a28124886d 100644 --- a/apps/files_external/3rdparty/composer/LICENSE +++ b/apps/files_external/3rdparty/composer/LICENSE @@ -1,5 +1,5 @@ -Copyright (c) 2015 Nils Adermann, Jordi Boggiano +Copyright (c) 2016 Nils Adermann, Jordi Boggiano Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/apps/files_external/3rdparty/composer/autoload_classmap.php b/apps/files_external/3rdparty/composer/autoload_classmap.php index 5b0f2511e12..942dbce7336 100644 --- a/apps/files_external/3rdparty/composer/autoload_classmap.php +++ b/apps/files_external/3rdparty/composer/autoload_classmap.php @@ -52,12 +52,23 @@ return array( 'Icewind\\SMB\\TimeZoneProvider' => $vendorDir . '/icewind/smb/src/TimeZoneProvider.php', 'Icewind\\Streams\\CallbackWrapper' => $vendorDir . '/icewind/streams/src/CallbackWrapper.php', 'Icewind\\Streams\\Directory' => $vendorDir . '/icewind/streams/src/Directory.php', + 'Icewind\\Streams\\DirectoryFilter' => $vendorDir . '/icewind/streams/src/DirectoryFilter.php', + 'Icewind\\Streams\\DirectoryWrapper' => $vendorDir . '/icewind/streams/src/DirectoryWrapper.php', 'Icewind\\Streams\\File' => $vendorDir . '/icewind/streams/src/File.php', 'Icewind\\Streams\\IteratorDirectory' => $vendorDir . '/icewind/streams/src/IteratorDirectory.php', 'Icewind\\Streams\\NullWrapper' => $vendorDir . '/icewind/streams/src/NullWrapper.php', - 'Icewind\\Streams\\Tests\\CallbackWrapper' => $vendorDir . '/icewind/streams/tests/CallbackWrapper.php', - 'Icewind\\Streams\\Tests\\IteratorDirectory' => $vendorDir . '/icewind/streams/tests/IteratorDirectory.php', - 'Icewind\\Streams\\Tests\\NullWrapper' => $vendorDir . '/icewind/streams/tests/NullWrapper.php', - 'Icewind\\Streams\\Tests\\Wrapper' => $vendorDir . '/icewind/streams/tests/Wrapper.php', + 'Icewind\\Streams\\Path' => $vendorDir . '/icewind/streams/src/Path.php', + 'Icewind\\Streams\\RetryWrapper' => $vendorDir . '/icewind/streams/src/RetryWrapper.php', + 'Icewind\\Streams\\SeekableWrapper' => $vendorDir . '/icewind/streams/src/SeekableWrapper.php', + 'Icewind\\Streams\\Tests\\DirectoryFilter' => $vendorDir . '/icewind/streams/tests/DirectoryFilter.php', + 'Icewind\\Streams\\Tests\\DirectoryWrapper' => $vendorDir . '/icewind/streams/tests/DirectoryWrapper.php', + 'Icewind\\Streams\\Tests\\DirectoryWrapperDummy' => $vendorDir . '/icewind/streams/tests/DirectoryWrapper.php', + 'Icewind\\Streams\\Tests\\DirectoryWrapperNull' => $vendorDir . '/icewind/streams/tests/DirectoryWrapper.php', + 'Icewind\\Streams\\Tests\\PartialWrapper' => $vendorDir . '/icewind/streams/tests/RetryWrapper.php', + 'Icewind\\Streams\\Tests\\RetryWrapper' => $vendorDir . '/icewind/streams/tests/RetryWrapper.php', + 'Icewind\\Streams\\Tests\\SeekableWrapper' => $vendorDir . '/icewind/streams/tests/SeekableWrapper.php', + 'Icewind\\Streams\\Tests\\UrlCallBack' => $vendorDir . '/icewind/streams/tests/UrlCallBack.php', + 'Icewind\\Streams\\Url' => $vendorDir . '/icewind/streams/src/Url.php', + 'Icewind\\Streams\\UrlCallback' => $vendorDir . '/icewind/streams/src/UrlCallBack.php', 'Icewind\\Streams\\Wrapper' => $vendorDir . '/icewind/streams/src/Wrapper.php', ); diff --git a/apps/files_external/3rdparty/composer/autoload_real.php b/apps/files_external/3rdparty/composer/autoload_real.php index 9e8b3b558e5..6f27fffb9da 100644 --- a/apps/files_external/3rdparty/composer/autoload_real.php +++ b/apps/files_external/3rdparty/composer/autoload_real.php @@ -23,16 +23,6 @@ class ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3 self::$loader = $loader = new \Composer\Autoload\ClassLoader(); spl_autoload_unregister(array('ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3', 'loadClassLoader')); - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } - - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - $classMap = require __DIR__ . '/autoload_classmap.php'; if ($classMap) { $loader->addClassMap($classMap); @@ -44,8 +34,3 @@ class ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3 return $loader; } } - -function composerRequire98fe9b281934250b3a93f69a5ce843b3($file) -{ - require $file; -} diff --git a/apps/files_external/3rdparty/composer/installed.json b/apps/files_external/3rdparty/composer/installed.json index 6e0b5d0d8f9..31c602de3ca 100644 --- a/apps/files_external/3rdparty/composer/installed.json +++ b/apps/files_external/3rdparty/composer/installed.json @@ -1,26 +1,27 @@ [ { "name": "icewind/streams", - "version": "0.2", - "version_normalized": "0.2.0.0", + "version": "0.4.0", + "version_normalized": "0.4.0.0", "source": { "type": "git", "url": "https://github.com/icewind1991/Streams.git", - "reference": "5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a" + "reference": "9ca40274645a967ecc3408b0ca2e6255ead1d1d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/icewind1991/Streams/zipball/5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a", - "reference": "5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a", + "url": "https://api.github.com/repos/icewind1991/Streams/zipball/9ca40274645a967ecc3408b0ca2e6255ead1d1d3", + "reference": "9ca40274645a967ecc3408b0ca2e6255ead1d1d3", "shasum": "" }, "require": { "php": ">=5.3" }, "require-dev": { - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "^4.8", + "satooshi/php-coveralls": "v1.0.0" }, - "time": "2014-07-30 23:46:15", + "time": "2016-03-17 12:32:25", "type": "library", "installation-source": "dist", "autoload": { @@ -43,28 +44,28 @@ }, { "name": "icewind/smb", - "version": "v1.0.5", - "version_normalized": "1.0.5.0", + "version": "v1.1.0", + "version_normalized": "1.1.0.0", "source": { "type": "git", "url": "https://github.com/icewind1991/SMB.git", - "reference": "acb94a0a85290d653cd64c883175b855ada5022f" + "reference": "822f924967c68228555cea84ea44765f8e85c601" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/icewind1991/SMB/zipball/acb94a0a85290d653cd64c883175b855ada5022f", - "reference": "acb94a0a85290d653cd64c883175b855ada5022f", + "url": "https://api.github.com/repos/icewind1991/SMB/zipball/822f924967c68228555cea84ea44765f8e85c601", + "reference": "822f924967c68228555cea84ea44765f8e85c601", "shasum": "" }, "require": { - "icewind/streams": "0.2.*", + "icewind/streams": ">=0.2.0", "php": ">=5.3" }, "require-dev": { "phpunit/phpunit": "^4.8", "satooshi/php-coveralls": "v1.0.0" }, - "time": "2016-01-20 13:12:36", + "time": "2016-04-26 13:26:39", "type": "library", "installation-source": "source", "autoload": { diff --git a/apps/files_external/3rdparty/icewind/smb/README.md b/apps/files_external/3rdparty/icewind/smb/README.md index a0864717b09..32f3c650f87 100644 --- a/apps/files_external/3rdparty/icewind/smb/README.md +++ b/apps/files_external/3rdparty/icewind/smb/README.md @@ -75,7 +75,7 @@ $share = $server->getShare('test'); $content = $share->dir('test'); foreach ($content as $info) { - echo $name->getName() . "\n"; + echo $info->getName() . "\n"; echo "\tsize :" . $info->getSize() . "\n"; } ``` diff --git a/apps/files_external/3rdparty/icewind/smb/composer.json b/apps/files_external/3rdparty/icewind/smb/composer.json index 2e1fd35f7a6..4ac8b27e725 100644 --- a/apps/files_external/3rdparty/icewind/smb/composer.json +++ b/apps/files_external/3rdparty/icewind/smb/composer.json @@ -10,7 +10,7 @@ ], "require" : { "php": ">=5.3", - "icewind/streams": "0.2.*" + "icewind/streams": ">=0.2.0" }, "require-dev": { "satooshi/php-coveralls" : "v1.0.0", diff --git a/apps/files_external/3rdparty/icewind/smb/src/Connection.php b/apps/files_external/3rdparty/icewind/smb/src/Connection.php index f48dcb766e4..d24cdc1f6d0 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Connection.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Connection.php @@ -15,6 +15,7 @@ use Icewind\SMB\Exception\NoLoginServerException; class Connection extends RawConnection { const DELIMITER = 'smb:'; + const DELIMITER_LENGTH = 4; /** * send input to smbclient @@ -28,6 +29,7 @@ class Connection extends RawConnection { /** * get all unprocessed output from smbclient until the next prompt * + * @param callable $callback (optional) callback to call for every line read * @return string * @throws AuthenticationException * @throws ConnectException @@ -35,7 +37,7 @@ class Connection extends RawConnection { * @throws InvalidHostException * @throws NoLoginServerException */ - public function read() { + public function read(callable $callback = null) { if (!$this->isValid()) { throw new ConnectionException('Connection not valid'); } @@ -45,26 +47,50 @@ class Connection extends RawConnection { $output = array(); $line = $this->readLine(); if ($line === false) { - if ($promptLine) { //maybe we have some error we missed on the previous line - throw new ConnectException('Unknown error (' . $promptLine . ')'); - } else { - $error = $this->readError(); // maybe something on stderr - if ($error) { - throw new ConnectException('Unknown error (' . $error . ')'); - } else { - throw new ConnectException('Unknown error'); + $this->unknownError($promptLine); + } + while (!$this->isPrompt($line)) { //next prompt functions as delimiter + if (is_callable($callback)) { + $result = $callback($line); + if ($result === false) { // allow the callback to close the connection for infinite running commands + $this->close(true); } + } else { + $output[] .= $line; } - } - $length = mb_strlen(self::DELIMITER); - while (mb_substr($line, 0, $length) !== self::DELIMITER) { //next prompt functions as delimiter - $output[] .= $line; $line = $this->readLine(); } return $output; } /** + * Check + * + * @param $line + * @return bool + */ + private function isPrompt($line) { + return mb_substr($line, 0, self::DELIMITER_LENGTH) === self::DELIMITER || $line === false; + } + + /** + * @param string $promptLine (optional) prompt line that might contain some info about the error + * @throws ConnectException + */ + private function unknownError($promptLine = '') { + if ($promptLine) { //maybe we have some error we missed on the previous line + throw new ConnectException('Unknown error (' . $promptLine . ')'); + } else { + $error = $this->readError(); // maybe something on stderr + if ($error) { + throw new ConnectException('Unknown error (' . $error . ')'); + } else { + throw new ConnectException('Unknown error'); + } + } + } + + /** * check if the first line holds a connection failure * * @param $line diff --git a/apps/files_external/3rdparty/icewind/smb/src/IShare.php b/apps/files_external/3rdparty/icewind/smb/src/IShare.php index 4851e9de053..40423151332 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/IShare.php +++ b/apps/files_external/3rdparty/icewind/smb/src/IShare.php @@ -8,6 +8,17 @@ namespace Icewind\SMB; interface IShare { + // https://msdn.microsoft.com/en-us/library/dn392331.aspx + const NOTIFY_ADDED = 1; + const NOTIFY_REMOVED = 2; + const NOTIFY_MODIFIED = 3; + const NOTIFY_RENAMED_OLD = 4; + const NOTIFY_RENAMED_NEW = 5; + const NOTIFY_ADDED_STREAM = 6; + const NOTIFY_REMOVED_STREAM = 7; + const NOTIFY_MODIFIED_STREAM = 8; + const NOTIFY_REMOVED_BY_DELETE = 9; + /** * Get the name of the share * @@ -131,4 +142,11 @@ interface IShare { * @return mixed */ public function setMode($path, $mode); + + /** + * @param string $path + * @param callable $callback callable which will be called for each received change + * @return mixed + */ + public function notify($path, callable $callback); } diff --git a/apps/files_external/3rdparty/icewind/smb/src/NativeShare.php b/apps/files_external/3rdparty/icewind/smb/src/NativeShare.php index 0b184fd585c..51e16d1841f 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/NativeShare.php +++ b/apps/files_external/3rdparty/icewind/smb/src/NativeShare.php @@ -239,8 +239,9 @@ class NativeShare extends AbstractShare { */ public function read($source) { $this->connect(); - $handle = $this->state->open($this->buildUrl($source), 'r'); - return NativeStream::wrap($this->state, $handle, 'r'); + $url = $this->buildUrl($source); + $handle = $this->state->open($url, 'r'); + return NativeStream::wrap($this->state, $handle, 'r', $url); } /** @@ -254,8 +255,9 @@ class NativeShare extends AbstractShare { */ public function write($source) { $this->connect(); - $handle = $this->state->create($this->buildUrl($source)); - return NativeStream::wrap($this->state, $handle, 'w'); + $url = $this->buildUrl($source); + $handle = $this->state->create($url); + return NativeStream::wrap($this->state, $handle, 'w', $url); } /** @@ -299,6 +301,18 @@ class NativeShare extends AbstractShare { return $this->setAttribute($path, 'system.dos_attr.mode', $mode); } + /** + * @param string $path + * @param callable $callback callable which will be called for each received change + * @return mixed + */ + public function notify($path, callable $callback) { + // php-smbclient does support notify (https://github.com/eduardok/libsmbclient-php/issues/29) + // so we use the smbclient based backend for this + $share = new Share($this->server, $this->getName()); + $share->notify($path, $callback); + } + public function __destruct() { unset($this->state); } diff --git a/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php b/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php index 07bd2f1e797..481395b025a 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php +++ b/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php @@ -7,6 +7,7 @@ namespace Icewind\SMB; +use Icewind\SMB\Exception\Exception; use Icewind\SMB\Exception\InvalidRequestException; use Icewind\Streams\File; @@ -32,19 +33,26 @@ class NativeStream implements File { private $eof = false; /** + * @var string + */ + private $url; + + /** * Wrap a stream from libsmbclient-php into a regular php stream * * @param \Icewind\SMB\NativeState $state * @param resource $smbStream * @param string $mode + * @param string $url * @return resource */ - public static function wrap($state, $smbStream, $mode) { + public static function wrap($state, $smbStream, $mode, $url) { stream_wrapper_register('nativesmb', '\Icewind\SMB\NativeStream'); $context = stream_context_create(array( 'nativesmb' => array( 'state' => $state, - 'handle' => $smbStream + 'handle' => $smbStream, + 'url' => $url ) )); $fh = fopen('nativesmb://', $mode, false, $context); @@ -68,6 +76,7 @@ class NativeStream implements File { $context = stream_context_get_options($this->context); $this->state = $context['nativesmb']['state']; $this->handle = $context['nativesmb']['handle']; + $this->url = $context['nativesmb']['url']; return true; } @@ -89,7 +98,11 @@ class NativeStream implements File { } public function stream_stat() { - return $this->state->fstat($this->handle); + try { + return $this->state->stat($this->url); + } catch (Exception $e) { + return false; + } } public function stream_tell() { diff --git a/apps/files_external/3rdparty/icewind/smb/src/Share.php b/apps/files_external/3rdparty/icewind/smb/src/Share.php index 694bd30bd0d..21f8fe5b139 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Share.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Share.php @@ -51,6 +51,22 @@ class Share extends AbstractShare { $this->parser = new Parser(new TimeZoneProvider($this->server->getHost(), $this->system)); } + protected function getConnection() { + $workgroupArgument = ($this->server->getWorkgroup()) ? ' -W ' . escapeshellarg($this->server->getWorkgroup()) : ''; + $command = sprintf('stdbuf -o0 %s %s --authentication-file=%s %s', + $this->system->getSmbclientPath(), + $workgroupArgument, + System::getFD(3), + escapeshellarg('//' . $this->server->getHost() . '/' . $this->name) + ); + $connection = new Connection($command); + $connection->writeAuthentication($this->server->getUser(), $this->server->getPassword()); + if (!$connection->isValid()) { + throw new ConnectionException(); + } + return $connection; + } + /** * @throws \Icewind\SMB\Exception\ConnectionException * @throws \Icewind\SMB\Exception\AuthenticationException @@ -60,18 +76,7 @@ class Share extends AbstractShare { if ($this->connection and $this->connection->isValid()) { return; } - $workgroupArgument = ($this->server->getWorkgroup()) ? ' -W ' . escapeshellarg($this->server->getWorkgroup()) : ''; - $command = sprintf('%s %s --authentication-file=%s %s', - $this->system->getSmbclientPath(), - $workgroupArgument, - System::getFD(3), - escapeshellarg('//' . $this->server->getHost() . '/' . $this->name) - ); - $this->connection = new Connection($command); - $this->connection->writeAuthentication($this->server->getUser(), $this->server->getPassword()); - if (!$this->connection->isValid()) { - throw new ConnectionException(); - } + $this->connection = $this->getConnection(); } protected function reconnect() { @@ -345,6 +350,26 @@ class Share extends AbstractShare { } /** + * @param string $path + * @param callable $callback callable which will be called for each received change + * @return mixed + */ + public function notify($path, callable $callback) { + $connection = $this->getConnection(); // use a fresh connection since the notify command blocks the process + $command = 'notify ' . $this->escapePath($path); + $connection->write($command . PHP_EOL); + $connection->read(function ($line) use ($callback, $path) { + $code = (int)substr($line, 0, 4); + $subPath = substr($line, 5); + if ($path === '') { + return $callback($code, $subPath); + } else { + return $callback($code, $path . '/' . $subPath); + } + }); + } + + /** * @param string $command * @return array */ @@ -370,7 +395,7 @@ class Share extends AbstractShare { * @return bool */ protected function parseOutput($lines, $path = '') { - $this->parser->checkForError($lines, $path); + return $this->parser->checkForError($lines, $path); } /** diff --git a/apps/files_external/3rdparty/icewind/streams-dummy/composer.json b/apps/files_external/3rdparty/icewind/streams-dummy/composer.json new file mode 100644 index 00000000000..ad6a6a1b1c1 --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams-dummy/composer.json @@ -0,0 +1,7 @@ +{ + "name": "icewind/streams-dummy", + "provide": { + "icewind/streams": "0.2" + } +} + diff --git a/apps/files_external/3rdparty/icewind/streams/.travis.yml b/apps/files_external/3rdparty/icewind/streams/.travis.yml index dfa52767dda..d2e1afaad67 100644 --- a/apps/files_external/3rdparty/icewind/streams/.travis.yml +++ b/apps/files_external/3rdparty/icewind/streams/.travis.yml @@ -1,13 +1,14 @@ language: php php: - - 5.3 - 5.4 - 5.5 + - 5.6 + - 7.0 - hhvm matrix: - allow_failures: - - php: hhvm # due to facebook/hhvm#3321 + allow_failures: + - php: hhvm # due to facebook/hhvm#3321 env: global: diff --git a/apps/files_external/3rdparty/icewind/streams/LICENCE b/apps/files_external/3rdparty/icewind/streams/LICENCE new file mode 100644 index 00000000000..a194b9117b8 --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams/LICENCE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Robin Appelman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apps/files_external/3rdparty/icewind/streams/README.md b/apps/files_external/3rdparty/icewind/streams/README.md index 54f6d19a560..ca13db28e44 100644 --- a/apps/files_external/3rdparty/icewind/streams/README.md +++ b/apps/files_external/3rdparty/icewind/streams/README.md @@ -2,6 +2,7 @@ [![Build Status](https://travis-ci.org/icewind1991/Streams.svg?branch=master)](https://travis-ci.org/icewind1991/Streams) [![Coverage Status](https://img.shields.io/coveralls/icewind1991/Streams.svg)](https://coveralls.io/r/icewind1991/Streams?branch=master) +[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/icewind1991/Streams/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/icewind1991/Streams/?branch=master) Generic stream wrappers for php. diff --git a/apps/files_external/3rdparty/icewind/streams/composer.json b/apps/files_external/3rdparty/icewind/streams/composer.json index 86d3c834258..f2f3e0fc255 100644 --- a/apps/files_external/3rdparty/icewind/streams/composer.json +++ b/apps/files_external/3rdparty/icewind/streams/composer.json @@ -12,7 +12,8 @@ "php": ">=5.3" }, "require-dev" : { - "satooshi/php-coveralls": "dev-master" + "satooshi/php-coveralls": "v1.0.0", + "phpunit/phpunit": "^4.8" }, "autoload" : { "psr-4": { diff --git a/apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php b/apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php index fd99aa6ebe8..c5847b95fdb 100644 --- a/apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php +++ b/apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php @@ -13,10 +13,11 @@ namespace Icewind\Streams; * The following options should be passed in the context when opening the stream * [ * 'callback' => [ - * 'source' => resource - * 'read' => function($count){} (optional) - * 'write' => function($data){} (optional) - * 'close' => function(){} (optional) + * 'source' => resource + * 'read' => function($count){} (optional) + * 'write' => function($data){} (optional) + * 'close' => function(){} (optional) + * 'readdir' => function(){} (optional) * ] * ] * @@ -39,54 +40,56 @@ class CallbackWrapper extends Wrapper { protected $closeCallback; /** + * @var callable + */ + protected $readDirCallBack; + + /** * Wraps a stream with the provided callbacks * * @param resource $source * @param callable $read (optional) * @param callable $write (optional) * @param callable $close (optional) + * @param callable $readDir (optional) * @return resource * * @throws \BadMethodCallException */ - public static function wrap($source, $read = null, $write = null, $close = null) { + public static function wrap($source, $read = null, $write = null, $close = null, $readDir = null) { $context = stream_context_create(array( 'callback' => array( 'source' => $source, 'read' => $read, 'write' => $write, - 'close' => $close + 'close' => $close, + 'readDir' => $readDir ) )); - stream_wrapper_register('callback', '\Icewind\Streams\CallbackWrapper'); - try { - $wrapped = fopen('callback://', 'r+', false, $context); - } catch (\BadMethodCallException $e) { - stream_wrapper_unregister('callback'); - throw $e; - } - stream_wrapper_unregister('callback'); - return $wrapped; + return Wrapper::wrapSource($source, $context, 'callback', '\Icewind\Streams\CallbackWrapper'); } - public function stream_open($path, $mode, $options, &$opened_path) { + protected function open() { $context = $this->loadContext('callback'); - if (isset($context['read']) and is_callable($context['read'])) { - $this->readCallback = $context['read']; - } - if (isset($context['write']) and is_callable($context['write'])) { - $this->writeCallback = $context['write']; - } - if (isset($context['close']) and is_callable($context['close'])) { - $this->closeCallback = $context['close']; - } + $this->readCallback = $context['read']; + $this->writeCallback = $context['write']; + $this->closeCallback = $context['close']; + $this->readDirCallBack = $context['readDir']; return true; } + public function dir_opendir($path, $options) { + return $this->open(); + } + + public function stream_open($path, $mode, $options, &$opened_path) { + return $this->open(); + } + public function stream_read($count) { $result = parent::stream_read($count); - if ($this->readCallback) { + if (is_callable($this->readCallback)) { call_user_func($this->readCallback, $count); } return $result; @@ -94,7 +97,7 @@ class CallbackWrapper extends Wrapper { public function stream_write($data) { $result = parent::stream_write($data); - if ($this->writeCallback) { + if (is_callable($this->writeCallback)) { call_user_func($this->writeCallback, $data); } return $result; @@ -102,9 +105,17 @@ class CallbackWrapper extends Wrapper { public function stream_close() { $result = parent::stream_close(); - if ($this->closeCallback) { + if (is_callable($this->closeCallback)) { call_user_func($this->closeCallback); } return $result; } + + public function dir_readdir() { + $result = parent::dir_readdir(); + if (is_callable($this->readDirCallBack)) { + call_user_func($this->readDirCallBack); + } + return $result; + } } diff --git a/apps/files_external/3rdparty/icewind/streams/src/DirectoryFilter.php b/apps/files_external/3rdparty/icewind/streams/src/DirectoryFilter.php new file mode 100644 index 00000000000..4b869699000 --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams/src/DirectoryFilter.php @@ -0,0 +1,60 @@ +<?php +/** + * Copyright (c) 2015 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Licensed under the MIT license: + * http://opensource.org/licenses/MIT + */ + +namespace Icewind\Streams; + +/** + * Wrapper allows filtering of directories + * + * The filter callback will be called for each entry in the folder + * when the callback return false the entry will be filtered out + */ +class DirectoryFilter extends DirectoryWrapper { + /** + * @var callable + */ + private $filter; + + /** + * @param string $path + * @param array $options + * @return bool + */ + public function dir_opendir($path, $options) { + $context = $this->loadContext('filter'); + $this->filter = $context['filter']; + return true; + } + + /** + * @return string + */ + public function dir_readdir() { + $file = readdir($this->source); + $filter = $this->filter; + // keep reading untill we have an accepted entry or we're at the end of the folder + while ($file !== false && $filter($file) === false) { + $file = readdir($this->source); + } + return $file; + } + + /** + * @param resource $source + * @param callable $filter + * @return resource + */ + public static function wrap($source, callable $filter) { + $options = array( + 'filter' => array( + 'source' => $source, + 'filter' => $filter + ) + ); + return self::wrapWithOptions($options, '\Icewind\Streams\DirectoryFilter'); + } +} diff --git a/apps/files_external/3rdparty/icewind/streams/src/DirectoryWrapper.php b/apps/files_external/3rdparty/icewind/streams/src/DirectoryWrapper.php new file mode 100644 index 00000000000..63e4805a807 --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams/src/DirectoryWrapper.php @@ -0,0 +1,88 @@ +<?php +/** + * Copyright (c) 2015 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Licensed under the MIT license: + * http://opensource.org/licenses/MIT + */ + +namespace Icewind\Streams; + +class DirectoryWrapper implements Directory { + /** + * @var resource + */ + public $context; + + /** + * @var resource + */ + protected $source; + + /** + * Load the source from the stream context and return the context options + * + * @param string $name + * @return array + * @throws \Exception + */ + protected function loadContext($name) { + $context = stream_context_get_options($this->context); + if (isset($context[$name])) { + $context = $context[$name]; + } else { + throw new \BadMethodCallException('Invalid context, "' . $name . '" options not set'); + } + if (isset($context['source']) and is_resource($context['source'])) { + $this->source = $context['source']; + } else { + throw new \BadMethodCallException('Invalid context, source not set'); + } + return $context; + } + + /** + * @param string $path + * @param array $options + * @return bool + */ + public function dir_opendir($path, $options) { + $this->loadContext('dir'); + return true; + } + + /** + * @return string + */ + public function dir_readdir() { + return readdir($this->source); + } + + /** + * @return bool + */ + public function dir_closedir() { + closedir($this->source); + return true; + } + + /** + * @return bool + */ + public function dir_rewinddir() { + rewinddir($this->source); + return true; + } + + /** + * @param array $options the options for the context to wrap the stream with + * @param string $class + * @return resource + */ + protected static function wrapWithOptions($options, $class) { + $context = stream_context_create($options); + stream_wrapper_register('dirwrapper', $class); + $wrapped = opendir('dirwrapper://', $context); + stream_wrapper_unregister('dirwrapper'); + return $wrapped; + } +} diff --git a/apps/files_external/3rdparty/icewind/streams/src/File.php b/apps/files_external/3rdparty/icewind/streams/src/File.php index 6202ef4a4b4..252b7b8971f 100644 --- a/apps/files_external/3rdparty/icewind/streams/src/File.php +++ b/apps/files_external/3rdparty/icewind/streams/src/File.php @@ -21,7 +21,7 @@ interface File { public function stream_open($path, $mode, $options, &$opened_path); /** - * @param string $offset + * @param int $offset * @param int $whence * @return bool */ diff --git a/apps/files_external/3rdparty/icewind/streams/src/IteratorDirectory.php b/apps/files_external/3rdparty/icewind/streams/src/IteratorDirectory.php index c4eac5d4ed3..6dfa42a8b68 100644 --- a/apps/files_external/3rdparty/icewind/streams/src/IteratorDirectory.php +++ b/apps/files_external/3rdparty/icewind/streams/src/IteratorDirectory.php @@ -45,9 +45,9 @@ class IteratorDirectory implements Directory { } else { throw new \BadMethodCallException('Invalid context, "' . $name . '" options not set'); } - if (isset($context['iterator']) and $context['iterator'] instanceof \Iterator) { + if (isset($context['iterator'])) { $this->iterator = $context['iterator']; - } else if (isset($context['array']) and is_array($context['array'])) { + } else if (isset($context['array'])) { $this->iterator = new \ArrayIterator($context['array']); } else { throw new \BadMethodCallException('Invalid context, iterator or array not set'); diff --git a/apps/files_external/3rdparty/icewind/streams/src/NullWrapper.php b/apps/files_external/3rdparty/icewind/streams/src/NullWrapper.php index 8cbaaa756d3..b6c71d98fc4 100644 --- a/apps/files_external/3rdparty/icewind/streams/src/NullWrapper.php +++ b/apps/files_external/3rdparty/icewind/streams/src/NullWrapper.php @@ -24,19 +24,16 @@ class NullWrapper extends Wrapper { 'null' => array( 'source' => $source) )); - stream_wrapper_register('null', '\Icewind\Streams\NullWrapper'); - try { - $wrapped = fopen('null://', 'r+', false, $context); - } catch (\BadMethodCallException $e) { - stream_wrapper_unregister('null'); - throw $e; - } - stream_wrapper_unregister('null'); - return $wrapped; + return Wrapper::wrapSource($source, $context, 'null', '\Icewind\Streams\NullWrapper'); } public function stream_open($path, $mode, $options, &$opened_path) { $this->loadContext('null'); return true; } + + public function dir_opendir($path, $options) { + $this->loadContext('null'); + return true; + } } diff --git a/apps/files_external/3rdparty/icewind/streams/src/Path.php b/apps/files_external/3rdparty/icewind/streams/src/Path.php new file mode 100644 index 00000000000..46d2156b69a --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams/src/Path.php @@ -0,0 +1,104 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Licensed under the MIT license: + * http://opensource.org/licenses/MIT + */ + +namespace Icewind\Streams; + +/** + * A string-like object that automatically registers a stream wrapper when used and removes the stream wrapper when no longer used + * + * Can optionally pass context options to the stream wrapper + */ +class Path { + + /** + * @var bool + */ + protected $registered = false; + + /** + * @var string + */ + protected $protocol; + + /** + * @var string + */ + protected $class; + + /** + * @var array + */ + protected $contextOptions; + + /** + * @param string $class + * @param array $contextOptions + */ + public function __construct($class, $contextOptions = array()) { + $this->class = $class; + $this->contextOptions = $contextOptions; + } + + public function getProtocol() { + if (!$this->protocol) { + $this->protocol = 'auto' . uniqid(); + } + return $this->protocol; + } + + public function wrapPath($path) { + return $this->getProtocol() . '://' . $path; + } + + protected function register() { + if (!$this->registered) { + $this->appendDefaultContent($this->getProtocol(), $this->contextOptions); + stream_wrapper_register($this->getProtocol(), $this->class); + $this->registered = true; + } + } + + protected function unregister() { + stream_wrapper_unregister($this->getProtocol()); + $this->unsetDefaultContent($this->getProtocol()); + $this->registered = false; + } + + /** + * Add values to the default stream context + * + * @param string $key + * @param array $values + */ + protected function appendDefaultContent($key, $values) { + $context = stream_context_get_default(); + $defaults = stream_context_get_options($context); + $defaults[$key] = $values; + stream_context_set_default($defaults); + } + + /** + * Remove values from the default stream context + * + * @param string $key + */ + protected function unsetDefaultContent($key) { + $context = stream_context_get_default(); + $defaults = stream_context_get_options($context); + unset($defaults[$key]); + stream_context_set_default($defaults); + } + + public function __toString() { + $this->register(); + return $this->protocol . '://'; + } + + public function __destruct() { + $this->unregister(); + } +} diff --git a/apps/files_external/3rdparty/icewind/streams/src/RetryWrapper.php b/apps/files_external/3rdparty/icewind/streams/src/RetryWrapper.php new file mode 100644 index 00000000000..84b43f6bd02 --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams/src/RetryWrapper.php @@ -0,0 +1,66 @@ +<?php +/** + * Copyright (c) 2016 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Licensed under the MIT license: + * http://opensource.org/licenses/MIT + */ + +namespace Icewind\Streams; + +/** + * Wrapper that retries reads/writes to remote streams that dont deliver/recieve all requested data at once + */ +class RetryWrapper extends Wrapper { + + /** + * Wraps a stream with the provided callbacks + * + * @param resource $source + * @return resource + */ + public static function wrap($source) { + $context = stream_context_create(array( + 'retry' => array( + 'source' => $source + ) + )); + return Wrapper::wrapSource($source, $context, 'retry', '\Icewind\Streams\RetryWrapper'); + } + + protected function open() { + $this->loadContext('retry'); + return true; + } + + public function dir_opendir($path, $options) { + return false; + } + + public function stream_open($path, $mode, $options, &$opened_path) { + return $this->open(); + } + + public function stream_read($count) { + $result = parent::stream_read($count); + + $bytesReceived = strlen($result); + while ($bytesReceived < $count && !$this->stream_eof()) { + $result .= parent::stream_read($count - $bytesReceived); + $bytesReceived = strlen($result); + } + + return $result; + } + + public function stream_write($data) { + $bytesToSend = strlen($data); + $result = parent::stream_write($data); + + while ($result < $bytesToSend && !$this->stream_eof()) { + $dataLeft = substr($data, $result); + $result += parent::stream_write($dataLeft); + } + + return $result; + } +} diff --git a/apps/files_external/3rdparty/icewind/streams/src/SeekableWrapper.php b/apps/files_external/3rdparty/icewind/streams/src/SeekableWrapper.php new file mode 100644 index 00000000000..d41fd73ec9c --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams/src/SeekableWrapper.php @@ -0,0 +1,92 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Licensed under the MIT license: + * http://opensource.org/licenses/MIT + */ + +namespace Icewind\Streams; + +/** + * Wrapper that provides callbacks for write, read and close + * + * The following options should be passed in the context when opening the stream + * [ + * 'callback' => [ + * 'source' => resource + * ] + * ] + * + * All callbacks are called after the operation is executed on the source stream + */ +class SeekableWrapper extends Wrapper { + /** + * @var resource + */ + protected $cache; + + /** + * Wraps a stream to make it seekable + * + * @param resource $source + * @return resource + * + * @throws \BadMethodCallException + */ + public static function wrap($source) { + $context = stream_context_create(array( + 'callback' => array( + 'source' => $source + ) + )); + return Wrapper::wrapSource($source, $context, 'callback', '\Icewind\Streams\SeekableWrapper'); + } + + public function dir_opendir($path, $options) { + return false; + } + + public function stream_open($path, $mode, $options, &$opened_path) { + $this->loadContext('callback'); + $this->cache = fopen('php://temp', 'w+'); + return true; + } + + protected function readTill($position) { + $current = ftell($this->source); + if ($position > $current) { + $data = parent::stream_read($position - $current); + $cachePosition = ftell($this->cache); + fseek($this->cache, $current); + fwrite($this->cache, $data); + fseek($this->cache, $cachePosition); + } + } + + public function stream_read($count) { + $current = ftell($this->cache); + $this->readTill($current + $count); + return fread($this->cache, $count); + } + + public function stream_seek($offset, $whence = SEEK_SET) { + if ($whence === SEEK_SET) { + $target = $offset; + } else if ($whence === SEEK_CUR) { + $current = ftell($this->cache); + $target = $current + $offset; + } else { + return false; + } + $this->readTill($target); + return fseek($this->cache, $target) === 0; + } + + public function stream_tell() { + return ftell($this->cache); + } + + public function stream_eof() { + return parent::stream_eof() and (ftell($this->source) === ftell($this->cache)); + } +} diff --git a/apps/files_external/3rdparty/icewind/streams/src/Url.php b/apps/files_external/3rdparty/icewind/streams/src/Url.php new file mode 100644 index 00000000000..d6822608a33 --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams/src/Url.php @@ -0,0 +1,64 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Licensed under the MIT license: + * http://opensource.org/licenses/MIT + */ + +namespace Icewind\Streams; + +/** + * Interface for stream wrappers that implement url functions such as unlink, stat + */ +interface Url { + /** + * @param string $path + * @param array $options + * @return bool + */ + public function dir_opendir($path, $options); + + /** + * @param string $path + * @param string $mode + * @param int $options + * @param string &$opened_path + * @return bool + */ + public function stream_open($path, $mode, $options, &$opened_path); + + /** + * @param string $path + * @param int $mode + * @param int $options + * @return bool + */ + public function mkdir($path, $mode, $options); + + /** + * @param string $source + * @param string $target + * @return bool + */ + public function rename($source, $target); + + /** + * @param string $path + * @param int $options + * @return bool + */ + public function rmdir($path, $options); + + /** + * @param string + * @return bool + */ + public function unlink($path); + + /** + * @param string $path + * @param int $flags + * @return array + */ + public function url_stat($path, $flags); +} diff --git a/apps/files_external/3rdparty/icewind/streams/src/UrlCallBack.php b/apps/files_external/3rdparty/icewind/streams/src/UrlCallBack.php new file mode 100644 index 00000000000..580bfc6ba22 --- /dev/null +++ b/apps/files_external/3rdparty/icewind/streams/src/UrlCallBack.php @@ -0,0 +1,121 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Licensed under the MIT license: + * http://opensource.org/licenses/MIT + */ + +namespace Icewind\Streams; + +/** + * Wrapper that provides callbacks for url actions such as fopen, unlink, rename + * + * Usage: + * + * $path = UrlCallBack('/path/so/source', function(){ + * echo 'fopen'; + * }, function(){ + * echo 'opendir'; + * }, function(){ + * echo 'mkdir'; + * }, function(){ + * echo 'rename'; + * }, function(){ + * echo 'rmdir'; + * }, function(){ + * echo 'unlink'; + * }, function(){ + * echo 'stat'; + * }); + * + * mkdir($path); + * ... + * + * All callbacks are called after the operation is executed on the source stream + */ +class UrlCallback extends Wrapper implements Url { + + /** + * @param string $source + * @param callable $fopen + * @param callable $opendir + * @param callable $mkdir + * @param callable $rename + * @param callable $rmdir + * @param callable $unlink + * @param callable $stat + * @return \Icewind\Streams\Path + * + * @throws \BadMethodCallException + * @throws \Exception + */ + public static function wrap($source, $fopen = null, $opendir = null, $mkdir = null, $rename = null, $rmdir = null, + $unlink = null, $stat = null) { + $options = array( + 'source' => $source, + 'fopen' => $fopen, + 'opendir' => $opendir, + 'mkdir' => $mkdir, + 'rename' => $rename, + 'rmdir' => $rmdir, + 'unlink' => $unlink, + 'stat' => $stat + ); + return new Path('\Icewind\Streams\UrlCallBack', $options); + } + + protected function loadContext($url) { + list($protocol) = explode('://', $url); + $options = stream_context_get_options($this->context); + return $options[$protocol]; + } + + protected function callCallBack($context, $callback) { + if (is_callable($context[$callback])) { + call_user_func($context[$callback]); + } + } + + public function stream_open($path, $mode, $options, &$opened_path) { + $context = $this->loadContext($path); + $this->callCallBack($context, 'fopen'); + $this->setSourceStream(fopen($context['source'], $mode)); + return true; + } + + public function dir_opendir($path, $options) { + $context = $this->loadContext($path); + $this->callCallBack($context, 'opendir'); + $this->setSourceStream(opendir($context['source'])); + return true; + } + + public function mkdir($path, $mode, $options) { + $context = $this->loadContext($path); + $this->callCallBack($context, 'mkdir'); + return mkdir($context['source'], $mode, $options & STREAM_MKDIR_RECURSIVE); + } + + public function rmdir($path, $options) { + $context = $this->loadContext($path); + $this->callCallBack($context, 'rmdir'); + return rmdir($context['source']); + } + + public function rename($source, $target) { + $context = $this->loadContext($source); + $this->callCallBack($context, 'rename'); + list(, $target) = explode('://', $target); + return rename($context['source'], $target); + } + + public function unlink($path) { + $context = $this->loadContext($path); + $this->callCallBack($context, 'unlink'); + return unlink($context['source']); + } + + public function url_stat($path, $flags) { + throw new \Exception('stat is not supported due to php bug 50526'); + } +} diff --git a/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php b/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php index 2e3a6e6cd88..53de2942ca9 100644 --- a/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php +++ b/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php @@ -12,7 +12,7 @@ namespace Icewind\Streams; * * This wrapper itself doesn't implement any functionality but is just a base class for other wrappers to extend */ -abstract class Wrapper implements File { +abstract class Wrapper implements File, Directory { /** * @var resource */ @@ -25,6 +25,22 @@ abstract class Wrapper implements File { */ protected $source; + protected static function wrapSource($source, $context, $protocol, $class) { + try { + stream_wrapper_register($protocol, $class); + if (@rewinddir($source) === false) { + $wrapped = fopen($protocol . '://', 'r+', false, $context); + } else { + $wrapped = opendir($protocol . '://', $context); + } + } catch (\BadMethodCallException $e) { + stream_wrapper_unregister($protocol); + throw $e; + } + stream_wrapper_unregister($protocol); + return $wrapped; + } + /** * Load the source from the stream context and return the context options * @@ -107,4 +123,17 @@ abstract class Wrapper implements File { public function stream_close() { return fclose($this->source); } + + public function dir_readdir() { + return readdir($this->source); + } + + public function dir_closedir() { + closedir($this->source); + return true; + } + + public function dir_rewinddir() { + return rewind($this->source); + } } diff --git a/apps/files_external/3rdparty/icewind/streams/tests/CallbackWrapper.php b/apps/files_external/3rdparty/icewind/streams/tests/CallbackWrapper.php deleted file mode 100644 index 229b629dcd9..00000000000 --- a/apps/files_external/3rdparty/icewind/streams/tests/CallbackWrapper.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php -/** - * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Licensed under the MIT license: - * http://opensource.org/licenses/MIT - */ - -namespace Icewind\Streams\Tests; - -class CallbackWrapper extends Wrapper { - - /** - * @param resource $source - * @param callable $read - * @param callable $write - * @param callable $close - * @return resource - */ - protected function wrapSource($source, $read = null, $write = null, $close = null) { - return \Icewind\Streams\CallbackWrapper::wrap($source, $read, $write, $close); - } - - /** - * @expectedException \BadMethodCallException - */ - public function testWrapInvalidSource() { - $this->wrapSource('foo'); - } - - public function testReadCallback() { - $called = false; - $callBack = function () use (&$called) { - $called = true; - }; - - $source = fopen('php://temp', 'r+'); - fwrite($source, 'foobar'); - rewind($source); - - $wrapped = $this->wrapSource($source, $callBack); - $this->assertEquals('foo', fread($wrapped, 3)); - $this->assertTrue($called); - } - - public function testWriteCallback() { - $lastData = ''; - $callBack = function ($data) use (&$lastData) { - $lastData = $data; - }; - - $source = fopen('php://temp', 'r+'); - - $wrapped = $this->wrapSource($source, null, $callBack); - fwrite($wrapped, 'foobar'); - $this->assertEquals('foobar', $lastData); - } - - public function testCloseCallback() { - $called = false; - $callBack = function () use (&$called) { - $called = true; - }; - - $source = fopen('php://temp', 'r+'); - fwrite($source, 'foobar'); - rewind($source); - - $wrapped = $this->wrapSource($source, null, null, $callBack); - fclose($wrapped); - $this->assertTrue($called); - } -} diff --git a/apps/files_external/3rdparty/icewind/streams/tests/IteratorDirectory.php b/apps/files_external/3rdparty/icewind/streams/tests/IteratorDirectory.php deleted file mode 100644 index 0d990468368..00000000000 --- a/apps/files_external/3rdparty/icewind/streams/tests/IteratorDirectory.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php -/** - * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Licensed under the MIT license: - * http://opensource.org/licenses/MIT - */ - -namespace Icewind\Streams\Tests; - -class IteratorDirectory extends \PHPUnit_Framework_TestCase { - - /** - * @param \Iterator | array $source - * @return resource - */ - protected function wrapSource($source) { - return \Icewind\Streams\IteratorDirectory::wrap($source); - } - - /** - * @expectedException \BadMethodCallException - */ - public function testNoContext() { - $context = stream_context_create(array()); - stream_wrapper_register('iterator', '\Icewind\Streams\IteratorDirectory'); - try { - opendir('iterator://', $context); - stream_wrapper_unregister('iterator'); - } catch (\Exception $e) { - stream_wrapper_unregister('iterator'); - throw $e; - } - } - - /** - * @expectedException \BadMethodCallException - */ - public function testInvalidSource() { - $context = stream_context_create(array( - 'dir' => array( - 'array' => 2 - ) - )); - stream_wrapper_register('iterator', '\Icewind\Streams\IteratorDirectory'); - try { - opendir('iterator://', $context); - stream_wrapper_unregister('iterator'); - } catch (\Exception $e) { - stream_wrapper_unregister('iterator'); - throw $e; - } - } - - /** - * @expectedException \BadMethodCallException - */ - public function testWrapInvalidSource() { - $this->wrapSource(2); - } - - public function fileListProvider() { - $longList = array_fill(0, 500, 'foo'); - return array( - array( - array( - 'foo', - 'bar', - 'qwerty' - ) - ), - array( - array( - 'with spaces', - 'under_scores', - '日本語', - 'character %$_', - '.', - '0', - 'double "quotes"', - "single 'quotes'" - ) - ), - array( - array( - 'single item' - ) - ), - array( - $longList - ), - array( - array() - ) - ); - } - - protected function basicTest($fileList, $dh) { - $result = array(); - - while (($file = readdir($dh)) !== false) { - $result[] = $file; - } - - $this->assertEquals($fileList, $result); - - rewinddir($dh); - if (count($fileList)) { - $this->assertEquals($fileList[0], readdir($dh)); - } else { - $this->assertFalse(readdir($dh)); - } - } - - /** - * @dataProvider fileListProvider - */ - public function testBasicIterator($fileList) { - $iterator = new \ArrayIterator($fileList); - $dh = $this->wrapSource($iterator); - $this->basicTest($fileList, $dh); - } - - /** - * @dataProvider fileListProvider - */ - public function testBasicArray($fileList) { - $dh = $this->wrapSource($fileList); - $this->basicTest($fileList, $dh); - } -} diff --git a/apps/files_external/3rdparty/icewind/streams/tests/NullWrapper.php b/apps/files_external/3rdparty/icewind/streams/tests/NullWrapper.php deleted file mode 100644 index ba42b4dfea1..00000000000 --- a/apps/files_external/3rdparty/icewind/streams/tests/NullWrapper.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Licensed under the MIT license: - * http://opensource.org/licenses/MIT - */ - -namespace Icewind\Streams\Tests; - -class NullWrapper extends Wrapper { - - /** - * @param resource $source - * @return resource - */ - protected function wrapSource($source) { - return \Icewind\Streams\NullWrapper::wrap($source); - } - - /** - * @expectedException \BadMethodCallException - */ - public function testNoContext() { - stream_wrapper_register('null', '\Icewind\Streams\NullWrapper'); - $context = stream_context_create(array()); - try { - fopen('null://', 'r+', false, $context); - stream_wrapper_unregister('null'); - } catch (\Exception $e) { - stream_wrapper_unregister('null'); - throw $e; - } - } - - /** - * @expectedException \BadMethodCallException - */ - public function testNoSource() { - stream_wrapper_register('null', '\Icewind\Streams\NullWrapper'); - $context = stream_context_create(array( - 'null' => array( - 'source' => 'bar' - ) - )); - try { - fopen('null://', 'r+', false, $context); - } catch (\Exception $e) { - stream_wrapper_unregister('null'); - throw $e; - } - } - - /** - * @expectedException \BadMethodCallException - */ - public function testWrapInvalidSource() { - $this->wrapSource('foo'); - } -} diff --git a/apps/files_external/3rdparty/icewind/streams/tests/Wrapper.php b/apps/files_external/3rdparty/icewind/streams/tests/Wrapper.php deleted file mode 100644 index 6bb644dd611..00000000000 --- a/apps/files_external/3rdparty/icewind/streams/tests/Wrapper.php +++ /dev/null @@ -1,105 +0,0 @@ -<?php -/** - * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Licensed under the MIT license: - * http://opensource.org/licenses/MIT - */ - -namespace Icewind\Streams\Tests; - -abstract class Wrapper extends \PHPUnit_Framework_TestCase { - /** - * @param resource $source - * @return resource - */ - abstract protected function wrapSource($source); - - public function testRead() { - $source = fopen('php://temp', 'r+'); - fwrite($source, 'foobar'); - rewind($source); - - $wrapped = $this->wrapSource($source); - $this->assertEquals('foo', fread($wrapped, 3)); - $this->assertEquals('bar', fread($wrapped, 3)); - $this->assertEquals('', fread($wrapped, 3)); - } - - public function testWrite() { - $source = fopen('php://temp', 'r+'); - rewind($source); - - $wrapped = $this->wrapSource($source); - - $this->assertEquals(6, fwrite($wrapped, 'foobar')); - rewind($source); - $this->assertEquals('foobar', stream_get_contents($source)); - } - - public function testClose() { - $source = fopen('php://temp', 'r+'); - rewind($source); - - $wrapped = $this->wrapSource($source); - - fclose($wrapped); - $this->assertFalse(is_resource($source)); - } - - public function testSeekTell() { - $source = fopen('php://temp', 'r+'); - fwrite($source, 'foobar'); - rewind($source); - - $wrapped = $this->wrapSource($source); - - $this->assertEquals(0, ftell($wrapped)); - - fseek($wrapped, 2); - $this->assertEquals(2, ftell($source)); - $this->assertEquals(2, ftell($wrapped)); - - fseek($wrapped, 2, SEEK_CUR); - $this->assertEquals(4, ftell($source)); - $this->assertEquals(4, ftell($wrapped)); - - fseek($wrapped, -1, SEEK_END); - $this->assertEquals(5, ftell($source)); - $this->assertEquals(5, ftell($wrapped)); - } - - public function testStat() { - $source = fopen(__FILE__, 'r+'); - $wrapped = $this->wrapSource($source); - $this->assertEquals(stat(__FILE__), fstat($wrapped)); - } - - public function testTruncate() { - if (version_compare(phpversion(), '5.4.0', '<')) { - $this->markTestSkipped('php <5.4 doesn\'t support truncate for stream wrappers'); - } - $source = fopen('php://temp', 'r+'); - fwrite($source, 'foobar'); - rewind($source); - $wrapped = $this->wrapSource($source); - - ftruncate($wrapped, 2); - $this->assertEquals('fo', fread($wrapped, 10)); - } - - public function testLock() { - $source = tmpfile(); - $wrapped = $this->wrapSource($source); - if (!flock($wrapped, LOCK_EX)) { - $this->fail('Unable to acquire lock'); - } - } - - public function testStreamOptions() { - $source = fopen('php://temp', 'r+'); - $wrapped = $this->wrapSource($source); - stream_set_blocking($wrapped, 0); - stream_set_timeout($wrapped, 1, 0); - stream_set_write_buffer($wrapped, 0); - } -} diff --git a/apps/files_external/3rdparty/icewind/streams/tests/bootstrap.php b/apps/files_external/3rdparty/icewind/streams/tests/bootstrap.php deleted file mode 100644 index 2c17fd57feb..00000000000 --- a/apps/files_external/3rdparty/icewind/streams/tests/bootstrap.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -/** - * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Licensed under the MIT license: - * http://opensource.org/licenses/MIT - */ - -date_default_timezone_set('UTC'); -require_once __DIR__ . '/../vendor/autoload.php'; diff --git a/apps/files_external/3rdparty/icewind/streams/tests/phpunit.xml b/apps/files_external/3rdparty/icewind/streams/tests/phpunit.xml deleted file mode 100644 index e3d96352c43..00000000000 --- a/apps/files_external/3rdparty/icewind/streams/tests/phpunit.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<phpunit bootstrap="bootstrap.php"> - <testsuite name='Stream'> - <directory suffix='.php'>./</directory> - </testsuite> -</phpunit> diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 46a4ecf0793..18f8b2551fa 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -26,17 +26,7 @@ * */ -OC::$CLASSPATH['OC\Files\Storage\StreamWrapper'] = 'files_external/lib/streamwrapper.php'; -OC::$CLASSPATH['OC\Files\Storage\FTP'] = 'files_external/lib/ftp.php'; -OC::$CLASSPATH['OC\Files\Storage\OwnCloud'] = 'files_external/lib/owncloud.php'; -OC::$CLASSPATH['OC\Files\Storage\Google'] = 'files_external/lib/google.php'; -OC::$CLASSPATH['OC\Files\Storage\Swift'] = 'files_external/lib/swift.php'; -OC::$CLASSPATH['OC\Files\Storage\SMB'] = 'files_external/lib/smb.php'; -OC::$CLASSPATH['OC\Files\Storage\AmazonS3'] = 'files_external/lib/amazons3.php'; -OC::$CLASSPATH['OC\Files\Storage\Dropbox'] = 'files_external/lib/dropbox.php'; -OC::$CLASSPATH['OC\Files\Storage\SFTP'] = 'files_external/lib/sftp.php'; OC::$CLASSPATH['OC_Mount_Config'] = 'files_external/lib/config.php'; -OC::$CLASSPATH['OCA\Files\External\Api'] = 'files_external/lib/api.php'; require_once __DIR__ . '/../3rdparty/autoload.php'; diff --git a/apps/files_external/appinfo/routes.php b/apps/files_external/appinfo/routes.php index 2d2e6ddf607..e2f55e652a8 100644 --- a/apps/files_external/appinfo/routes.php +++ b/apps/files_external/appinfo/routes.php @@ -61,6 +61,6 @@ $this->create('files_external_list_applicable', '/applicable') \OCP\API::register('get', '/apps/files_external/api/v1/mounts', - array('\OCA\Files\External\Api', 'getUserMounts'), + array('\OCA\Files_External\Lib\Api', 'getUserMounts'), 'files_external'); diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css index c96c0cb97b9..6dfb012b15e 100644 --- a/apps/files_external/css/settings.css +++ b/apps/files_external/css/settings.css @@ -12,12 +12,17 @@ } td.mountPoint, td.backend { width:160px; } -#externalStorage td>img.action { visibility:hidden; padding-top:7px; } -#externalStorage tr:hover>td>img.action { visibility:visible; cursor:pointer; } +#externalStorage td>img { padding-top:7px; opacity: 0.5; } +#externalStorage td>img:hover { padding-top:7px; cursor:pointer; opacity: 1; } #addMountPoint>td { border:none; } #addMountPoint>td.applicable { visibility:hidden; } #addMountPoint>td.hidden { visibility:hidden; } +#externalStorage .icon-settings { + padding: 11px 20px; + vertical-align: text-bottom; +} + #selectBackend { margin-left: -10px; width: 150px; @@ -45,6 +50,10 @@ td.mountPoint, td.backend { width:160px; } margin-right: 6px; } +#externalStorage td.configuration input.disabled-success { + background-color: rgba(134, 255, 110, 0.9); +} + #externalStorage td.applicable div.chzn-container { position: relative; diff --git a/apps/files_external/js/dropbox.js b/apps/files_external/js/dropbox.js new file mode 100644 index 00000000000..8302f5711d6 --- /dev/null +++ b/apps/files_external/js/dropbox.js @@ -0,0 +1,30 @@ +$(document).ready(function() { + + function generateUrl($tr) { + var app_key = $tr.find('[data-parameter="app_key"]').val(); + if (app_key) { + return 'https://www.dropbox.com/developers/apps/info/' + app_key; + } else { + return 'https://www.dropbox.com/developers/apps'; + } + } + + OCA.External.Settings.mountConfig.whenSelectBackend(function($tr, backend, onCompletion) { + if (backend === 'dropbox') { + var backendEl = $tr.find('.backend'); + var el = $(document.createElement('a')) + .attr('href', generateUrl($tr)) + .attr('target', '_blank') + .attr('title', t('files_external', 'Dropbox App Configuration')) + .addClass('icon-settings svg') + ; + el.on('click', function(event) { + var a = $(event.target); + a.attr('href', generateUrl($(this).closest('tr'))); + }); + el.tooltip({placement: 'top'}); + backendEl.append(el); + } + }); + +}); diff --git a/apps/files_external/js/gdrive.js b/apps/files_external/js/gdrive.js new file mode 100644 index 00000000000..e02cedd6b45 --- /dev/null +++ b/apps/files_external/js/gdrive.js @@ -0,0 +1,26 @@ +$(document).ready(function() { + + function generateUrl($tr) { + // no mapping between client ID and Google 'project', so we always load the same URL + return 'https://console.developers.google.com/'; + } + + OCA.External.Settings.mountConfig.whenSelectBackend(function($tr, backend, onCompletion) { + if (backend === 'googledrive') { + var backendEl = $tr.find('.backend'); + var el = $(document.createElement('a')) + .attr('href', generateUrl($tr)) + .attr('target', '_blank') + .attr('title', t('files_external', 'Google Drive App Configuration')) + .addClass('icon-settings svg') + ; + el.on('click', function(event) { + var a = $(event.target); + a.attr('href', generateUrl($(this).closest('tr'))); + }); + el.tooltip({placement: 'top'}); + backendEl.append(el); + } + }); + +}); diff --git a/apps/files_external/js/oauth1.js b/apps/files_external/js/oauth1.js index e2ba25ebf8e..79248a3e3b2 100644 --- a/apps/files_external/js/oauth1.js +++ b/apps/files_external/js/oauth1.js @@ -1,5 +1,9 @@ $(document).ready(function() { + function displayGranted($tr) { + $tr.find('.configuration input.auth-param').attr('disabled', 'disabled').addClass('disabled-success'); + } + OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme, onCompletion) { if (authMechanism === 'oauth1::oauth1') { var config = $tr.find('.configuration'); @@ -13,8 +17,7 @@ $(document).ready(function() { onCompletion.then(function() { var configured = $tr.find('[data-parameter="configured"]'); if ($(configured).val() == 'true') { - $tr.find('.configuration input').attr('disabled', 'disabled'); - $tr.find('.configuration').append('<span id="access" style="padding-left:0.5em;">'+t('files_external', 'Access granted')+'</span>'); + displayGranted($tr); } else { var app_key = $tr.find('.configuration [data-parameter="app_key"]').val(); var app_secret = $tr.find('.configuration [data-parameter="app_secret"]').val(); @@ -33,8 +36,7 @@ $(document).ready(function() { $(configured).val('true'); OCA.External.Settings.mountConfig.saveStorageConfig($tr, function(status) { if (status) { - $tr.find('.configuration input').attr('disabled', 'disabled'); - $tr.find('.configuration').append('<span id="access" style="padding-left:0.5em;">'+t('files_external', 'Access granted')+'</span>'); + displayGranted($tr); } }); } else { diff --git a/apps/files_external/js/oauth2.js b/apps/files_external/js/oauth2.js index 2556bf45cae..13b5162694e 100644 --- a/apps/files_external/js/oauth2.js +++ b/apps/files_external/js/oauth2.js @@ -1,5 +1,9 @@ $(document).ready(function() { + function displayGranted($tr) { + $tr.find('.configuration input.auth-param').attr('disabled', 'disabled').addClass('disabled-success'); + } + OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme, onCompletion) { if (authMechanism === 'oauth2::oauth2') { var config = $tr.find('.configuration'); @@ -13,9 +17,7 @@ $(document).ready(function() { onCompletion.then(function() { var configured = $tr.find('[data-parameter="configured"]'); if ($(configured).val() == 'true') { - $tr.find('.configuration input').attr('disabled', 'disabled'); - $tr.find('.configuration').append($('<span/>').attr('id', 'access') - .text(t('files_external', 'Access granted'))); + displayGranted($tr); } else { var client_id = $tr.find('.configuration [data-parameter="client_id"]').val(); var client_secret = $tr.find('.configuration [data-parameter="client_secret"]') @@ -43,10 +45,7 @@ $(document).ready(function() { $(configured).val('true'); OCA.External.Settings.mountConfig.saveStorageConfig($tr, function(status) { if (status) { - $tr.find('.configuration input').attr('disabled', 'disabled'); - $tr.find('.configuration').append($('<span/>') - .attr('id', 'access') - .text(t('files_external', 'Access granted'))); + displayGranted($tr); } }); } else { diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index 0b33458bec2..55c12cc0ac9 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -34,17 +34,7 @@ var MOUNT_OPTIONS_DROPDOWN_TEMPLATE = ' </select>' + ' </div>' + '</div>'; - - /* TODO the current l10n extrator can't handle JS functions within handlebar - templates therefore they are duplicated here - t("files_external", "Enable encryption") - t("files_external", "Enable previews") - t("files_external", "Enable sharing") - t("files_external", "Check for changes") - t("files_external", "Never") - t("files_external", "Once every direct access") - */ - + /** * Returns the selection of applicable users in the given configuration row * diff --git a/apps/files_external/js/statusmanager.js b/apps/files_external/js/statusmanager.js index 33d2ea104be..118ec17d246 100644 --- a/apps/files_external/js/statusmanager.js +++ b/apps/files_external/js/statusmanager.js @@ -497,7 +497,7 @@ OCA.External.StatusManager.Utils = { if (folder instanceof $) { trFolder = folder; } else { - // cant use here FileList.findFileEl(OCA.External.StatusManager.Utils.jqSelEscape(folder)); return incorrect instance of filelist + // can't use here FileList.findFileEl(OCA.External.StatusManager.Utils.jqSelEscape(folder)); return incorrect instance of filelist trFolder = $('#fileList tr[data-file=\"' + OCA.External.StatusManager.Utils.jqSelEscape(folder) + '\"]'); } trFolder.removeClass('externalErroredRow').removeClass('externalDisabledRow'); diff --git a/apps/files_external/l10n/ar.js b/apps/files_external/l10n/ar.js index b7ecd7404d2..2f04f9b2baf 100644 --- a/apps/files_external/l10n/ar.js +++ b/apps/files_external/l10n/ar.js @@ -3,7 +3,6 @@ OC.L10N.register( { "Personal" : "شخصي", "System" : "النظام", - "Never" : "أبدا", "Saved" : "حفظ", "Username" : "إسم المستخدم", "Password" : "كلمة السر", @@ -23,6 +22,7 @@ OC.L10N.register( "ownCloud" : "ownCloud", "Share" : "شارك", "Name" : "اسم", + "Never" : "أبدا", "Folder name" : "اسم المجلد", "Configuration" : "إعداد", "Delete" : "إلغاء" diff --git a/apps/files_external/l10n/ar.json b/apps/files_external/l10n/ar.json index 37a3ee2d8f7..ff3647c612c 100644 --- a/apps/files_external/l10n/ar.json +++ b/apps/files_external/l10n/ar.json @@ -1,7 +1,6 @@ { "translations": { "Personal" : "شخصي", "System" : "النظام", - "Never" : "أبدا", "Saved" : "حفظ", "Username" : "إسم المستخدم", "Password" : "كلمة السر", @@ -21,6 +20,7 @@ "ownCloud" : "ownCloud", "Share" : "شارك", "Name" : "اسم", + "Never" : "أبدا", "Folder name" : "اسم المجلد", "Configuration" : "إعداد", "Delete" : "إلغاء" diff --git a/apps/files_external/l10n/ca.js b/apps/files_external/l10n/ca.js index 794409671e5..767318876d2 100644 --- a/apps/files_external/l10n/ca.js +++ b/apps/files_external/l10n/ca.js @@ -13,11 +13,6 @@ OC.L10N.register( "Access granted" : "S'ha concedit l'accés", "Generate keys" : "Generar claus", "Error generating key pair" : "Error en generar el parell de claus", - "Enable encryption" : "Habilitar xifrat", - "Enable previews" : "Habilitar vistes prèvies", - "Check for changes" : "Comproveu si hi ha canvis", - "Never" : "Mai", - "Once every direct access" : "Un cop cada accés directe", "All users. Type to select user or group." : "Tots els usuaris. Escriu per seleccionar un usuari o grup.", "(group)" : "(grup)", "Saved" : "Desat", @@ -62,6 +57,11 @@ OC.L10N.register( "Name" : "Nom", "Storage type" : "Tipus d'emmagatzemament", "Scope" : "Abast", + "Enable encryption" : "Habilitar xifrat", + "Enable previews" : "Habilitar vistes prèvies", + "Check for changes" : "Comproveu si hi ha canvis", + "Never" : "Mai", + "Once every direct access" : "Un cop cada accés directe", "External Storage" : "Emmagatzemament extern", "Folder name" : "Nom de la carpeta", "Configuration" : "Configuració", diff --git a/apps/files_external/l10n/ca.json b/apps/files_external/l10n/ca.json index 633cf9ba54a..a88071fdbea 100644 --- a/apps/files_external/l10n/ca.json +++ b/apps/files_external/l10n/ca.json @@ -11,11 +11,6 @@ "Access granted" : "S'ha concedit l'accés", "Generate keys" : "Generar claus", "Error generating key pair" : "Error en generar el parell de claus", - "Enable encryption" : "Habilitar xifrat", - "Enable previews" : "Habilitar vistes prèvies", - "Check for changes" : "Comproveu si hi ha canvis", - "Never" : "Mai", - "Once every direct access" : "Un cop cada accés directe", "All users. Type to select user or group." : "Tots els usuaris. Escriu per seleccionar un usuari o grup.", "(group)" : "(grup)", "Saved" : "Desat", @@ -60,6 +55,11 @@ "Name" : "Nom", "Storage type" : "Tipus d'emmagatzemament", "Scope" : "Abast", + "Enable encryption" : "Habilitar xifrat", + "Enable previews" : "Habilitar vistes prèvies", + "Check for changes" : "Comproveu si hi ha canvis", + "Never" : "Mai", + "Once every direct access" : "Un cop cada accés directe", "External Storage" : "Emmagatzemament extern", "Folder name" : "Nom de la carpeta", "Configuration" : "Configuració", diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js index 8e7afc609e4..93c660187d1 100644 --- a/apps/files_external/l10n/cs_CZ.js +++ b/apps/files_external/l10n/cs_CZ.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Chyba nastavení OAuth2", "Generate keys" : "Vytvořit klíče", "Error generating key pair" : "Chyba při vytváření páru klíčů", - "Enable encryption" : "Povolit šifrování", - "Enable previews" : "Povolit náhledy", - "Enable sharing" : "Povolit sdílení", - "Check for changes" : "Zkontrolovat změny", - "Never" : "Nikdy", - "Once every direct access" : "Jednou pro každý přímý přístup", "All users. Type to select user or group." : "Všichni uživatelé. Začněte psát pro výběr uživatelů a skupin.", "(group)" : "(skupina)", "Admin defined" : "Nastaveno administrátorem", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Název", "Storage type" : "Typ úložiště", "Scope" : "Rozsah", + "Enable encryption" : "Povolit šifrování", + "Enable previews" : "Povolit náhledy", + "Enable sharing" : "Povolit sdílení", + "Check for changes" : "Zkontrolovat změny", + "Never" : "Nikdy", + "Once every direct access" : "Jednou pro každý přímý přístup", "External Storage" : "Externí úložiště", "Folder name" : "Název složky", "Authentication" : "Ověření", diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json index ee12b0e098a..85734785379 100644 --- a/apps/files_external/l10n/cs_CZ.json +++ b/apps/files_external/l10n/cs_CZ.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Chyba nastavení OAuth2", "Generate keys" : "Vytvořit klíče", "Error generating key pair" : "Chyba při vytváření páru klíčů", - "Enable encryption" : "Povolit šifrování", - "Enable previews" : "Povolit náhledy", - "Enable sharing" : "Povolit sdílení", - "Check for changes" : "Zkontrolovat změny", - "Never" : "Nikdy", - "Once every direct access" : "Jednou pro každý přímý přístup", "All users. Type to select user or group." : "Všichni uživatelé. Začněte psát pro výběr uživatelů a skupin.", "(group)" : "(skupina)", "Admin defined" : "Nastaveno administrátorem", @@ -109,6 +103,12 @@ "Name" : "Název", "Storage type" : "Typ úložiště", "Scope" : "Rozsah", + "Enable encryption" : "Povolit šifrování", + "Enable previews" : "Povolit náhledy", + "Enable sharing" : "Povolit sdílení", + "Check for changes" : "Zkontrolovat změny", + "Never" : "Nikdy", + "Once every direct access" : "Jednou pro každý přímý přístup", "External Storage" : "Externí úložiště", "Folder name" : "Název složky", "Authentication" : "Ověření", diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js index 59e32a55fe6..7305364c686 100644 --- a/apps/files_external/l10n/da.js +++ b/apps/files_external/l10n/da.js @@ -16,6 +16,9 @@ OC.L10N.register( "Not permitted to use authentication mechanism \"%s\"" : "Ikke tilladt at bruge autorisation mekanismen \"%s\"", "Unsatisfied backend parameters" : "Utilfredsstillede backend-parametre", "Unsatisfied authentication mechanism parameters" : "Utilfredsstillede parametre for godkendelsesmekanisme", + "Insufficient data: %s" : "Utilstrækkelige data: %s", + "%s" : "%s", + "Storage with id \"%i\" is not user editable" : "Lageret med id \"%i\" kan ikke redigeres af bruger", "Personal" : "Personligt", "System" : "System", "Grant access" : "Godkend adgang", @@ -24,14 +27,11 @@ OC.L10N.register( "Error configuring OAuth2" : "Fejl under konfiguration af OAuth2", "Generate keys" : "Opret nøgler.", "Error generating key pair" : "Fejl under oprettelse af nøglepar", - "Enable encryption" : "Slå kryptering til", - "Enable previews" : "Slå forhåndsvisninger til", - "Check for changes" : "Tjek for ændringer", - "Never" : "Aldrig", - "Once every direct access" : "Kun ved hver direkte tilgang", "All users. Type to select user or group." : "Alle brugere. Indtast for at vælge bruger eller gruppe.", "(group)" : "(gruppe)", + "Admin defined" : "Bestemt af administrator", "Saved" : "Gemt", + "Empty response from the server" : "Svar fra serveren uden data", "Username" : "Brugernavn", "Password" : "Kodeord", "Save" : "Gem", @@ -92,6 +92,12 @@ OC.L10N.register( "Name" : "Navn", "Storage type" : "Lagertype", "Scope" : "Anvendelsesområde", + "Enable encryption" : "Slå kryptering til", + "Enable previews" : "Slå forhåndsvisninger til", + "Enable sharing" : "Slå deling til", + "Check for changes" : "Tjek for ændringer", + "Never" : "Aldrig", + "Once every direct access" : "Kun ved hver direkte tilgang", "External Storage" : "Ekstern opbevaring", "Folder name" : "Mappenavn", "Authentication" : "Godkendelse", diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json index ae50904a225..f2aa731623c 100644 --- a/apps/files_external/l10n/da.json +++ b/apps/files_external/l10n/da.json @@ -14,6 +14,9 @@ "Not permitted to use authentication mechanism \"%s\"" : "Ikke tilladt at bruge autorisation mekanismen \"%s\"", "Unsatisfied backend parameters" : "Utilfredsstillede backend-parametre", "Unsatisfied authentication mechanism parameters" : "Utilfredsstillede parametre for godkendelsesmekanisme", + "Insufficient data: %s" : "Utilstrækkelige data: %s", + "%s" : "%s", + "Storage with id \"%i\" is not user editable" : "Lageret med id \"%i\" kan ikke redigeres af bruger", "Personal" : "Personligt", "System" : "System", "Grant access" : "Godkend adgang", @@ -22,14 +25,11 @@ "Error configuring OAuth2" : "Fejl under konfiguration af OAuth2", "Generate keys" : "Opret nøgler.", "Error generating key pair" : "Fejl under oprettelse af nøglepar", - "Enable encryption" : "Slå kryptering til", - "Enable previews" : "Slå forhåndsvisninger til", - "Check for changes" : "Tjek for ændringer", - "Never" : "Aldrig", - "Once every direct access" : "Kun ved hver direkte tilgang", "All users. Type to select user or group." : "Alle brugere. Indtast for at vælge bruger eller gruppe.", "(group)" : "(gruppe)", + "Admin defined" : "Bestemt af administrator", "Saved" : "Gemt", + "Empty response from the server" : "Svar fra serveren uden data", "Username" : "Brugernavn", "Password" : "Kodeord", "Save" : "Gem", @@ -90,6 +90,12 @@ "Name" : "Navn", "Storage type" : "Lagertype", "Scope" : "Anvendelsesområde", + "Enable encryption" : "Slå kryptering til", + "Enable previews" : "Slå forhåndsvisninger til", + "Enable sharing" : "Slå deling til", + "Check for changes" : "Tjek for ændringer", + "Never" : "Aldrig", + "Once every direct access" : "Kun ved hver direkte tilgang", "External Storage" : "Ekstern opbevaring", "Folder name" : "Mappenavn", "Authentication" : "Godkendelse", diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js index a082b8c63aa..af51458d8a4 100644 --- a/apps/files_external/l10n/de.js +++ b/apps/files_external/l10n/de.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Fehler beim Einrichten von OAuth2", "Generate keys" : "Schlüssel erzeugen", "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", - "Enable encryption" : "Verschlüsselung aktivieren", - "Enable previews" : "Vorschau aktivieren", - "Enable sharing" : "Freigaben einschalten", - "Check for changes" : "Auf Änderungen überprüfen", - "Never" : "Nie", - "Once every direct access" : "Einmal bei jedem Direktzugriff", "All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.", "(group)" : "(group)", "Admin defined" : "Administrator festlegen", @@ -44,7 +38,7 @@ OC.L10N.register( "There was an error with message: " : "Es ist ein Fehler mit folgender Meldung aufgetreten:", "External mount error" : "Fehler beim einbinden des externen Speichers", "external-storage" : "Externer Speicher", - "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Es konnte keine Liste der Windows Netzlaufwerk erstellt werden: leer Antwort vom Server", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Es konnte keine Liste der Windows-Netzlaufwerke erstellt werden: leer Antwort vom Server", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Einige der konfigurierten externen Bereitstellungspunkte sind nicht angeschlossen. Bitte klicke auf die roten Zeile(n) für weitere Informationen", "Please enter the credentials for the {mount} mount" : "Bitte gib die Anmeldeinformationen für den {mount} externen Bereitstellungspunkt ein", "Username" : "Benutzername", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Name", "Storage type" : "Du hast noch keinen externen Speicher", "Scope" : "Anwendungsbereich", + "Enable encryption" : "Verschlüsselung aktivieren", + "Enable previews" : "Vorschau aktivieren", + "Enable sharing" : "Freigaben einschalten", + "Check for changes" : "Auf Änderungen überprüfen", + "Never" : "Nie", + "Once every direct access" : "Einmal bei jedem Direktzugriff", "External Storage" : "Externer Speicher", "Folder name" : "Ordnername", "Authentication" : "Authentifizierung", diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json index 6157cb12fc3..2cb80cc32ae 100644 --- a/apps/files_external/l10n/de.json +++ b/apps/files_external/l10n/de.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Fehler beim Einrichten von OAuth2", "Generate keys" : "Schlüssel erzeugen", "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", - "Enable encryption" : "Verschlüsselung aktivieren", - "Enable previews" : "Vorschau aktivieren", - "Enable sharing" : "Freigaben einschalten", - "Check for changes" : "Auf Änderungen überprüfen", - "Never" : "Nie", - "Once every direct access" : "Einmal bei jedem Direktzugriff", "All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.", "(group)" : "(group)", "Admin defined" : "Administrator festlegen", @@ -42,7 +36,7 @@ "There was an error with message: " : "Es ist ein Fehler mit folgender Meldung aufgetreten:", "External mount error" : "Fehler beim einbinden des externen Speichers", "external-storage" : "Externer Speicher", - "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Es konnte keine Liste der Windows Netzlaufwerk erstellt werden: leer Antwort vom Server", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Es konnte keine Liste der Windows-Netzlaufwerke erstellt werden: leer Antwort vom Server", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Einige der konfigurierten externen Bereitstellungspunkte sind nicht angeschlossen. Bitte klicke auf die roten Zeile(n) für weitere Informationen", "Please enter the credentials for the {mount} mount" : "Bitte gib die Anmeldeinformationen für den {mount} externen Bereitstellungspunkt ein", "Username" : "Benutzername", @@ -109,6 +103,12 @@ "Name" : "Name", "Storage type" : "Du hast noch keinen externen Speicher", "Scope" : "Anwendungsbereich", + "Enable encryption" : "Verschlüsselung aktivieren", + "Enable previews" : "Vorschau aktivieren", + "Enable sharing" : "Freigaben einschalten", + "Check for changes" : "Auf Änderungen überprüfen", + "Never" : "Nie", + "Once every direct access" : "Einmal bei jedem Direktzugriff", "External Storage" : "Externer Speicher", "Folder name" : "Ordnername", "Authentication" : "Authentifizierung", diff --git a/apps/files_external/l10n/de_AT.js b/apps/files_external/l10n/de_AT.js index 417e514c605..e151ec8ad1b 100644 --- a/apps/files_external/l10n/de_AT.js +++ b/apps/files_external/l10n/de_AT.js @@ -9,6 +9,7 @@ OC.L10N.register( "Host" : "Host", "Location" : "Ort", "Share" : "Freigeben", + "Name" : "Name", "Folder name" : "Ordner Name", "Delete" : "Löschen" }, diff --git a/apps/files_external/l10n/de_AT.json b/apps/files_external/l10n/de_AT.json index 6367f7d3b09..53a670e106d 100644 --- a/apps/files_external/l10n/de_AT.json +++ b/apps/files_external/l10n/de_AT.json @@ -7,6 +7,7 @@ "Host" : "Host", "Location" : "Ort", "Share" : "Freigeben", + "Name" : "Name", "Folder name" : "Ordner Name", "Delete" : "Löschen" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js index cbe2f98d6b8..8582d672aa9 100644 --- a/apps/files_external/l10n/de_DE.js +++ b/apps/files_external/l10n/de_DE.js @@ -27,21 +27,19 @@ OC.L10N.register( "Error configuring OAuth2" : "Fehler beim Konfigurieren von OAuth2", "Generate keys" : "Schlüssel erzeugen", "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", - "Enable encryption" : "Verschlüsselung aktivieren", - "Enable previews" : "Vorschau aktivieren", - "Enable sharing" : "Teilen aktivieren", - "Check for changes" : "Auf Änderungen überprüfen", - "Never" : "Nie", - "Once every direct access" : "Einmal bei jedem Direktzugriff", "All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.", "(group)" : "(group)", "Admin defined" : "Administrator definiert", "Saved" : "Gespeichert", "Empty response from the server" : "Leere Antwort vom Server erhalten", + "Couldn't access. Please logout and login to activate this mount point" : "Anmeldung nicht möglich. Bitte melden Sie sich ab und wieder an, damit Sie von diesem Endpunkt zugreifen können.", + "Couldn't get the information from the ownCloud server: {code} {type}" : "Es konnten keine Informationen aus dem ownCloud -Server gelesen werden: {code} {type}", "Couldn't get the list of external mount points: {type}" : "Konnte die Liste von externen Speichern nicht laden: {type}", "There was an error with message: " : "Ein Fehler ist aufgetreten:", "External mount error" : "Externer Einhängefehler", "external-storage" : "externer Speicher", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Es konnte keine Liste der Windows-Netzlaufwerke erstellt werden: leer Antwort vom Server", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Einige der konfigurierten externen Bereitstellungspunkte sind nicht angeschlossen. Bitte klicke Sie auf die roten Zeile(n) für weitere Informationen", "Please enter the credentials for the {mount} mount" : "Bitte geben Sie die Zugangsdaten für den {mount} Speicher an", "Username" : "Benutzername", "Password" : "Passwort", @@ -61,6 +59,7 @@ OC.L10N.register( "Client secret" : "Geheime Zeichenkette des Client", "OpenStack" : "Freihand", "Tenant name" : "Name des Mieters", + "Identity endpoint URL" : "Identität Endpunkt-URL", "Rackspace" : "Rackspace", "API key" : "API-Schlüssel", "Username and password" : "Benutzername und Passwort", @@ -106,6 +105,12 @@ OC.L10N.register( "Name" : "Name", "Storage type" : "Speichertyp", "Scope" : "Anwendungsbereich", + "Enable encryption" : "Verschlüsselung aktivieren", + "Enable previews" : "Vorschau aktivieren", + "Enable sharing" : "Teilen aktivieren", + "Check for changes" : "Auf Änderungen überprüfen", + "Never" : "Nie", + "Once every direct access" : "Einmal bei jedem Direktzugriff", "External Storage" : "Externer Speicher", "Folder name" : "Ordnername", "Authentication" : "Authentifizierung", diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json index a4e3d1f7306..c63904c89cb 100644 --- a/apps/files_external/l10n/de_DE.json +++ b/apps/files_external/l10n/de_DE.json @@ -25,21 +25,19 @@ "Error configuring OAuth2" : "Fehler beim Konfigurieren von OAuth2", "Generate keys" : "Schlüssel erzeugen", "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", - "Enable encryption" : "Verschlüsselung aktivieren", - "Enable previews" : "Vorschau aktivieren", - "Enable sharing" : "Teilen aktivieren", - "Check for changes" : "Auf Änderungen überprüfen", - "Never" : "Nie", - "Once every direct access" : "Einmal bei jedem Direktzugriff", "All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.", "(group)" : "(group)", "Admin defined" : "Administrator definiert", "Saved" : "Gespeichert", "Empty response from the server" : "Leere Antwort vom Server erhalten", + "Couldn't access. Please logout and login to activate this mount point" : "Anmeldung nicht möglich. Bitte melden Sie sich ab und wieder an, damit Sie von diesem Endpunkt zugreifen können.", + "Couldn't get the information from the ownCloud server: {code} {type}" : "Es konnten keine Informationen aus dem ownCloud -Server gelesen werden: {code} {type}", "Couldn't get the list of external mount points: {type}" : "Konnte die Liste von externen Speichern nicht laden: {type}", "There was an error with message: " : "Ein Fehler ist aufgetreten:", "External mount error" : "Externer Einhängefehler", "external-storage" : "externer Speicher", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Es konnte keine Liste der Windows-Netzlaufwerke erstellt werden: leer Antwort vom Server", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Einige der konfigurierten externen Bereitstellungspunkte sind nicht angeschlossen. Bitte klicke Sie auf die roten Zeile(n) für weitere Informationen", "Please enter the credentials for the {mount} mount" : "Bitte geben Sie die Zugangsdaten für den {mount} Speicher an", "Username" : "Benutzername", "Password" : "Passwort", @@ -59,6 +57,7 @@ "Client secret" : "Geheime Zeichenkette des Client", "OpenStack" : "Freihand", "Tenant name" : "Name des Mieters", + "Identity endpoint URL" : "Identität Endpunkt-URL", "Rackspace" : "Rackspace", "API key" : "API-Schlüssel", "Username and password" : "Benutzername und Passwort", @@ -104,6 +103,12 @@ "Name" : "Name", "Storage type" : "Speichertyp", "Scope" : "Anwendungsbereich", + "Enable encryption" : "Verschlüsselung aktivieren", + "Enable previews" : "Vorschau aktivieren", + "Enable sharing" : "Teilen aktivieren", + "Check for changes" : "Auf Änderungen überprüfen", + "Never" : "Nie", + "Once every direct access" : "Einmal bei jedem Direktzugriff", "External Storage" : "Externer Speicher", "Folder name" : "Ordnername", "Authentication" : "Authentifizierung", diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js index 5322fc65ad0..8ca17f848d3 100644 --- a/apps/files_external/l10n/el.js +++ b/apps/files_external/l10n/el.js @@ -26,14 +26,10 @@ OC.L10N.register( "Error configuring OAuth2" : "Σφάλμα ρύθμισης του OAuth2", "Generate keys" : "Δημιουργία κλειδιών", "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", - "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", - "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", - "Check for changes" : "Έλεγχος για αλλαγές", - "Never" : "Ποτέ", - "Once every direct access" : "Σε κάθε απευθείας πρόσβαση", "All users. Type to select user or group." : "Όλοι οι χρήστες. Πληκτρολογήστε για να επιλέξετε χρήστη ή ομάδα.", "(group)" : "(ομάδα)", "Saved" : "Αποθηκεύτηκαν", + "There was an error with message: " : "Υπήρξε σφάλμα στο μήνυμα:", "External mount error" : "Σφάλμα εξωτερικής προσάρτησης", "Username" : "Όνομα χρήστη", "Password" : "Κωδικός πρόσβασης", @@ -97,6 +93,11 @@ OC.L10N.register( "Name" : "Όνομα", "Storage type" : "Τύπος αποθηκευτικού χώρου", "Scope" : "Εύρος", + "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", + "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", + "Check for changes" : "Έλεγχος για αλλαγές", + "Never" : "Ποτέ", + "Once every direct access" : "Σε κάθε απευθείας πρόσβαση", "External Storage" : "Εξωτερικό Αποθηκευτικό Μέσο", "Folder name" : "Όνομα φακέλου", "Authentication" : "Πιστοποίηση", diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json index 84763812a40..2bac56048a5 100644 --- a/apps/files_external/l10n/el.json +++ b/apps/files_external/l10n/el.json @@ -24,14 +24,10 @@ "Error configuring OAuth2" : "Σφάλμα ρύθμισης του OAuth2", "Generate keys" : "Δημιουργία κλειδιών", "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", - "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", - "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", - "Check for changes" : "Έλεγχος για αλλαγές", - "Never" : "Ποτέ", - "Once every direct access" : "Σε κάθε απευθείας πρόσβαση", "All users. Type to select user or group." : "Όλοι οι χρήστες. Πληκτρολογήστε για να επιλέξετε χρήστη ή ομάδα.", "(group)" : "(ομάδα)", "Saved" : "Αποθηκεύτηκαν", + "There was an error with message: " : "Υπήρξε σφάλμα στο μήνυμα:", "External mount error" : "Σφάλμα εξωτερικής προσάρτησης", "Username" : "Όνομα χρήστη", "Password" : "Κωδικός πρόσβασης", @@ -95,6 +91,11 @@ "Name" : "Όνομα", "Storage type" : "Τύπος αποθηκευτικού χώρου", "Scope" : "Εύρος", + "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", + "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", + "Check for changes" : "Έλεγχος για αλλαγές", + "Never" : "Ποτέ", + "Once every direct access" : "Σε κάθε απευθείας πρόσβαση", "External Storage" : "Εξωτερικό Αποθηκευτικό Μέσο", "Folder name" : "Όνομα φακέλου", "Authentication" : "Πιστοποίηση", diff --git a/apps/files_external/l10n/en@pirate.js b/apps/files_external/l10n/en@pirate.js deleted file mode 100644 index 7345429f750..00000000000 --- a/apps/files_external/l10n/en@pirate.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "files_external", - { - "Password" : "Secret Code" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/en@pirate.json b/apps/files_external/l10n/en@pirate.json deleted file mode 100644 index bde5153f309..00000000000 --- a/apps/files_external/l10n/en@pirate.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Password" : "Secret Code" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js index 7a8d221b26a..288a0561765 100644 --- a/apps/files_external/l10n/en_GB.js +++ b/apps/files_external/l10n/en_GB.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Error configuring OAuth2", "Generate keys" : "Generate keys", "Error generating key pair" : "Error generating key pair", - "Enable encryption" : "Enable encryption", - "Enable previews" : "Enable previews", - "Enable sharing" : "Enable sharing", - "Check for changes" : "Check for changes", - "Never" : "Never", - "Once every direct access" : "Once every direct access", "All users. Type to select user or group." : "All users. Type to select user or group.", "(group)" : "(group)", "Admin defined" : "Admin defined", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Name", "Storage type" : "Storage type", "Scope" : "Scope", + "Enable encryption" : "Enable encryption", + "Enable previews" : "Enable previews", + "Enable sharing" : "Enable sharing", + "Check for changes" : "Check for changes", + "Never" : "Never", + "Once every direct access" : "Once every direct access", "External Storage" : "External Storage", "Folder name" : "Folder name", "Authentication" : "Authentication", diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json index 107f769d624..d479ff7b3af 100644 --- a/apps/files_external/l10n/en_GB.json +++ b/apps/files_external/l10n/en_GB.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Error configuring OAuth2", "Generate keys" : "Generate keys", "Error generating key pair" : "Error generating key pair", - "Enable encryption" : "Enable encryption", - "Enable previews" : "Enable previews", - "Enable sharing" : "Enable sharing", - "Check for changes" : "Check for changes", - "Never" : "Never", - "Once every direct access" : "Once every direct access", "All users. Type to select user or group." : "All users. Type to select user or group.", "(group)" : "(group)", "Admin defined" : "Admin defined", @@ -109,6 +103,12 @@ "Name" : "Name", "Storage type" : "Storage type", "Scope" : "Scope", + "Enable encryption" : "Enable encryption", + "Enable previews" : "Enable previews", + "Enable sharing" : "Enable sharing", + "Check for changes" : "Check for changes", + "Never" : "Never", + "Once every direct access" : "Once every direct access", "External Storage" : "External Storage", "Folder name" : "Folder name", "Authentication" : "Authentication", diff --git a/apps/files_external/l10n/eo.js b/apps/files_external/l10n/eo.js index 37e169d8848..1a3e6145641 100644 --- a/apps/files_external/l10n/eo.js +++ b/apps/files_external/l10n/eo.js @@ -11,10 +11,6 @@ OC.L10N.register( "Grant access" : "Doni alirpermeson", "Access granted" : "Alirpermeso donita", "Generate keys" : "Generi ŝlosilojn", - "Enable encryption" : "Kapabligi ĉifradon", - "Enable previews" : "Kapabligi antaŭvidojn", - "Enable sharing" : "Kapabligi kunhavigadon", - "Never" : "Neniam", "All users. Type to select user or group." : "Ĉiuj uzantoj. Tajpu por elekti uzanton aŭ grupon.", "(group)" : "(grupo)", "Admin defined" : "Difinita de administranto", @@ -59,6 +55,10 @@ OC.L10N.register( "Name" : "Nomo", "Storage type" : "Memortipo", "Scope" : "Amplekso", + "Enable encryption" : "Kapabligi ĉifradon", + "Enable previews" : "Kapabligi antaŭvidojn", + "Enable sharing" : "Kapabligi kunhavigadon", + "Never" : "Neniam", "External Storage" : "Malena memorilo", "Folder name" : "Dosierujnomo", "Authentication" : "Aŭtentigo", diff --git a/apps/files_external/l10n/eo.json b/apps/files_external/l10n/eo.json index ba849995cef..7af3ffad2ca 100644 --- a/apps/files_external/l10n/eo.json +++ b/apps/files_external/l10n/eo.json @@ -9,10 +9,6 @@ "Grant access" : "Doni alirpermeson", "Access granted" : "Alirpermeso donita", "Generate keys" : "Generi ŝlosilojn", - "Enable encryption" : "Kapabligi ĉifradon", - "Enable previews" : "Kapabligi antaŭvidojn", - "Enable sharing" : "Kapabligi kunhavigadon", - "Never" : "Neniam", "All users. Type to select user or group." : "Ĉiuj uzantoj. Tajpu por elekti uzanton aŭ grupon.", "(group)" : "(grupo)", "Admin defined" : "Difinita de administranto", @@ -57,6 +53,10 @@ "Name" : "Nomo", "Storage type" : "Memortipo", "Scope" : "Amplekso", + "Enable encryption" : "Kapabligi ĉifradon", + "Enable previews" : "Kapabligi antaŭvidojn", + "Enable sharing" : "Kapabligi kunhavigadon", + "Never" : "Neniam", "External Storage" : "Malena memorilo", "Folder name" : "Dosierujnomo", "Authentication" : "Aŭtentigo", diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js index 648c91e3164..71a93dc7da9 100644 --- a/apps/files_external/l10n/es.js +++ b/apps/files_external/l10n/es.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Error al configurar OAuth2", "Generate keys" : "Generar claves", "Error generating key pair" : "Error al generar el par de claves", - "Enable encryption" : "Habilitar cifrado", - "Enable previews" : "Habilitar previsualizaciones", - "Enable sharing" : "Habilitar comparto", - "Check for changes" : "Comprobar si hay cambios", - "Never" : "Nunca", - "Once every direct access" : "Una vez cada acceso directo", "All users. Type to select user or group." : "Todos los usuarios. Teclee para seleccionar un usuario o grupo.", "(group)" : "(grupo)", "Admin defined" : "Admin definido", @@ -69,7 +63,7 @@ OC.L10N.register( "Rackspace" : "Espacio de Rack", "API key" : "Clave API", "Username and password" : "Nombre de usuario y contraseña", - "Log-in credentials, save in session" : "Iniciar credenciales, guardar en la sesión", + "Log-in credentials, save in session" : "Credenciales de login, guardar en la sesión", "RSA public key" : "Clave pública RSA", "Public key" : "Clave pública", "Amazon S3" : "Amazon S3", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Nombre", "Storage type" : "Tipo de almacenamiento", "Scope" : "Ámbito", + "Enable encryption" : "Habilitar cifrado", + "Enable previews" : "Habilitar previsualizaciones", + "Enable sharing" : "Habilitar el uso compartido", + "Check for changes" : "Comprobar si hay cambios", + "Never" : "Nunca", + "Once every direct access" : "Una vez cada acceso directo", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", "Authentication" : "Autentificación", diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json index c9a07f20d13..351135e3011 100644 --- a/apps/files_external/l10n/es.json +++ b/apps/files_external/l10n/es.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Error al configurar OAuth2", "Generate keys" : "Generar claves", "Error generating key pair" : "Error al generar el par de claves", - "Enable encryption" : "Habilitar cifrado", - "Enable previews" : "Habilitar previsualizaciones", - "Enable sharing" : "Habilitar comparto", - "Check for changes" : "Comprobar si hay cambios", - "Never" : "Nunca", - "Once every direct access" : "Una vez cada acceso directo", "All users. Type to select user or group." : "Todos los usuarios. Teclee para seleccionar un usuario o grupo.", "(group)" : "(grupo)", "Admin defined" : "Admin definido", @@ -67,7 +61,7 @@ "Rackspace" : "Espacio de Rack", "API key" : "Clave API", "Username and password" : "Nombre de usuario y contraseña", - "Log-in credentials, save in session" : "Iniciar credenciales, guardar en la sesión", + "Log-in credentials, save in session" : "Credenciales de login, guardar en la sesión", "RSA public key" : "Clave pública RSA", "Public key" : "Clave pública", "Amazon S3" : "Amazon S3", @@ -109,6 +103,12 @@ "Name" : "Nombre", "Storage type" : "Tipo de almacenamiento", "Scope" : "Ámbito", + "Enable encryption" : "Habilitar cifrado", + "Enable previews" : "Habilitar previsualizaciones", + "Enable sharing" : "Habilitar el uso compartido", + "Check for changes" : "Comprobar si hay cambios", + "Never" : "Nunca", + "Once every direct access" : "Una vez cada acceso directo", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", "Authentication" : "Autentificación", diff --git a/apps/files_external/l10n/et_EE.js b/apps/files_external/l10n/et_EE.js index 5e03f32571d..40bcef6bf05 100644 --- a/apps/files_external/l10n/et_EE.js +++ b/apps/files_external/l10n/et_EE.js @@ -19,12 +19,6 @@ OC.L10N.register( "Error configuring OAuth2" : "OAuth2 seadistamise tõrge", "Generate keys" : "Loo võtmed", "Error generating key pair" : "Viga võtmepaari loomisel", - "Enable encryption" : "Luba krüpteerimine", - "Enable previews" : "Luba eelvaated", - "Enable sharing" : "Luba jagamine", - "Check for changes" : "Otsi uuendusi", - "Never" : "Mitte kunagi", - "Once every direct access" : "Kord iga otsese pöördumise korral", "All users. Type to select user or group." : "Kõik kasutajad. Kirjuta, et valida kasutaja või grupp.", "(group)" : "(grupp)", "Admin defined" : "Admini poolt määratud", @@ -90,6 +84,12 @@ OC.L10N.register( "Name" : "Nimi", "Storage type" : "Andmehoidla tüüp", "Scope" : "Skoop", + "Enable encryption" : "Luba krüpteerimine", + "Enable previews" : "Luba eelvaated", + "Enable sharing" : "Luba jagamine", + "Check for changes" : "Otsi uuendusi", + "Never" : "Mitte kunagi", + "Once every direct access" : "Kord iga otsese pöördumise korral", "External Storage" : "Väline salvestuskoht", "Folder name" : "Kausta nimi", "Authentication" : "Autentimine", diff --git a/apps/files_external/l10n/et_EE.json b/apps/files_external/l10n/et_EE.json index 8d4334225e7..d9b5a2446f1 100644 --- a/apps/files_external/l10n/et_EE.json +++ b/apps/files_external/l10n/et_EE.json @@ -17,12 +17,6 @@ "Error configuring OAuth2" : "OAuth2 seadistamise tõrge", "Generate keys" : "Loo võtmed", "Error generating key pair" : "Viga võtmepaari loomisel", - "Enable encryption" : "Luba krüpteerimine", - "Enable previews" : "Luba eelvaated", - "Enable sharing" : "Luba jagamine", - "Check for changes" : "Otsi uuendusi", - "Never" : "Mitte kunagi", - "Once every direct access" : "Kord iga otsese pöördumise korral", "All users. Type to select user or group." : "Kõik kasutajad. Kirjuta, et valida kasutaja või grupp.", "(group)" : "(grupp)", "Admin defined" : "Admini poolt määratud", @@ -88,6 +82,12 @@ "Name" : "Nimi", "Storage type" : "Andmehoidla tüüp", "Scope" : "Skoop", + "Enable encryption" : "Luba krüpteerimine", + "Enable previews" : "Luba eelvaated", + "Enable sharing" : "Luba jagamine", + "Check for changes" : "Otsi uuendusi", + "Never" : "Mitte kunagi", + "Once every direct access" : "Kord iga otsese pöördumise korral", "External Storage" : "Väline salvestuskoht", "Folder name" : "Kausta nimi", "Authentication" : "Autentimine", diff --git a/apps/files_external/l10n/fa.js b/apps/files_external/l10n/fa.js index edc3f1c0fb3..629775c23a1 100644 --- a/apps/files_external/l10n/fa.js +++ b/apps/files_external/l10n/fa.js @@ -13,9 +13,6 @@ OC.L10N.register( "Error configuring OAuth1" : "خطا پیکربندی OAuth1", "Error configuring OAuth2" : "خطا پیکربندی OAuth2", "Generate keys" : "تولید کلید", - "Enable encryption" : "فعال کردن رمزگذاری", - "Check for changes" : "بررسی برای تغییرات", - "Never" : "هرگز", "(group)" : "(گروه)", "Saved" : "ذخیره شد", "Username" : "نام کاربری", @@ -53,6 +50,9 @@ OC.L10N.register( "Name" : "نام", "Storage type" : "نوع فضای ذخیرهسازی", "Scope" : "حوزه", + "Enable encryption" : "فعال کردن رمزگذاری", + "Check for changes" : "بررسی برای تغییرات", + "Never" : "هرگز", "External Storage" : "حافظه خارجی", "Folder name" : "نام پوشه", "Authentication" : "احراز هویت", diff --git a/apps/files_external/l10n/fa.json b/apps/files_external/l10n/fa.json index c3dfcafbbfe..4e7337b95c5 100644 --- a/apps/files_external/l10n/fa.json +++ b/apps/files_external/l10n/fa.json @@ -11,9 +11,6 @@ "Error configuring OAuth1" : "خطا پیکربندی OAuth1", "Error configuring OAuth2" : "خطا پیکربندی OAuth2", "Generate keys" : "تولید کلید", - "Enable encryption" : "فعال کردن رمزگذاری", - "Check for changes" : "بررسی برای تغییرات", - "Never" : "هرگز", "(group)" : "(گروه)", "Saved" : "ذخیره شد", "Username" : "نام کاربری", @@ -51,6 +48,9 @@ "Name" : "نام", "Storage type" : "نوع فضای ذخیرهسازی", "Scope" : "حوزه", + "Enable encryption" : "فعال کردن رمزگذاری", + "Check for changes" : "بررسی برای تغییرات", + "Never" : "هرگز", "External Storage" : "حافظه خارجی", "Folder name" : "نام پوشه", "Authentication" : "احراز هویت", diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js index b64d44bf12b..3da8e1aea39 100644 --- a/apps/files_external/l10n/fi_FI.js +++ b/apps/files_external/l10n/fi_FI.js @@ -15,12 +15,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Virhe OAuth2:n asetuksia tehdessä", "Generate keys" : "Luo avaimet", "Error generating key pair" : "Virhe luotaessa avainparia", - "Enable encryption" : "Käytä salausta", - "Enable previews" : "Käytä esikatseluja", - "Enable sharing" : "Käytä jakamista", - "Check for changes" : "Tarkista muutokset", - "Never" : "Ei koskaan", - "Once every direct access" : "Kerran aina suoran käytön yhteydessä", "All users. Type to select user or group." : "Kaikki käyttäjät. Kirjoita valitaksesi käyttäjän tai ryhmän.", "(group)" : "(ryhmä)", "Admin defined" : "Ylläpitäjän määrittämä", @@ -88,6 +82,12 @@ OC.L10N.register( "You can add external storages in the personal settings" : "Voit lisätä erillisiä tallennustiloja henkilökohtaisista asetuksistasi", "Name" : "Nimi", "Storage type" : "Tallennustilan tyyppi", + "Enable encryption" : "Käytä salausta", + "Enable previews" : "Käytä esikatseluja", + "Enable sharing" : "Käytä jakamista", + "Check for changes" : "Tarkista muutokset", + "Never" : "Ei koskaan", + "Once every direct access" : "Kerran aina suoran käytön yhteydessä", "External Storage" : "Erillinen tallennusväline", "Folder name" : "Kansion nimi", "Authentication" : "Tunnistautuminen", diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json index 543ccafca3a..cc7e933d468 100644 --- a/apps/files_external/l10n/fi_FI.json +++ b/apps/files_external/l10n/fi_FI.json @@ -13,12 +13,6 @@ "Error configuring OAuth2" : "Virhe OAuth2:n asetuksia tehdessä", "Generate keys" : "Luo avaimet", "Error generating key pair" : "Virhe luotaessa avainparia", - "Enable encryption" : "Käytä salausta", - "Enable previews" : "Käytä esikatseluja", - "Enable sharing" : "Käytä jakamista", - "Check for changes" : "Tarkista muutokset", - "Never" : "Ei koskaan", - "Once every direct access" : "Kerran aina suoran käytön yhteydessä", "All users. Type to select user or group." : "Kaikki käyttäjät. Kirjoita valitaksesi käyttäjän tai ryhmän.", "(group)" : "(ryhmä)", "Admin defined" : "Ylläpitäjän määrittämä", @@ -86,6 +80,12 @@ "You can add external storages in the personal settings" : "Voit lisätä erillisiä tallennustiloja henkilökohtaisista asetuksistasi", "Name" : "Nimi", "Storage type" : "Tallennustilan tyyppi", + "Enable encryption" : "Käytä salausta", + "Enable previews" : "Käytä esikatseluja", + "Enable sharing" : "Käytä jakamista", + "Check for changes" : "Tarkista muutokset", + "Never" : "Ei koskaan", + "Once every direct access" : "Kerran aina suoran käytön yhteydessä", "External Storage" : "Erillinen tallennusväline", "Folder name" : "Kansion nimi", "Authentication" : "Tunnistautuminen", diff --git a/apps/files_external/l10n/fil.js b/apps/files_external/l10n/fil.js index e049851ae50..650a1c9f83a 100644 --- a/apps/files_external/l10n/fil.js +++ b/apps/files_external/l10n/fil.js @@ -2,6 +2,8 @@ OC.L10N.register( "files_external", { "Username" : "Username", - "Password" : "Password" + "Password" : "Password", + "Share" : "I-share", + "Folder name" : "Pangalan ng folder" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_external/l10n/fil.json b/apps/files_external/l10n/fil.json index 95d8e5f9717..4038379e221 100644 --- a/apps/files_external/l10n/fil.json +++ b/apps/files_external/l10n/fil.json @@ -1,5 +1,7 @@ { "translations": { "Username" : "Username", - "Password" : "Password" + "Password" : "Password", + "Share" : "I-share", + "Folder name" : "Pangalan ng folder" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index faef02726ce..12aeef22fc1 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Erreur lors de la configuration de OAuth2", "Generate keys" : "Générer des clés", "Error generating key pair" : "Erreur lors de la génération des clés", - "Enable encryption" : "Activer le chiffrement", - "Enable previews" : "Activer les prévisualisations", - "Enable sharing" : "Permettre le partage", - "Check for changes" : "Rechercher les modifications", - "Never" : "Jamais", - "Once every direct access" : "Une fois à chaque accès direct", "All users. Type to select user or group." : "Tous les utilisateurs. Cliquez ici pour restreindre.", "(group)" : "(groupe)", "Admin defined" : "Défini par l'administrateur", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Nom", "Storage type" : "Type de stockage", "Scope" : "Portée", + "Enable encryption" : "Activer le chiffrement", + "Enable previews" : "Activer les prévisualisations", + "Enable sharing" : "Permettre le partage", + "Check for changes" : "Rechercher les modifications", + "Never" : "Jamais", + "Once every direct access" : "Une fois à chaque accès direct", "External Storage" : "Stockage externe", "Folder name" : "Nom du dossier", "Authentication" : "Authentification", diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index 4bcb65e9caf..b345136b5fc 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Erreur lors de la configuration de OAuth2", "Generate keys" : "Générer des clés", "Error generating key pair" : "Erreur lors de la génération des clés", - "Enable encryption" : "Activer le chiffrement", - "Enable previews" : "Activer les prévisualisations", - "Enable sharing" : "Permettre le partage", - "Check for changes" : "Rechercher les modifications", - "Never" : "Jamais", - "Once every direct access" : "Une fois à chaque accès direct", "All users. Type to select user or group." : "Tous les utilisateurs. Cliquez ici pour restreindre.", "(group)" : "(groupe)", "Admin defined" : "Défini par l'administrateur", @@ -109,6 +103,12 @@ "Name" : "Nom", "Storage type" : "Type de stockage", "Scope" : "Portée", + "Enable encryption" : "Activer le chiffrement", + "Enable previews" : "Activer les prévisualisations", + "Enable sharing" : "Permettre le partage", + "Check for changes" : "Rechercher les modifications", + "Never" : "Jamais", + "Once every direct access" : "Une fois à chaque accès direct", "External Storage" : "Stockage externe", "Folder name" : "Nom du dossier", "Authentication" : "Authentification", diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js index 7c37f9a5694..3206f829813 100644 --- a/apps/files_external/l10n/gl.js +++ b/apps/files_external/l10n/gl.js @@ -13,11 +13,6 @@ OC.L10N.register( "Access granted" : "Concedeuse acceso", "Generate keys" : "Xerar chaves", "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", - "Enable encryption" : "Activar o cifrado", - "Enable previews" : "Activar as vistas previas", - "Check for changes" : "Comprobar se hai cambios", - "Never" : "Nunca", - "Once every direct access" : "Unha vez cada acceso directo", "All users. Type to select user or group." : "Todos os usuarios. Escriba para seleccionar usuario ou grupo.", "(group)" : "(grupo)", "Saved" : "Gardado", @@ -63,6 +58,11 @@ OC.L10N.register( "Name" : "Nome", "Storage type" : "Tipo de almacenamento", "Scope" : "Ámbito", + "Enable encryption" : "Activar o cifrado", + "Enable previews" : "Activar as vistas previas", + "Check for changes" : "Comprobar se hai cambios", + "Never" : "Nunca", + "Once every direct access" : "Unha vez cada acceso directo", "External Storage" : "Almacenamento externo", "Folder name" : "Nome do cartafol", "Configuration" : "Configuración", diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json index 10daf8b6d20..effb0b23fd5 100644 --- a/apps/files_external/l10n/gl.json +++ b/apps/files_external/l10n/gl.json @@ -11,11 +11,6 @@ "Access granted" : "Concedeuse acceso", "Generate keys" : "Xerar chaves", "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", - "Enable encryption" : "Activar o cifrado", - "Enable previews" : "Activar as vistas previas", - "Check for changes" : "Comprobar se hai cambios", - "Never" : "Nunca", - "Once every direct access" : "Unha vez cada acceso directo", "All users. Type to select user or group." : "Todos os usuarios. Escriba para seleccionar usuario ou grupo.", "(group)" : "(grupo)", "Saved" : "Gardado", @@ -61,6 +56,11 @@ "Name" : "Nome", "Storage type" : "Tipo de almacenamento", "Scope" : "Ámbito", + "Enable encryption" : "Activar o cifrado", + "Enable previews" : "Activar as vistas previas", + "Check for changes" : "Comprobar se hai cambios", + "Never" : "Nunca", + "Once every direct access" : "Unha vez cada acceso directo", "External Storage" : "Almacenamento externo", "Folder name" : "Nome do cartafol", "Configuration" : "Configuración", diff --git a/apps/files_external/l10n/he.js b/apps/files_external/l10n/he.js index eb716d6b2cd..5e07126d249 100644 --- a/apps/files_external/l10n/he.js +++ b/apps/files_external/l10n/he.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "שגיאה בתצורת OAuth2", "Generate keys" : "יצירת מפתחות", "Error generating key pair" : "שגיאה ביצירת זוג מפתחות", - "Enable encryption" : "אפשר הצפנה", - "Enable previews" : "מאפשר תצוגות מקדימות", - "Enable sharing" : "הפעלת שיתוף", - "Check for changes" : "בדיקה אחר שינויים", - "Never" : "לעולם לא", - "Once every direct access" : "פעם אחת כל כניסה ישירה", "All users. Type to select user or group." : "כל המשתמשים. יש להקיש לבחירת משתמש או קבוצה.", "(group)" : "(קבוצה)", "Admin defined" : "הוגדר מנהל", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "שם", "Storage type" : "סוג אחסון", "Scope" : "היקף", + "Enable encryption" : "אפשר הצפנה", + "Enable previews" : "מאפשר תצוגות מקדימות", + "Enable sharing" : "הפעלת שיתוף", + "Check for changes" : "בדיקה אחר שינויים", + "Never" : "לעולם לא", + "Once every direct access" : "פעם אחת כל כניסה ישירה", "External Storage" : "אחסון חיצוני", "Folder name" : "שם התיקייה", "Authentication" : "אימות", diff --git a/apps/files_external/l10n/he.json b/apps/files_external/l10n/he.json index ffe7b62b5de..5ece8736fc3 100644 --- a/apps/files_external/l10n/he.json +++ b/apps/files_external/l10n/he.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "שגיאה בתצורת OAuth2", "Generate keys" : "יצירת מפתחות", "Error generating key pair" : "שגיאה ביצירת זוג מפתחות", - "Enable encryption" : "אפשר הצפנה", - "Enable previews" : "מאפשר תצוגות מקדימות", - "Enable sharing" : "הפעלת שיתוף", - "Check for changes" : "בדיקה אחר שינויים", - "Never" : "לעולם לא", - "Once every direct access" : "פעם אחת כל כניסה ישירה", "All users. Type to select user or group." : "כל המשתמשים. יש להקיש לבחירת משתמש או קבוצה.", "(group)" : "(קבוצה)", "Admin defined" : "הוגדר מנהל", @@ -109,6 +103,12 @@ "Name" : "שם", "Storage type" : "סוג אחסון", "Scope" : "היקף", + "Enable encryption" : "אפשר הצפנה", + "Enable previews" : "מאפשר תצוגות מקדימות", + "Enable sharing" : "הפעלת שיתוף", + "Check for changes" : "בדיקה אחר שינויים", + "Never" : "לעולם לא", + "Once every direct access" : "פעם אחת כל כניסה ישירה", "External Storage" : "אחסון חיצוני", "Folder name" : "שם התיקייה", "Authentication" : "אימות", diff --git a/apps/files_external/l10n/hu_HU.js b/apps/files_external/l10n/hu_HU.js index f5c2ae33051..ce9f7561373 100644 --- a/apps/files_external/l10n/hu_HU.js +++ b/apps/files_external/l10n/hu_HU.js @@ -9,11 +9,6 @@ OC.L10N.register( "Access granted" : "Érvényes hozzáférés", "Generate keys" : "Kulcsok generálása", "Error generating key pair" : "Hiba történt a kulcspár generálása közben", - "Enable encryption" : "Titkosítás engedélyezése", - "Enable previews" : "Előnézet engedélyezése", - "Check for changes" : "Változások keresése", - "Never" : "Soha", - "Once every direct access" : "Minden közvetlen elérésnél", "All users. Type to select user or group." : "Összes felhasználó. Írj be egy felhasználót vagy csoportot.", "(group)" : "(csoport)", "Admin defined" : "Adminisztrátor definiálva", @@ -72,6 +67,11 @@ OC.L10N.register( "You can add external storages in the personal settings" : "Hozzáadhatsz külső tárolókat a személyes beállítások közt.", "Name" : "Név", "Storage type" : "Tároló típusa", + "Enable encryption" : "Titkosítás engedélyezése", + "Enable previews" : "Előnézet engedélyezése", + "Check for changes" : "Változások keresése", + "Never" : "Soha", + "Once every direct access" : "Minden közvetlen elérésnél", "External Storage" : "Külső tárolási szolgáltatások becsatolása", "Folder name" : "Mappanév", "Authentication" : "Azonisítás", diff --git a/apps/files_external/l10n/hu_HU.json b/apps/files_external/l10n/hu_HU.json index 846c6ee775d..d98753c9838 100644 --- a/apps/files_external/l10n/hu_HU.json +++ b/apps/files_external/l10n/hu_HU.json @@ -7,11 +7,6 @@ "Access granted" : "Érvényes hozzáférés", "Generate keys" : "Kulcsok generálása", "Error generating key pair" : "Hiba történt a kulcspár generálása közben", - "Enable encryption" : "Titkosítás engedélyezése", - "Enable previews" : "Előnézet engedélyezése", - "Check for changes" : "Változások keresése", - "Never" : "Soha", - "Once every direct access" : "Minden közvetlen elérésnél", "All users. Type to select user or group." : "Összes felhasználó. Írj be egy felhasználót vagy csoportot.", "(group)" : "(csoport)", "Admin defined" : "Adminisztrátor definiálva", @@ -70,6 +65,11 @@ "You can add external storages in the personal settings" : "Hozzáadhatsz külső tárolókat a személyes beállítások közt.", "Name" : "Név", "Storage type" : "Tároló típusa", + "Enable encryption" : "Titkosítás engedélyezése", + "Enable previews" : "Előnézet engedélyezése", + "Check for changes" : "Változások keresése", + "Never" : "Soha", + "Once every direct access" : "Minden közvetlen elérésnél", "External Storage" : "Külső tárolási szolgáltatások becsatolása", "Folder name" : "Mappanév", "Authentication" : "Azonisítás", diff --git a/apps/files_external/l10n/hy.js b/apps/files_external/l10n/hy.js index 9de18052e45..b55c9393b39 100644 --- a/apps/files_external/l10n/hy.js +++ b/apps/files_external/l10n/hy.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_external", { "Personal" : "Անձնական", - "Never" : "Երբեք", "Saved" : "Պահված", "Username" : "Օգտանուն", "Password" : "Գաղտնաբառ", @@ -11,6 +10,7 @@ OC.L10N.register( "Dropbox" : "Dropbox", "Share" : "Կիսվել", "Name" : "Անուն", + "Never" : "Երբեք", "Folder name" : "Պանակի անուն", "Delete" : "Ջնջել" }, diff --git a/apps/files_external/l10n/hy.json b/apps/files_external/l10n/hy.json index d5b5ca52112..7a5d37b985c 100644 --- a/apps/files_external/l10n/hy.json +++ b/apps/files_external/l10n/hy.json @@ -1,6 +1,5 @@ { "translations": { "Personal" : "Անձնական", - "Never" : "Երբեք", "Saved" : "Պահված", "Username" : "Օգտանուն", "Password" : "Գաղտնաբառ", @@ -9,6 +8,7 @@ "Dropbox" : "Dropbox", "Share" : "Կիսվել", "Name" : "Անուն", + "Never" : "Երբեք", "Folder name" : "Պանակի անուն", "Delete" : "Ջնջել" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js index c17a0d5d0b2..6707a8cb455 100644 --- a/apps/files_external/l10n/id.js +++ b/apps/files_external/l10n/id.js @@ -24,11 +24,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Kesalahan mengkonfigurasi OAuth2", "Generate keys" : "Hasilkan kunci", "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", - "Enable encryption" : "Aktifkan enkripsi", - "Enable previews" : "Aktifkan pratinjau", - "Check for changes" : "Periksa perubahan", - "Never" : "Jangan pernah", - "Once every direct access" : "Setiap kali akses langsung", "All users. Type to select user or group." : "Semua pengguna. Ketik untuk memilih pengguna atau grup.", "(group)" : "(grup)", "Saved" : "Disimpan", @@ -92,6 +87,11 @@ OC.L10N.register( "Name" : "Nama", "Storage type" : "Tipe penyimpanan", "Scope" : "Skop", + "Enable encryption" : "Aktifkan enkripsi", + "Enable previews" : "Aktifkan pratinjau", + "Check for changes" : "Periksa perubahan", + "Never" : "Jangan pernah", + "Once every direct access" : "Setiap kali akses langsung", "External Storage" : "Penyimpanan Eksternal", "Folder name" : "Nama folder", "Authentication" : "Otentikasi", diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json index f7a3054ab8d..cec244e4a83 100644 --- a/apps/files_external/l10n/id.json +++ b/apps/files_external/l10n/id.json @@ -22,11 +22,6 @@ "Error configuring OAuth2" : "Kesalahan mengkonfigurasi OAuth2", "Generate keys" : "Hasilkan kunci", "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", - "Enable encryption" : "Aktifkan enkripsi", - "Enable previews" : "Aktifkan pratinjau", - "Check for changes" : "Periksa perubahan", - "Never" : "Jangan pernah", - "Once every direct access" : "Setiap kali akses langsung", "All users. Type to select user or group." : "Semua pengguna. Ketik untuk memilih pengguna atau grup.", "(group)" : "(grup)", "Saved" : "Disimpan", @@ -90,6 +85,11 @@ "Name" : "Nama", "Storage type" : "Tipe penyimpanan", "Scope" : "Skop", + "Enable encryption" : "Aktifkan enkripsi", + "Enable previews" : "Aktifkan pratinjau", + "Check for changes" : "Periksa perubahan", + "Never" : "Jangan pernah", + "Once every direct access" : "Setiap kali akses langsung", "External Storage" : "Penyimpanan Eksternal", "Folder name" : "Nama folder", "Authentication" : "Otentikasi", diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js index 2affa90b1cd..ab588b8785c 100644 --- a/apps/files_external/l10n/is.js +++ b/apps/files_external/l10n/is.js @@ -1,12 +1,24 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Mistókst að ná í beiðniteikn (request token). Gakktu úr skugga um að forritslykill og leynilykill séu réttir.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Mistókst að ná í aðgangsteikn (access token). Gakktu úr skugga um að forritslykill og leynilykill séu réttir.", + "Please provide a valid app key and secret." : "Settu inn gildan forritslykil og leynilykil (secret).", "Step 1 failed. Exception: %s" : "Skref 1 mistókst. Undantekning: %s", "Step 2 failed. Exception: %s" : "Skref 2 mistókst. Undantekning: %s", "External storage" : "Ytri gagnageymsla", + "Storage with id \"%i\" not found" : "Geymsla með auðkennið '%i' fannst ekki", + "Invalid backend or authentication mechanism class" : "Ógildur flokkur bakenda eða auðkenningartækni", "Invalid mount point" : "Ógildur tengipunktur", + "Objectstore forbidden" : "Hlutageymsla (objectstore) bönnuð", + "Invalid storage backend \"%s\"" : "Ógildur geymslubakendi \"%s\"", + "Not permitted to use backend \"%s\"" : "Ekki leyft að nota \"%s\" bakendann", + "Not permitted to use authentication mechanism \"%s\"" : "Ekki leyft að nota \"%s\" auðkenningartæknina", + "Unsatisfied backend parameters" : "Óuppfyllt viðföng bakenda", + "Unsatisfied authentication mechanism parameters" : "Óuppfyllt viðföng auðkenningartækni", "Insufficient data: %s" : "Ónóg gögn: %s", "%s" : "%s", + "Storage with id \"%i\" is not user editable" : "Geymslan með auðkennið '%s' er ekki breytanleg af notanda", "Personal" : "Einka", "System" : "Kerfi", "Grant access" : "Veita aðgengi", @@ -15,29 +27,43 @@ OC.L10N.register( "Error configuring OAuth2" : "Villa við uppsetningu OAuth2", "Generate keys" : "Útbúa lykla", "Error generating key pair" : "Villa við að útbúa nýtt lyklapar", - "Enable encryption" : "Virkja dulritun", - "Enable previews" : "Virkja forskoðanir", - "Enable sharing" : "Virkja deilingu", - "Check for changes" : "Fylgjast með breytingum", - "Never" : "Aldrei", + "All users. Type to select user or group." : "Allir notendur. Skrifaðu til að velja notanda eða hóp.", "(group)" : "(hópur)", + "Admin defined" : "Skilgreindur kerfisstjóri", "Saved" : "Vistað", "Empty response from the server" : "Tómt svar frá þjóni móttekið", + "Couldn't access. Please logout and login to activate this mount point" : "Náði ekki aðgangi. Skráðu þig út og svo aftur inn til að virkja þennan tengipunkt", + "Couldn't get the information from the ownCloud server: {code} {type}" : "Gat ekki lesið upplýsingar frá ownCloud-þjóninum: {code} {type}", + "Couldn't get the list of external mount points: {type}" : "Gat ekki fengið lista yfir fjartengda tengipunkta: {type}", + "There was an error with message: " : "Það kom upp villa með skilaboðunum: ", "External mount error" : "Villa við tengingu í fjartengdu skráakerfi", "external-storage" : "ytri-gagnageymsla", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Gat ekki fengið lista yfir tengipunkta Windows-netdrifa: autt svar frá þjóni", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Sumir uppsettir tengipunktar eru ekki tengdir í skráakerfið. Smelltu á rauðu örina/örvarnar til að fá frekari upplýsingar", + "Please enter the credentials for the {mount} mount" : "Settu inn auðkenni fyrir {mount} tengipunktinn", "Username" : "Notendanafn", "Password" : "Lykilorð", + "Credentials saved" : "Auðkenni vistuð", + "Credentials saving failed" : "Vistun auðkenna tókst ekki", + "Credentials required" : "Auðkenna krafist", "Save" : "Vista", "Access key" : "Aðgangslykill", "Secret key" : "Leynilykill", "Builtin" : "Innbyggt", "None" : "Ekkert", "OAuth1" : "OAuth1", + "App key" : "Lykill forrits", + "App secret" : "Leynilykill forrits", "OAuth2" : "OAuth2", + "Client ID" : "Biðlaraauðkenni", + "Client secret" : "Leynilykill biðlara", "OpenStack" : "OpenStack", + "Tenant name" : "Nafn handhafa (tenant)", + "Identity endpoint URL" : "Endapunktur auðkennisslóðar (identity endpoint URL)", "Rackspace" : "Rackspace", "API key" : "API-lykill", "Username and password" : "Notandanafn og lykilorð", + "Log-in credentials, save in session" : "Innskráningarauðkenni, vista í setu", "RSA public key" : "RSA-dreifilykill", "Public key" : "Dreifilykill", "Amazon S3" : "Amazon S3", @@ -46,6 +72,7 @@ OC.L10N.register( "Port" : "Gátt", "Region" : "Svæði", "Enable SSL" : "Virkja SSL", + "Enable Path Style" : "Virkja slóðastíl", "WebDAV" : "WebDAV", "URL" : "Slóð (URL)", "Remote subfolder" : "Fjartengd undirmappa", @@ -60,21 +87,39 @@ OC.L10N.register( "ownCloud" : "ownCloud", "SFTP" : "SFTP", "Root" : "Rót (root)", + "SFTP with secret key login" : "SFTP innskráning með leynilykli", "SMB / CIFS" : "SMB / CIFS", "Share" : "Deila", "Domain" : "Lén", + "SMB / CIFS using OC login" : "SMB / CIFS með OC-innskráningu", "Username as share" : "Notandanafn sem sameign", "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Heiti á þjónustu", + "Request timeout (seconds)" : "Tímamörk á beiðni (sekúndur)", "<b>Note:</b> " : "<b>Athugið:</b> ", + "<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>Athugið:</b> Stuðningur við cURL í PHP er ekki virkjaður eða ekki uppsettur. Tenging %s er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.", + "<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>Athugið:</b> Stuðningur við FTP í PHP er ekki virkjaður eða ekki uppsettur. Tenging %s er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.", + "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Athugið:</b> \"%s\" ekki uppsett. Tenging %s er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.", + "No external storage configured" : "Engin ytri-gagnageymsla stillt", + "You can add external storages in the personal settings" : "Þú getur bætt við ytri gagnageymslum í einkastillingunum þínum", "Name" : "Nafn", + "Storage type" : "Tegund gagnageymslu", "Scope" : "Umfang", + "Enable encryption" : "Virkja dulritun", + "Enable previews" : "Virkja forskoðanir", + "Enable sharing" : "Virkja deilingu", + "Check for changes" : "Fylgjast með breytingum", + "Never" : "Aldrei", + "Once every direct access" : "Einu sinni við hvern beinan aðgang", "External Storage" : "Ytri gagnageymsla", "Folder name" : "Nafn möppu", "Authentication" : "Auðkenning", "Configuration" : "Uppsetning", "Available for" : "Tiltækt fyrir", + "Add storage" : "Bæta við gagnahirslu", "Advanced settings" : "Ítarlegri valkostir", - "Delete" : "Eyða" + "Delete" : "Eyða", + "Allow users to mount external storage" : "Leyfa notendum að tengja ytri gagnageymslur í skráakerfi", + "Allow users to mount the following external storage" : "Leyfa notendum að tengja eftirfarandi ytri gagnageymslu í skráakerfi" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json index c1927e674f2..1b57e9d55c8 100644 --- a/apps/files_external/l10n/is.json +++ b/apps/files_external/l10n/is.json @@ -1,10 +1,22 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Mistókst að ná í beiðniteikn (request token). Gakktu úr skugga um að forritslykill og leynilykill séu réttir.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Mistókst að ná í aðgangsteikn (access token). Gakktu úr skugga um að forritslykill og leynilykill séu réttir.", + "Please provide a valid app key and secret." : "Settu inn gildan forritslykil og leynilykil (secret).", "Step 1 failed. Exception: %s" : "Skref 1 mistókst. Undantekning: %s", "Step 2 failed. Exception: %s" : "Skref 2 mistókst. Undantekning: %s", "External storage" : "Ytri gagnageymsla", + "Storage with id \"%i\" not found" : "Geymsla með auðkennið '%i' fannst ekki", + "Invalid backend or authentication mechanism class" : "Ógildur flokkur bakenda eða auðkenningartækni", "Invalid mount point" : "Ógildur tengipunktur", + "Objectstore forbidden" : "Hlutageymsla (objectstore) bönnuð", + "Invalid storage backend \"%s\"" : "Ógildur geymslubakendi \"%s\"", + "Not permitted to use backend \"%s\"" : "Ekki leyft að nota \"%s\" bakendann", + "Not permitted to use authentication mechanism \"%s\"" : "Ekki leyft að nota \"%s\" auðkenningartæknina", + "Unsatisfied backend parameters" : "Óuppfyllt viðföng bakenda", + "Unsatisfied authentication mechanism parameters" : "Óuppfyllt viðföng auðkenningartækni", "Insufficient data: %s" : "Ónóg gögn: %s", "%s" : "%s", + "Storage with id \"%i\" is not user editable" : "Geymslan með auðkennið '%s' er ekki breytanleg af notanda", "Personal" : "Einka", "System" : "Kerfi", "Grant access" : "Veita aðgengi", @@ -13,29 +25,43 @@ "Error configuring OAuth2" : "Villa við uppsetningu OAuth2", "Generate keys" : "Útbúa lykla", "Error generating key pair" : "Villa við að útbúa nýtt lyklapar", - "Enable encryption" : "Virkja dulritun", - "Enable previews" : "Virkja forskoðanir", - "Enable sharing" : "Virkja deilingu", - "Check for changes" : "Fylgjast með breytingum", - "Never" : "Aldrei", + "All users. Type to select user or group." : "Allir notendur. Skrifaðu til að velja notanda eða hóp.", "(group)" : "(hópur)", + "Admin defined" : "Skilgreindur kerfisstjóri", "Saved" : "Vistað", "Empty response from the server" : "Tómt svar frá þjóni móttekið", + "Couldn't access. Please logout and login to activate this mount point" : "Náði ekki aðgangi. Skráðu þig út og svo aftur inn til að virkja þennan tengipunkt", + "Couldn't get the information from the ownCloud server: {code} {type}" : "Gat ekki lesið upplýsingar frá ownCloud-þjóninum: {code} {type}", + "Couldn't get the list of external mount points: {type}" : "Gat ekki fengið lista yfir fjartengda tengipunkta: {type}", + "There was an error with message: " : "Það kom upp villa með skilaboðunum: ", "External mount error" : "Villa við tengingu í fjartengdu skráakerfi", "external-storage" : "ytri-gagnageymsla", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Gat ekki fengið lista yfir tengipunkta Windows-netdrifa: autt svar frá þjóni", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Sumir uppsettir tengipunktar eru ekki tengdir í skráakerfið. Smelltu á rauðu örina/örvarnar til að fá frekari upplýsingar", + "Please enter the credentials for the {mount} mount" : "Settu inn auðkenni fyrir {mount} tengipunktinn", "Username" : "Notendanafn", "Password" : "Lykilorð", + "Credentials saved" : "Auðkenni vistuð", + "Credentials saving failed" : "Vistun auðkenna tókst ekki", + "Credentials required" : "Auðkenna krafist", "Save" : "Vista", "Access key" : "Aðgangslykill", "Secret key" : "Leynilykill", "Builtin" : "Innbyggt", "None" : "Ekkert", "OAuth1" : "OAuth1", + "App key" : "Lykill forrits", + "App secret" : "Leynilykill forrits", "OAuth2" : "OAuth2", + "Client ID" : "Biðlaraauðkenni", + "Client secret" : "Leynilykill biðlara", "OpenStack" : "OpenStack", + "Tenant name" : "Nafn handhafa (tenant)", + "Identity endpoint URL" : "Endapunktur auðkennisslóðar (identity endpoint URL)", "Rackspace" : "Rackspace", "API key" : "API-lykill", "Username and password" : "Notandanafn og lykilorð", + "Log-in credentials, save in session" : "Innskráningarauðkenni, vista í setu", "RSA public key" : "RSA-dreifilykill", "Public key" : "Dreifilykill", "Amazon S3" : "Amazon S3", @@ -44,6 +70,7 @@ "Port" : "Gátt", "Region" : "Svæði", "Enable SSL" : "Virkja SSL", + "Enable Path Style" : "Virkja slóðastíl", "WebDAV" : "WebDAV", "URL" : "Slóð (URL)", "Remote subfolder" : "Fjartengd undirmappa", @@ -58,21 +85,39 @@ "ownCloud" : "ownCloud", "SFTP" : "SFTP", "Root" : "Rót (root)", + "SFTP with secret key login" : "SFTP innskráning með leynilykli", "SMB / CIFS" : "SMB / CIFS", "Share" : "Deila", "Domain" : "Lén", + "SMB / CIFS using OC login" : "SMB / CIFS með OC-innskráningu", "Username as share" : "Notandanafn sem sameign", "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Heiti á þjónustu", + "Request timeout (seconds)" : "Tímamörk á beiðni (sekúndur)", "<b>Note:</b> " : "<b>Athugið:</b> ", + "<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>Athugið:</b> Stuðningur við cURL í PHP er ekki virkjaður eða ekki uppsettur. Tenging %s er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.", + "<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>Athugið:</b> Stuðningur við FTP í PHP er ekki virkjaður eða ekki uppsettur. Tenging %s er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.", + "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Athugið:</b> \"%s\" ekki uppsett. Tenging %s er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.", + "No external storage configured" : "Engin ytri-gagnageymsla stillt", + "You can add external storages in the personal settings" : "Þú getur bætt við ytri gagnageymslum í einkastillingunum þínum", "Name" : "Nafn", + "Storage type" : "Tegund gagnageymslu", "Scope" : "Umfang", + "Enable encryption" : "Virkja dulritun", + "Enable previews" : "Virkja forskoðanir", + "Enable sharing" : "Virkja deilingu", + "Check for changes" : "Fylgjast með breytingum", + "Never" : "Aldrei", + "Once every direct access" : "Einu sinni við hvern beinan aðgang", "External Storage" : "Ytri gagnageymsla", "Folder name" : "Nafn möppu", "Authentication" : "Auðkenning", "Configuration" : "Uppsetning", "Available for" : "Tiltækt fyrir", + "Add storage" : "Bæta við gagnahirslu", "Advanced settings" : "Ítarlegri valkostir", - "Delete" : "Eyða" + "Delete" : "Eyða", + "Allow users to mount external storage" : "Leyfa notendum að tengja ytri gagnageymslur í skráakerfi", + "Allow users to mount the following external storage" : "Leyfa notendum að tengja eftirfarandi ytri gagnageymslu í skráakerfi" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js index 7d92442b8f1..9a9df7bf093 100644 --- a/apps/files_external/l10n/it.js +++ b/apps/files_external/l10n/it.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Errore di configurazione OAuth2", "Generate keys" : "Genera la chiavi", "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", - "Enable encryption" : "Abilita cifratura", - "Enable previews" : "Abilita le anteprime", - "Enable sharing" : "Abilita condivisione", - "Check for changes" : "Controlla le modifiche", - "Never" : "Mai", - "Once every direct access" : "Una volta per ogni accesso diretto", "All users. Type to select user or group." : "Tutti gli utenti. Digita per selezionare utente o gruppo.", "(group)" : "(gruppo)", "Admin defined" : "Definito dall'amministratore", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Nome", "Storage type" : "Tipo di archiviazione", "Scope" : "Ambito", + "Enable encryption" : "Abilita cifratura", + "Enable previews" : "Abilita le anteprime", + "Enable sharing" : "Abilita condivisione", + "Check for changes" : "Controlla le modifiche", + "Never" : "Mai", + "Once every direct access" : "Una volta per ogni accesso diretto", "External Storage" : "Archiviazione esterna", "Folder name" : "Nome della cartella", "Authentication" : "Autenticazione", diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json index c447b626d0e..50f00242721 100644 --- a/apps/files_external/l10n/it.json +++ b/apps/files_external/l10n/it.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Errore di configurazione OAuth2", "Generate keys" : "Genera la chiavi", "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", - "Enable encryption" : "Abilita cifratura", - "Enable previews" : "Abilita le anteprime", - "Enable sharing" : "Abilita condivisione", - "Check for changes" : "Controlla le modifiche", - "Never" : "Mai", - "Once every direct access" : "Una volta per ogni accesso diretto", "All users. Type to select user or group." : "Tutti gli utenti. Digita per selezionare utente o gruppo.", "(group)" : "(gruppo)", "Admin defined" : "Definito dall'amministratore", @@ -109,6 +103,12 @@ "Name" : "Nome", "Storage type" : "Tipo di archiviazione", "Scope" : "Ambito", + "Enable encryption" : "Abilita cifratura", + "Enable previews" : "Abilita le anteprime", + "Enable sharing" : "Abilita condivisione", + "Check for changes" : "Controlla le modifiche", + "Never" : "Mai", + "Once every direct access" : "Una volta per ogni accesso diretto", "External Storage" : "Archiviazione esterna", "Folder name" : "Nome della cartella", "Authentication" : "Autenticazione", diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js index 07b6c963b4a..6406699d412 100644 --- a/apps/files_external/l10n/ja.js +++ b/apps/files_external/l10n/ja.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "OAuth2 設定エラー", "Generate keys" : "キーを生成", "Error generating key pair" : "キーペアの生成エラー", - "Enable encryption" : "暗号化を有効に", - "Enable previews" : "プレビューを有効に", - "Enable sharing" : "共有の有効化", - "Check for changes" : "変更点を確認", - "Never" : "更新無", - "Once every direct access" : "直指定時のみ", "All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加", "(group)" : "(グループ)", "Admin defined" : "管理者設定済", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "名前", "Storage type" : "ストレージ種別", "Scope" : "スコープ", + "Enable encryption" : "暗号化を有効に", + "Enable previews" : "プレビューを有効に", + "Enable sharing" : "共有の有効化", + "Check for changes" : "変更点を確認", + "Never" : "更新無", + "Once every direct access" : "直指定時のみ", "External Storage" : "外部ストレージ", "Folder name" : "フォルダー名", "Authentication" : "認証", diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json index 21767757b59..e44969c7c66 100644 --- a/apps/files_external/l10n/ja.json +++ b/apps/files_external/l10n/ja.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "OAuth2 設定エラー", "Generate keys" : "キーを生成", "Error generating key pair" : "キーペアの生成エラー", - "Enable encryption" : "暗号化を有効に", - "Enable previews" : "プレビューを有効に", - "Enable sharing" : "共有の有効化", - "Check for changes" : "変更点を確認", - "Never" : "更新無", - "Once every direct access" : "直指定時のみ", "All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加", "(group)" : "(グループ)", "Admin defined" : "管理者設定済", @@ -109,6 +103,12 @@ "Name" : "名前", "Storage type" : "ストレージ種別", "Scope" : "スコープ", + "Enable encryption" : "暗号化を有効に", + "Enable previews" : "プレビューを有効に", + "Enable sharing" : "共有の有効化", + "Check for changes" : "変更点を確認", + "Never" : "更新無", + "Once every direct access" : "直指定時のみ", "External Storage" : "外部ストレージ", "Folder name" : "フォルダー名", "Authentication" : "認証", diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js index 921c647288f..b1df3ab3ef1 100644 --- a/apps/files_external/l10n/ko.js +++ b/apps/files_external/l10n/ko.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "OAuth2 설정 오류", "Generate keys" : "키 생성", "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", - "Enable encryption" : "암호화 사용", - "Enable previews" : "미리 보기 사용", - "Enable sharing" : "공유 사용", - "Check for changes" : "변경 사항 감시", - "Never" : "하지 않음", - "Once every direct access" : "한 번 직접 접근할 때마다", "All users. Type to select user or group." : "모든 사용자입니다. 사용자나 그룹을 선택하려면 입력하십시오", "(group)" : "(그룹)", "Admin defined" : "관리자 지정", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "이름", "Storage type" : "저장소 종류", "Scope" : "범위", + "Enable encryption" : "암호화 사용", + "Enable previews" : "미리 보기 사용", + "Enable sharing" : "공유 사용", + "Check for changes" : "변경 사항 감시", + "Never" : "하지 않음", + "Once every direct access" : "한 번 직접 접근할 때마다", "External Storage" : "외부 저장소", "Folder name" : "폴더 이름", "Authentication" : "인증", diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json index 9e15abb6160..0dfedaf5cee 100644 --- a/apps/files_external/l10n/ko.json +++ b/apps/files_external/l10n/ko.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "OAuth2 설정 오류", "Generate keys" : "키 생성", "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", - "Enable encryption" : "암호화 사용", - "Enable previews" : "미리 보기 사용", - "Enable sharing" : "공유 사용", - "Check for changes" : "변경 사항 감시", - "Never" : "하지 않음", - "Once every direct access" : "한 번 직접 접근할 때마다", "All users. Type to select user or group." : "모든 사용자입니다. 사용자나 그룹을 선택하려면 입력하십시오", "(group)" : "(그룹)", "Admin defined" : "관리자 지정", @@ -109,6 +103,12 @@ "Name" : "이름", "Storage type" : "저장소 종류", "Scope" : "범위", + "Enable encryption" : "암호화 사용", + "Enable previews" : "미리 보기 사용", + "Enable sharing" : "공유 사용", + "Check for changes" : "변경 사항 감시", + "Never" : "하지 않음", + "Once every direct access" : "한 번 직접 접근할 때마다", "External Storage" : "외부 저장소", "Folder name" : "폴더 이름", "Authentication" : "인증", diff --git a/apps/files_external/l10n/lv.js b/apps/files_external/l10n/lv.js index 8eea6b507b8..b31323bc859 100644 --- a/apps/files_external/l10n/lv.js +++ b/apps/files_external/l10n/lv.js @@ -5,7 +5,6 @@ OC.L10N.register( "Personal" : "Personīgi", "Grant access" : "Piešķirt pieeju", "Access granted" : "Piešķirta pieeja", - "Enable encryption" : "Ieslēgt šifrēšanu", "Saved" : "Saglabāts", "Username" : "Lietotājvārds", "Password" : "Parole", @@ -19,6 +18,7 @@ OC.L10N.register( "ownCloud" : "ownCloud", "Share" : "Dalīties", "Name" : "Nosaukums", + "Enable encryption" : "Ieslēgt šifrēšanu", "External Storage" : "Ārējā krātuve", "Folder name" : "Mapes nosaukums", "Configuration" : "Konfigurācija", diff --git a/apps/files_external/l10n/lv.json b/apps/files_external/l10n/lv.json index dd0d40aa70e..59192d946e7 100644 --- a/apps/files_external/l10n/lv.json +++ b/apps/files_external/l10n/lv.json @@ -3,7 +3,6 @@ "Personal" : "Personīgi", "Grant access" : "Piešķirt pieeju", "Access granted" : "Piešķirta pieeja", - "Enable encryption" : "Ieslēgt šifrēšanu", "Saved" : "Saglabāts", "Username" : "Lietotājvārds", "Password" : "Parole", @@ -17,6 +16,7 @@ "ownCloud" : "ownCloud", "Share" : "Dalīties", "Name" : "Nosaukums", + "Enable encryption" : "Ieslēgt šifrēšanu", "External Storage" : "Ārējā krātuve", "Folder name" : "Mapes nosaukums", "Configuration" : "Konfigurācija", diff --git a/apps/files_external/l10n/mk.js b/apps/files_external/l10n/mk.js index 70d9b5a755f..69649d9ffeb 100644 --- a/apps/files_external/l10n/mk.js +++ b/apps/files_external/l10n/mk.js @@ -20,6 +20,7 @@ OC.L10N.register( "ownCloud" : "ownCloud", "Share" : "Сподели", "Name" : "Име", + "Enable encryption" : "Овозможи енкрипција", "External Storage" : "Надворешно складиште", "Folder name" : "Име на папка", "Configuration" : "Конфигурација", diff --git a/apps/files_external/l10n/mk.json b/apps/files_external/l10n/mk.json index d97c5b872ba..fea359e8e52 100644 --- a/apps/files_external/l10n/mk.json +++ b/apps/files_external/l10n/mk.json @@ -18,6 +18,7 @@ "ownCloud" : "ownCloud", "Share" : "Сподели", "Name" : "Име", + "Enable encryption" : "Овозможи енкрипција", "External Storage" : "Надворешно складиште", "Folder name" : "Име на папка", "Configuration" : "Конфигурација", diff --git a/apps/files_external/l10n/nb_NO.js b/apps/files_external/l10n/nb_NO.js index f2bc60b147e..5a2f725e483 100644 --- a/apps/files_external/l10n/nb_NO.js +++ b/apps/files_external/l10n/nb_NO.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Feil ved konfigurering av OAuth2", "Generate keys" : "Generer nøkler", "Error generating key pair" : "Feil ved nøkkelgenerering", - "Enable encryption" : "Aktiver kryptering", - "Enable previews" : "Tillat fohåndsvisning", - "Enable sharing" : "Aktiver deling", - "Check for changes" : "Se etter endringer", - "Never" : "Aldri", - "Once every direct access" : "En gang pr. direkte aksess", "All users. Type to select user or group." : "Alle brukere. Tast for å velge bruker eller gruppe.", "(group)" : "(gruppe)", "Admin defined" : "Admin-definert", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Navn", "Storage type" : "Lagringstype", "Scope" : "Omfang", + "Enable encryption" : "Aktiver kryptering", + "Enable previews" : "Tillat fohåndsvisning", + "Enable sharing" : "Aktiver deling", + "Check for changes" : "Se etter endringer", + "Never" : "Aldri", + "Once every direct access" : "En gang pr. direkte aksess", "External Storage" : "Ekstern lagring", "Folder name" : "Mappenavn", "Authentication" : "Autentisering", diff --git a/apps/files_external/l10n/nb_NO.json b/apps/files_external/l10n/nb_NO.json index 6de204d29dd..071557b23ca 100644 --- a/apps/files_external/l10n/nb_NO.json +++ b/apps/files_external/l10n/nb_NO.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Feil ved konfigurering av OAuth2", "Generate keys" : "Generer nøkler", "Error generating key pair" : "Feil ved nøkkelgenerering", - "Enable encryption" : "Aktiver kryptering", - "Enable previews" : "Tillat fohåndsvisning", - "Enable sharing" : "Aktiver deling", - "Check for changes" : "Se etter endringer", - "Never" : "Aldri", - "Once every direct access" : "En gang pr. direkte aksess", "All users. Type to select user or group." : "Alle brukere. Tast for å velge bruker eller gruppe.", "(group)" : "(gruppe)", "Admin defined" : "Admin-definert", @@ -109,6 +103,12 @@ "Name" : "Navn", "Storage type" : "Lagringstype", "Scope" : "Omfang", + "Enable encryption" : "Aktiver kryptering", + "Enable previews" : "Tillat fohåndsvisning", + "Enable sharing" : "Aktiver deling", + "Check for changes" : "Se etter endringer", + "Never" : "Aldri", + "Once every direct access" : "En gang pr. direkte aksess", "External Storage" : "Ekstern lagring", "Folder name" : "Mappenavn", "Authentication" : "Autentisering", diff --git a/apps/files_external/l10n/nds.js b/apps/files_external/l10n/nds.js index eb23a6d9666..6f5d9739018 100644 --- a/apps/files_external/l10n/nds.js +++ b/apps/files_external/l10n/nds.js @@ -24,11 +24,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Fehler bei der Konfiguration von OAuth2", "Generate keys" : "Generiere Schlüssel", "Error generating key pair" : "Fehler beim Generieren des Schlüsselpaars", - "Enable encryption" : "Verschlüsselung aktivieren", - "Enable previews" : "Vorschau aktivieren", - "Check for changes" : "Auf Änderungen prüfen", - "Never" : "Nie", - "Once every direct access" : "Einmal bei jedem direkten Zugriff", "All users. Type to select user or group." : "Alle Benutzer. Tippe, um eine Benutzergruppe auszuwählen.", "(group)" : "(Gruppe)", "Saved" : "Gespeichert", @@ -86,6 +81,11 @@ OC.L10N.register( "Name" : "Name", "Storage type" : "Speicherart", "Scope" : "Bereich", + "Enable encryption" : "Verschlüsselung aktivieren", + "Enable previews" : "Vorschau aktivieren", + "Check for changes" : "Auf Änderungen prüfen", + "Never" : "Nie", + "Once every direct access" : "Einmal bei jedem direkten Zugriff", "External Storage" : "Externer Speicher", "Folder name" : "Ordnername", "Authentication" : "Authentifizierung", diff --git a/apps/files_external/l10n/nds.json b/apps/files_external/l10n/nds.json index 3de4a89b020..d1d939702f3 100644 --- a/apps/files_external/l10n/nds.json +++ b/apps/files_external/l10n/nds.json @@ -22,11 +22,6 @@ "Error configuring OAuth2" : "Fehler bei der Konfiguration von OAuth2", "Generate keys" : "Generiere Schlüssel", "Error generating key pair" : "Fehler beim Generieren des Schlüsselpaars", - "Enable encryption" : "Verschlüsselung aktivieren", - "Enable previews" : "Vorschau aktivieren", - "Check for changes" : "Auf Änderungen prüfen", - "Never" : "Nie", - "Once every direct access" : "Einmal bei jedem direkten Zugriff", "All users. Type to select user or group." : "Alle Benutzer. Tippe, um eine Benutzergruppe auszuwählen.", "(group)" : "(Gruppe)", "Saved" : "Gespeichert", @@ -84,6 +79,11 @@ "Name" : "Name", "Storage type" : "Speicherart", "Scope" : "Bereich", + "Enable encryption" : "Verschlüsselung aktivieren", + "Enable previews" : "Vorschau aktivieren", + "Check for changes" : "Auf Änderungen prüfen", + "Never" : "Nie", + "Once every direct access" : "Einmal bei jedem direkten Zugriff", "External Storage" : "Externer Speicher", "Folder name" : "Ordnername", "Authentication" : "Authentifizierung", diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js index db10f28b984..5b4f3050e70 100644 --- a/apps/files_external/l10n/nl.js +++ b/apps/files_external/l10n/nl.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Fout bij configureren OAuth2", "Generate keys" : "Genereer sleutels", "Error generating key pair" : "Fout bij genereren sleutelpaar", - "Enable encryption" : "Versleuteling inschakelen", - "Enable previews" : "Activeren voorbeelden", - "Enable sharing" : "Activeren delen", - "Check for changes" : "Controleren op wijzigingen", - "Never" : "Nooit", - "Once every direct access" : "Een keer bij elke directe toegang", "All users. Type to select user or group." : "Alle gebruikers. Tikken om een gebruiker of groep te selecteren.", "(group)" : "(groep)", "Admin defined" : "Beheerder gedefinieerd", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Naam", "Storage type" : "Opslagtype", "Scope" : "Scope", + "Enable encryption" : "Versleuteling inschakelen", + "Enable previews" : "Activeren voorbeelden", + "Enable sharing" : "Activeren delen", + "Check for changes" : "Controleren op wijzigingen", + "Never" : "Nooit", + "Once every direct access" : "Een keer bij elke directe toegang", "External Storage" : "Externe opslag", "Folder name" : "Mapnaam", "Authentication" : "Authenticatie", diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json index 3afd320905a..062aee79c16 100644 --- a/apps/files_external/l10n/nl.json +++ b/apps/files_external/l10n/nl.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Fout bij configureren OAuth2", "Generate keys" : "Genereer sleutels", "Error generating key pair" : "Fout bij genereren sleutelpaar", - "Enable encryption" : "Versleuteling inschakelen", - "Enable previews" : "Activeren voorbeelden", - "Enable sharing" : "Activeren delen", - "Check for changes" : "Controleren op wijzigingen", - "Never" : "Nooit", - "Once every direct access" : "Een keer bij elke directe toegang", "All users. Type to select user or group." : "Alle gebruikers. Tikken om een gebruiker of groep te selecteren.", "(group)" : "(groep)", "Admin defined" : "Beheerder gedefinieerd", @@ -109,6 +103,12 @@ "Name" : "Naam", "Storage type" : "Opslagtype", "Scope" : "Scope", + "Enable encryption" : "Versleuteling inschakelen", + "Enable previews" : "Activeren voorbeelden", + "Enable sharing" : "Activeren delen", + "Check for changes" : "Controleren op wijzigingen", + "Never" : "Nooit", + "Once every direct access" : "Een keer bij elke directe toegang", "External Storage" : "Externe opslag", "Folder name" : "Mapnaam", "Authentication" : "Authenticatie", diff --git a/apps/files_external/l10n/oc.js b/apps/files_external/l10n/oc.js index 736e5f77a8a..40c222e0cf3 100644 --- a/apps/files_external/l10n/oc.js +++ b/apps/files_external/l10n/oc.js @@ -17,6 +17,7 @@ OC.L10N.register( "Unsatisfied backend parameters" : "Paramètres mancants pel servici", "Unsatisfied authentication mechanism parameters" : "Paramètres mancants pel metòde d'autentificacion", "Insufficient data: %s" : "Donadas insufisentas : %s", + "%s" : "%s", "Personal" : "Personal", "System" : "Sistèma", "Grant access" : "Autorizar l'accès", @@ -25,11 +26,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Error al moment de la configuracion d'OAuth2", "Generate keys" : "Generar de claus", "Error generating key pair" : "Error al moment de la generacion de las claus", - "Enable encryption" : "Activar lo chiframent", - "Enable previews" : "Activar las previsualizacions", - "Check for changes" : "Recercar las modificacions", - "Never" : "Pas jamai", - "Once every direct access" : "Un còp a cada accès dirècte", "All users. Type to select user or group." : "Totes los utilizaires. Clicatz aicí per restrénher.", "(group)" : "(grop)", "Saved" : "Enregistrat", @@ -93,6 +89,11 @@ OC.L10N.register( "Name" : "Nom", "Storage type" : "Tipe d'emmagazinatge", "Scope" : "Portada", + "Enable encryption" : "Activar lo chiframent", + "Enable previews" : "Activar las previsualizacions", + "Check for changes" : "Recercar las modificacions", + "Never" : "Pas jamai", + "Once every direct access" : "Un còp a cada accès dirècte", "External Storage" : "Emmagazinatge externe", "Folder name" : "Nom del dorsièr", "Authentication" : "Autentificacion", diff --git a/apps/files_external/l10n/oc.json b/apps/files_external/l10n/oc.json index 597a5d96301..06992b89604 100644 --- a/apps/files_external/l10n/oc.json +++ b/apps/files_external/l10n/oc.json @@ -15,6 +15,7 @@ "Unsatisfied backend parameters" : "Paramètres mancants pel servici", "Unsatisfied authentication mechanism parameters" : "Paramètres mancants pel metòde d'autentificacion", "Insufficient data: %s" : "Donadas insufisentas : %s", + "%s" : "%s", "Personal" : "Personal", "System" : "Sistèma", "Grant access" : "Autorizar l'accès", @@ -23,11 +24,6 @@ "Error configuring OAuth2" : "Error al moment de la configuracion d'OAuth2", "Generate keys" : "Generar de claus", "Error generating key pair" : "Error al moment de la generacion de las claus", - "Enable encryption" : "Activar lo chiframent", - "Enable previews" : "Activar las previsualizacions", - "Check for changes" : "Recercar las modificacions", - "Never" : "Pas jamai", - "Once every direct access" : "Un còp a cada accès dirècte", "All users. Type to select user or group." : "Totes los utilizaires. Clicatz aicí per restrénher.", "(group)" : "(grop)", "Saved" : "Enregistrat", @@ -91,6 +87,11 @@ "Name" : "Nom", "Storage type" : "Tipe d'emmagazinatge", "Scope" : "Portada", + "Enable encryption" : "Activar lo chiframent", + "Enable previews" : "Activar las previsualizacions", + "Check for changes" : "Recercar las modificacions", + "Never" : "Pas jamai", + "Once every direct access" : "Un còp a cada accès dirècte", "External Storage" : "Emmagazinatge externe", "Folder name" : "Nom del dorsièr", "Authentication" : "Autentificacion", diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js index 176a10af6b9..ac074059712 100644 --- a/apps/files_external/l10n/pl.js +++ b/apps/files_external/l10n/pl.js @@ -13,11 +13,6 @@ OC.L10N.register( "Access granted" : "Dostęp do", "Generate keys" : "Wygeneruj klucze", "Error generating key pair" : "Błąd podczas generowania pary kluczy", - "Enable encryption" : "Włącz szyfrowanie", - "Enable previews" : "Włącz podgląd", - "Check for changes" : "Sprawdź zmiany", - "Never" : "Nigdy", - "Once every direct access" : "Jeden raz przy każdym dostępie", "All users. Type to select user or group." : "Wszyscy użytkownicy. Zacznij pisać, aby wybrać użytkownika lub grupę.", "(group)" : "(grupa)", "Saved" : "Zapisano", @@ -65,6 +60,11 @@ OC.L10N.register( "Name" : "Nazwa", "Storage type" : "Typ magazynu", "Scope" : "Zakres", + "Enable encryption" : "Włącz szyfrowanie", + "Enable previews" : "Włącz podgląd", + "Check for changes" : "Sprawdź zmiany", + "Never" : "Nigdy", + "Once every direct access" : "Jeden raz przy każdym dostępie", "External Storage" : "Zewnętrzna zasoby dyskowe", "Folder name" : "Nazwa folderu", "Configuration" : "Konfiguracja", diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json index 241f6568f61..a583a454f1c 100644 --- a/apps/files_external/l10n/pl.json +++ b/apps/files_external/l10n/pl.json @@ -11,11 +11,6 @@ "Access granted" : "Dostęp do", "Generate keys" : "Wygeneruj klucze", "Error generating key pair" : "Błąd podczas generowania pary kluczy", - "Enable encryption" : "Włącz szyfrowanie", - "Enable previews" : "Włącz podgląd", - "Check for changes" : "Sprawdź zmiany", - "Never" : "Nigdy", - "Once every direct access" : "Jeden raz przy każdym dostępie", "All users. Type to select user or group." : "Wszyscy użytkownicy. Zacznij pisać, aby wybrać użytkownika lub grupę.", "(group)" : "(grupa)", "Saved" : "Zapisano", @@ -63,6 +58,11 @@ "Name" : "Nazwa", "Storage type" : "Typ magazynu", "Scope" : "Zakres", + "Enable encryption" : "Włącz szyfrowanie", + "Enable previews" : "Włącz podgląd", + "Check for changes" : "Sprawdź zmiany", + "Never" : "Nigdy", + "Once every direct access" : "Jeden raz przy każdym dostępie", "External Storage" : "Zewnętrzna zasoby dyskowe", "Folder name" : "Nazwa folderu", "Configuration" : "Konfiguracja", diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index 692334ce6c4..08e1bac5ae6 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Erro configurando OAuth2", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar um par de chaves", - "Enable encryption" : "Ativar criptografia", - "Enable previews" : "Habilitar visualizações prévias", - "Enable sharing" : "Habilitar compartilhamento", - "Check for changes" : "Verifique se há alterações", - "Never" : "Nunca", - "Once every direct access" : "Uma vez a cada acesso direto", "All users. Type to select user or group." : "Todos os usuários. Digite para selecionar usuário ou grupo.", "(group)" : "(grupo)", "Admin defined" : "Definido pelo administrador", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Nome", "Storage type" : "Tipo de armazenamento", "Scope" : "Escopo", + "Enable encryption" : "Ativar criptografia", + "Enable previews" : "Habilitar visualizações prévias", + "Enable sharing" : "Habilitar compartilhamento", + "Check for changes" : "Verifique se há alterações", + "Never" : "Nunca", + "Once every direct access" : "Uma vez a cada acesso direto", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", "Authentication" : "Autenticação", diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index 0b961f79a8f..a1e52e280ee 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Erro configurando OAuth2", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar um par de chaves", - "Enable encryption" : "Ativar criptografia", - "Enable previews" : "Habilitar visualizações prévias", - "Enable sharing" : "Habilitar compartilhamento", - "Check for changes" : "Verifique se há alterações", - "Never" : "Nunca", - "Once every direct access" : "Uma vez a cada acesso direto", "All users. Type to select user or group." : "Todos os usuários. Digite para selecionar usuário ou grupo.", "(group)" : "(grupo)", "Admin defined" : "Definido pelo administrador", @@ -109,6 +103,12 @@ "Name" : "Nome", "Storage type" : "Tipo de armazenamento", "Scope" : "Escopo", + "Enable encryption" : "Ativar criptografia", + "Enable previews" : "Habilitar visualizações prévias", + "Enable sharing" : "Habilitar compartilhamento", + "Check for changes" : "Verifique se há alterações", + "Never" : "Nunca", + "Once every direct access" : "Uma vez a cada acesso direto", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", "Authentication" : "Autenticação", diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js index d37818dd4c1..0b596bb2553 100644 --- a/apps/files_external/l10n/pt_PT.js +++ b/apps/files_external/l10n/pt_PT.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Erro de configuração OAuth2", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar chave par", - "Enable encryption" : "Ative a encriptação", - "Enable previews" : "Ative as pré-visualizações", - "Enable sharing" : "Ativar partilha", - "Check for changes" : "Verifique as suas alterações", - "Never" : "Nunca", - "Once every direct access" : "Uma vez em cada acesso direto", "All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.", "(group)" : "(grupo)", "Admin defined" : "Administrador definido", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Nome", "Storage type" : "Tipo de Armazenamento", "Scope" : "Âmbito", + "Enable encryption" : "Activar encriptação", + "Enable previews" : "Ativar pré-visualizações", + "Enable sharing" : "Ativar partilha", + "Check for changes" : "Verificar se há alterações", + "Never" : "Nunca", + "Once every direct access" : "Uma vez em cada acesso direto", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", "Authentication" : "Autenticação", diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json index 7b1ff7f5ef3..f8487134f1a 100644 --- a/apps/files_external/l10n/pt_PT.json +++ b/apps/files_external/l10n/pt_PT.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Erro de configuração OAuth2", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar chave par", - "Enable encryption" : "Ative a encriptação", - "Enable previews" : "Ative as pré-visualizações", - "Enable sharing" : "Ativar partilha", - "Check for changes" : "Verifique as suas alterações", - "Never" : "Nunca", - "Once every direct access" : "Uma vez em cada acesso direto", "All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.", "(group)" : "(grupo)", "Admin defined" : "Administrador definido", @@ -109,6 +103,12 @@ "Name" : "Nome", "Storage type" : "Tipo de Armazenamento", "Scope" : "Âmbito", + "Enable encryption" : "Activar encriptação", + "Enable previews" : "Ativar pré-visualizações", + "Enable sharing" : "Ativar partilha", + "Check for changes" : "Verificar se há alterações", + "Never" : "Nunca", + "Once every direct access" : "Uma vez em cada acesso direto", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", "Authentication" : "Autenticação", diff --git a/apps/files_external/l10n/ro.js b/apps/files_external/l10n/ro.js index e097cbb5c15..a7f40aa4544 100644 --- a/apps/files_external/l10n/ro.js +++ b/apps/files_external/l10n/ro.js @@ -1,36 +1,79 @@ OC.L10N.register( "files_external", { + "Step 1 failed. Exception: %s" : "Pasul 1 a eșuat. Excepție: %s", + "Step 2 failed. Exception: %s" : "Pasul 2 a eșuat. Excepție: %s", "External storage" : "Stocare externă", "Personal" : "Personal", "Grant access" : "Permite accesul", "Access granted" : "Acces permis", + "Generate keys" : "Generează chei", + "Error generating key pair" : "Eroarea la generarea cheilor", + "(group)" : "(grup)", + "Admin defined" : "Administrator definit", "Saved" : "Salvat", + "Empty response from the server" : "Răspuns nul de la server", + "external-storage" : "Stocare externă", "Username" : "Nume utilizator", "Password" : "Parolă", + "Credentials saved" : "Detalii de autentificare salvate", + "Credentials saving failed" : "Salvarea detaliilor de autentificare a eșuat", + "Credentials required" : "Detalii de autentificare necesare", "Save" : "Salvează", + "Access key" : "Cheie de acces", + "Secret key" : "Cheie secretă", + "Builtin" : "Inclus", "None" : "Niciuna", + "OAuth1" : "OAuth1", + "App key" : "Cheie aplicație", + "App secret" : "Secret aplicație", + "OAuth2" : "OAuth2", + "Client ID" : "ID client", + "Client secret" : "Secret client", + "OpenStack" : "OpenStack", + "Tenant name" : "Nume titular", "API key" : "Cheie API", + "Username and password" : "Nume de utilizator și parolă", + "RSA public key" : "Cheie publică RSA", "Public key" : "Cheie publică", "Amazon S3" : "Amazon S3", - "Hostname" : "Hostname", - "Port" : "Portul", + "Hostname" : "Nume mașină", + "Port" : "Port", "Region" : "Regiune", + "Enable SSL" : "Activează SSL", "WebDAV" : "WebDAV", "URL" : "URL", + "Secure https://" : "https:// sigur", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Host" : "Gazdă", + "Secure ftps://" : "ftps:// sigur", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Locație", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SFTP with secret key login" : "SFTP cu cheie secretă de autentificare", + "SMB / CIFS" : "SMB / CIFS", "Share" : "Partajează", + "Domain" : "Domeniu", + "SMB / CIFS using OC login" : "SMB / CIFS folosind autentificare OC", + "Service name" : "Nume serviciu", "Name" : "Nume", "Storage type" : "Tip stocare", + "Enable encryption" : "Activează criptarea", + "Enable previews" : "Activează previzualizările", + "Enable sharing" : "Activează partajarea", + "Check for changes" : "Verifică dacă au intervenit modificări", + "Never" : "Niciodată", "External Storage" : "Stocare externă", "Folder name" : "Denumire director", + "Authentication" : "Autentificare", "Configuration" : "Configurație", + "Available for" : "Disponibil pentru", "Add storage" : "Adauga stocare", + "Advanced settings" : "Setări avansate", "Delete" : "Șterge", "Allow users to mount the following external storage" : "Permite utilizatorilor să monteze următoarea unitate de stocare" }, diff --git a/apps/files_external/l10n/ro.json b/apps/files_external/l10n/ro.json index 14bfe656c1c..e8c158fbbc7 100644 --- a/apps/files_external/l10n/ro.json +++ b/apps/files_external/l10n/ro.json @@ -1,34 +1,77 @@ { "translations": { + "Step 1 failed. Exception: %s" : "Pasul 1 a eșuat. Excepție: %s", + "Step 2 failed. Exception: %s" : "Pasul 2 a eșuat. Excepție: %s", "External storage" : "Stocare externă", "Personal" : "Personal", "Grant access" : "Permite accesul", "Access granted" : "Acces permis", + "Generate keys" : "Generează chei", + "Error generating key pair" : "Eroarea la generarea cheilor", + "(group)" : "(grup)", + "Admin defined" : "Administrator definit", "Saved" : "Salvat", + "Empty response from the server" : "Răspuns nul de la server", + "external-storage" : "Stocare externă", "Username" : "Nume utilizator", "Password" : "Parolă", + "Credentials saved" : "Detalii de autentificare salvate", + "Credentials saving failed" : "Salvarea detaliilor de autentificare a eșuat", + "Credentials required" : "Detalii de autentificare necesare", "Save" : "Salvează", + "Access key" : "Cheie de acces", + "Secret key" : "Cheie secretă", + "Builtin" : "Inclus", "None" : "Niciuna", + "OAuth1" : "OAuth1", + "App key" : "Cheie aplicație", + "App secret" : "Secret aplicație", + "OAuth2" : "OAuth2", + "Client ID" : "ID client", + "Client secret" : "Secret client", + "OpenStack" : "OpenStack", + "Tenant name" : "Nume titular", "API key" : "Cheie API", + "Username and password" : "Nume de utilizator și parolă", + "RSA public key" : "Cheie publică RSA", "Public key" : "Cheie publică", "Amazon S3" : "Amazon S3", - "Hostname" : "Hostname", - "Port" : "Portul", + "Hostname" : "Nume mașină", + "Port" : "Port", "Region" : "Regiune", + "Enable SSL" : "Activează SSL", "WebDAV" : "WebDAV", "URL" : "URL", + "Secure https://" : "https:// sigur", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Host" : "Gazdă", + "Secure ftps://" : "ftps:// sigur", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Locație", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SFTP with secret key login" : "SFTP cu cheie secretă de autentificare", + "SMB / CIFS" : "SMB / CIFS", "Share" : "Partajează", + "Domain" : "Domeniu", + "SMB / CIFS using OC login" : "SMB / CIFS folosind autentificare OC", + "Service name" : "Nume serviciu", "Name" : "Nume", "Storage type" : "Tip stocare", + "Enable encryption" : "Activează criptarea", + "Enable previews" : "Activează previzualizările", + "Enable sharing" : "Activează partajarea", + "Check for changes" : "Verifică dacă au intervenit modificări", + "Never" : "Niciodată", "External Storage" : "Stocare externă", "Folder name" : "Denumire director", + "Authentication" : "Autentificare", "Configuration" : "Configurație", + "Available for" : "Disponibil pentru", "Add storage" : "Adauga stocare", + "Advanced settings" : "Setări avansate", "Delete" : "Șterge", "Allow users to mount the following external storage" : "Permite utilizatorilor să monteze următoarea unitate de stocare" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js index 7475a6b5446..92bebd4f008 100644 --- a/apps/files_external/l10n/ru.js +++ b/apps/files_external/l10n/ru.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Ошибка настройки OAuth2", "Generate keys" : "Создать ключи", "Error generating key pair" : "Ошибка создания ключевой пары", - "Enable encryption" : "Включить шифрование", - "Enable previews" : "Включить предпросмотр", - "Enable sharing" : "Включить общий доступ", - "Check for changes" : "Проверять изменения", - "Never" : "Никогда", - "Once every direct access" : "Один раз при прямом доступе", "All users. Type to select user or group." : "Все пользователи. Введите имя пользователя или группы.", "(group)" : "(группа)", "Admin defined" : "Админ определен", @@ -111,6 +105,12 @@ OC.L10N.register( "Name" : "Имя", "Storage type" : "Тип хранилища", "Scope" : "Область", + "Enable encryption" : "Включить шифрование", + "Enable previews" : "Включить предпросмотр", + "Enable sharing" : "Включить общий доступ", + "Check for changes" : "Проверять изменения", + "Never" : "Никогда", + "Once every direct access" : "Один раз при прямом доступе", "External Storage" : "Внешнее хранилище", "Folder name" : "Имя каталога", "Authentication" : "Авторизация", diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json index 657a16910b8..65281caec0b 100644 --- a/apps/files_external/l10n/ru.json +++ b/apps/files_external/l10n/ru.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Ошибка настройки OAuth2", "Generate keys" : "Создать ключи", "Error generating key pair" : "Ошибка создания ключевой пары", - "Enable encryption" : "Включить шифрование", - "Enable previews" : "Включить предпросмотр", - "Enable sharing" : "Включить общий доступ", - "Check for changes" : "Проверять изменения", - "Never" : "Никогда", - "Once every direct access" : "Один раз при прямом доступе", "All users. Type to select user or group." : "Все пользователи. Введите имя пользователя или группы.", "(group)" : "(группа)", "Admin defined" : "Админ определен", @@ -109,6 +103,12 @@ "Name" : "Имя", "Storage type" : "Тип хранилища", "Scope" : "Область", + "Enable encryption" : "Включить шифрование", + "Enable previews" : "Включить предпросмотр", + "Enable sharing" : "Включить общий доступ", + "Check for changes" : "Проверять изменения", + "Never" : "Никогда", + "Once every direct access" : "Один раз при прямом доступе", "External Storage" : "Внешнее хранилище", "Folder name" : "Имя каталога", "Authentication" : "Авторизация", diff --git a/apps/files_external/l10n/sk_SK.js b/apps/files_external/l10n/sk_SK.js index 8c1f74051b0..ab820378a81 100644 --- a/apps/files_external/l10n/sk_SK.js +++ b/apps/files_external/l10n/sk_SK.js @@ -24,11 +24,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Chyba konfigurovania OAuth2", "Generate keys" : "Vytvoriť kľúče", "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", - "Enable encryption" : "Povoliť šifrovanie", - "Enable previews" : "Povoliť náhľady", - "Check for changes" : "Zisťovať zmeny", - "Never" : "Nikdy", - "Once every direct access" : "S každým priamym prístupom", "All users. Type to select user or group." : "Všetci používatelia. Začnite písať pre výber používateľa alebo skupinu.", "(group)" : "(skupina)", "Saved" : "Uložené", @@ -91,6 +86,11 @@ OC.L10N.register( "Name" : "Názov", "Storage type" : "Typ úložiska", "Scope" : "Rozsah", + "Enable encryption" : "Povoliť šifrovanie", + "Enable previews" : "Povoliť náhľady", + "Check for changes" : "Zisťovať zmeny", + "Never" : "Nikdy", + "Once every direct access" : "S každým priamym prístupom", "External Storage" : "Externé úložisko", "Folder name" : "Názov priečinka", "Authentication" : "Autentifikácia", diff --git a/apps/files_external/l10n/sk_SK.json b/apps/files_external/l10n/sk_SK.json index d2bf8c37926..28d37a83697 100644 --- a/apps/files_external/l10n/sk_SK.json +++ b/apps/files_external/l10n/sk_SK.json @@ -22,11 +22,6 @@ "Error configuring OAuth2" : "Chyba konfigurovania OAuth2", "Generate keys" : "Vytvoriť kľúče", "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", - "Enable encryption" : "Povoliť šifrovanie", - "Enable previews" : "Povoliť náhľady", - "Check for changes" : "Zisťovať zmeny", - "Never" : "Nikdy", - "Once every direct access" : "S každým priamym prístupom", "All users. Type to select user or group." : "Všetci používatelia. Začnite písať pre výber používateľa alebo skupinu.", "(group)" : "(skupina)", "Saved" : "Uložené", @@ -89,6 +84,11 @@ "Name" : "Názov", "Storage type" : "Typ úložiska", "Scope" : "Rozsah", + "Enable encryption" : "Povoliť šifrovanie", + "Enable previews" : "Povoliť náhľady", + "Check for changes" : "Zisťovať zmeny", + "Never" : "Nikdy", + "Once every direct access" : "S každým priamym prístupom", "External Storage" : "Externé úložisko", "Folder name" : "Názov priečinka", "Authentication" : "Autentifikácia", diff --git a/apps/files_external/l10n/sl.js b/apps/files_external/l10n/sl.js index c3711b1e0ca..81646e3e15c 100644 --- a/apps/files_external/l10n/sl.js +++ b/apps/files_external/l10n/sl.js @@ -2,16 +2,23 @@ OC.L10N.register( "files_external", { "Fetching request tokens failed. Verify that your app key and secret are correct." : "Pridobivanje žetonov zahteve je spodletelo. Preverite, ali sta ključ in skrivno geslo programa navedena pravilno.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Pridobivanje žetonov za dostop je spodletelo. Preverite, da sta ključ in skrivno geslo navedena pravilno.", "Please provide a valid app key and secret." : "Vpisati je treba veljaven ključ programa in kodo.", "Step 1 failed. Exception: %s" : "1. korak je spodletel. Izjemna napaka: %s", "Step 2 failed. Exception: %s" : "2. korak je spodletel. Izjemna napaka: %s", "External storage" : "Zunanja shramba", "Storage with id \"%i\" not found" : "Shrambe z ID \"%i\" ni mogoče najti.", + "Invalid backend or authentication mechanism class" : "Neveljaven ozadnji program oziroma razred mehanizma overitve", "Invalid mount point" : "Neveljavna priklopna točka", + "Objectstore forbidden" : "Shranjevanje predmeta je prepovedano", "Invalid storage backend \"%s\"" : "Neveljaven ozadnji program shrambe \"%s\"", + "Not permitted to use backend \"%s\"" : "Uporaba ozadnjega programa \"%s\" ni dovoljena.", + "Not permitted to use authentication mechanism \"%s\"" : "Uporaba načina overitve \"%s\" ni dovoljena.", + "Unsatisfied backend parameters" : "Nezadovoljivi parametri ozadnjega programa", "Unsatisfied authentication mechanism parameters" : "Nezadovoljivi parametri mehanizma overitve", "Insufficient data: %s" : "Nepopolni podatki: %s", "%s" : "%s", + "Storage with id \"%i\" is not user editable" : "Shramba z ID \"%i\" ni uporabniško uredljiva.", "Personal" : "Osebno", "System" : "Sistem", "Grant access" : "Odobri dostop", @@ -20,20 +27,19 @@ OC.L10N.register( "Error configuring OAuth2" : "Napaka nastavljanja OAuth2", "Generate keys" : "Ustvari ključe", "Error generating key pair" : "Prišlo je do napake med ustvarjanjem para ključev", - "Enable encryption" : "Omogoči šifriranje", - "Enable previews" : "Omogoči predogled", - "Enable sharing" : "Omogoči souporabo", - "Check for changes" : "Preveri za spremembe", - "Never" : "Nikoli", - "Once every direct access" : "Enkrat ob neposrednem dostopu", "All users. Type to select user or group." : "Vsi uporabniki. Skupino ali uporabnika je mogoče tudi izbrati.", "(group)" : "(skupina)", "Admin defined" : "Skrbnik je določen", "Saved" : "Shranjeno", + "Empty response from the server" : "S strežnika je prejet odziv brez vsebine.", + "Couldn't access. Please logout and login to activate this mount point" : "Dostop ni mogoč. Za priklop točke se odjavite in ponovno prijavite.", + "Couldn't get the information from the ownCloud server: {code} {type}" : "Ni mogoče pridobiti podrobnosti s strežnika ownCloud:{koda} {vrsta}", "Couldn't get the list of external mount points: {type}" : "Ni mogoče pridobiti seznama zunanjih priklopnih točk: {type}", "There was an error with message: " : "Prišlo je do napake s sporočilom:", "External mount error" : "Notranja napaka priklopa", "external-storage" : "zunanja-shramba", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Ni mogoče pridobiti seznama priklopnih točk omrežnega pogona: ni odziva s strežnika", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Nekatere izmed nastavljenih zunanjih priklopnih točk niso povezane. Več podrobnosti je na voljo s klikom na rdeče vrstice.", "Please enter the credentials for the {mount} mount" : "Vpišite poverila za priklopno točko {mount}", "Username" : "Uporabniško ime", "Password" : "Geslo", @@ -54,8 +60,10 @@ OC.L10N.register( "OpenStack" : "OpenStack", "Tenant name" : "Ime uporabnika", "Identity endpoint URL" : "Naslov URL končne točke istovetnosti", + "Rackspace" : "Rackspace", "API key" : "Ključ API", "Username and password" : "Uporabniško ime in geslo", + "Log-in credentials, save in session" : "Prijavna poverila, shrani v seji", "RSA public key" : "Javni ključ RSA", "Public key" : "Javni ključ", "Amazon S3" : "Amazon S3", @@ -87,6 +95,7 @@ OC.L10N.register( "Username as share" : "Uporabniško ime za souporabo", "OpenStack Object Storage" : "Shramba predmeta OpenStack", "Service name" : "Ime storitve", + "Request timeout (seconds)" : "Zahtevan časovni zamik (sekunde)", "<b>Note:</b> " : "<b>Opomba:</b> ", "<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.", @@ -96,6 +105,12 @@ OC.L10N.register( "Name" : "Ime", "Storage type" : "Vrsta shrambe", "Scope" : "Obseg", + "Enable encryption" : "Omogoči šifriranje", + "Enable previews" : "Omogoči predogled", + "Enable sharing" : "Omogoči souporabo", + "Check for changes" : "Preveri za spremembe", + "Never" : "Nikoli", + "Once every direct access" : "Enkrat ob neposrednem dostopu", "External Storage" : "Zunanja podatkovna shramba", "Folder name" : "Ime mape", "Authentication" : "Overitev", diff --git a/apps/files_external/l10n/sl.json b/apps/files_external/l10n/sl.json index 3f68c848ba4..11597bd765c 100644 --- a/apps/files_external/l10n/sl.json +++ b/apps/files_external/l10n/sl.json @@ -1,15 +1,22 @@ { "translations": { "Fetching request tokens failed. Verify that your app key and secret are correct." : "Pridobivanje žetonov zahteve je spodletelo. Preverite, ali sta ključ in skrivno geslo programa navedena pravilno.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Pridobivanje žetonov za dostop je spodletelo. Preverite, da sta ključ in skrivno geslo navedena pravilno.", "Please provide a valid app key and secret." : "Vpisati je treba veljaven ključ programa in kodo.", "Step 1 failed. Exception: %s" : "1. korak je spodletel. Izjemna napaka: %s", "Step 2 failed. Exception: %s" : "2. korak je spodletel. Izjemna napaka: %s", "External storage" : "Zunanja shramba", "Storage with id \"%i\" not found" : "Shrambe z ID \"%i\" ni mogoče najti.", + "Invalid backend or authentication mechanism class" : "Neveljaven ozadnji program oziroma razred mehanizma overitve", "Invalid mount point" : "Neveljavna priklopna točka", + "Objectstore forbidden" : "Shranjevanje predmeta je prepovedano", "Invalid storage backend \"%s\"" : "Neveljaven ozadnji program shrambe \"%s\"", + "Not permitted to use backend \"%s\"" : "Uporaba ozadnjega programa \"%s\" ni dovoljena.", + "Not permitted to use authentication mechanism \"%s\"" : "Uporaba načina overitve \"%s\" ni dovoljena.", + "Unsatisfied backend parameters" : "Nezadovoljivi parametri ozadnjega programa", "Unsatisfied authentication mechanism parameters" : "Nezadovoljivi parametri mehanizma overitve", "Insufficient data: %s" : "Nepopolni podatki: %s", "%s" : "%s", + "Storage with id \"%i\" is not user editable" : "Shramba z ID \"%i\" ni uporabniško uredljiva.", "Personal" : "Osebno", "System" : "Sistem", "Grant access" : "Odobri dostop", @@ -18,20 +25,19 @@ "Error configuring OAuth2" : "Napaka nastavljanja OAuth2", "Generate keys" : "Ustvari ključe", "Error generating key pair" : "Prišlo je do napake med ustvarjanjem para ključev", - "Enable encryption" : "Omogoči šifriranje", - "Enable previews" : "Omogoči predogled", - "Enable sharing" : "Omogoči souporabo", - "Check for changes" : "Preveri za spremembe", - "Never" : "Nikoli", - "Once every direct access" : "Enkrat ob neposrednem dostopu", "All users. Type to select user or group." : "Vsi uporabniki. Skupino ali uporabnika je mogoče tudi izbrati.", "(group)" : "(skupina)", "Admin defined" : "Skrbnik je določen", "Saved" : "Shranjeno", + "Empty response from the server" : "S strežnika je prejet odziv brez vsebine.", + "Couldn't access. Please logout and login to activate this mount point" : "Dostop ni mogoč. Za priklop točke se odjavite in ponovno prijavite.", + "Couldn't get the information from the ownCloud server: {code} {type}" : "Ni mogoče pridobiti podrobnosti s strežnika ownCloud:{koda} {vrsta}", "Couldn't get the list of external mount points: {type}" : "Ni mogoče pridobiti seznama zunanjih priklopnih točk: {type}", "There was an error with message: " : "Prišlo je do napake s sporočilom:", "External mount error" : "Notranja napaka priklopa", "external-storage" : "zunanja-shramba", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Ni mogoče pridobiti seznama priklopnih točk omrežnega pogona: ni odziva s strežnika", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Nekatere izmed nastavljenih zunanjih priklopnih točk niso povezane. Več podrobnosti je na voljo s klikom na rdeče vrstice.", "Please enter the credentials for the {mount} mount" : "Vpišite poverila za priklopno točko {mount}", "Username" : "Uporabniško ime", "Password" : "Geslo", @@ -52,8 +58,10 @@ "OpenStack" : "OpenStack", "Tenant name" : "Ime uporabnika", "Identity endpoint URL" : "Naslov URL končne točke istovetnosti", + "Rackspace" : "Rackspace", "API key" : "Ključ API", "Username and password" : "Uporabniško ime in geslo", + "Log-in credentials, save in session" : "Prijavna poverila, shrani v seji", "RSA public key" : "Javni ključ RSA", "Public key" : "Javni ključ", "Amazon S3" : "Amazon S3", @@ -85,6 +93,7 @@ "Username as share" : "Uporabniško ime za souporabo", "OpenStack Object Storage" : "Shramba predmeta OpenStack", "Service name" : "Ime storitve", + "Request timeout (seconds)" : "Zahtevan časovni zamik (sekunde)", "<b>Note:</b> " : "<b>Opomba:</b> ", "<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.", @@ -94,6 +103,12 @@ "Name" : "Ime", "Storage type" : "Vrsta shrambe", "Scope" : "Obseg", + "Enable encryption" : "Omogoči šifriranje", + "Enable previews" : "Omogoči predogled", + "Enable sharing" : "Omogoči souporabo", + "Check for changes" : "Preveri za spremembe", + "Never" : "Nikoli", + "Once every direct access" : "Enkrat ob neposrednem dostopu", "External Storage" : "Zunanja podatkovna shramba", "Folder name" : "Ime mape", "Authentication" : "Overitev", diff --git a/apps/files_external/l10n/sq.js b/apps/files_external/l10n/sq.js index ce1ceaa3ba1..c2bd82ebde0 100644 --- a/apps/files_external/l10n/sq.js +++ b/apps/files_external/l10n/sq.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "Gabim gjatë formësimit të OAuth2", "Generate keys" : "Prodho kyçe", "Error generating key pair" : "Gabim gjatë prodhimit të çiftit të kyçeve", - "Enable encryption" : "Aktivizoni fshehtëzim", - "Enable previews" : "Aktivizoni paraparje", - "Enable sharing" : "Aktivizo ndarjet", - "Check for changes" : "Kontrollo për ndryshime", - "Never" : "Kurrë", - "Once every direct access" : "Çdo herë pas hyrjesh të drejtpërdrejta", "All users. Type to select user or group." : "Krejt përdoruesit. Shtypni që të përzgjidhet përdorues ose grup.", "(group)" : "(grup)", "Admin defined" : "Përcaktuar nga përgjegjësi", @@ -109,6 +103,12 @@ OC.L10N.register( "Name" : "Emër", "Storage type" : "Lloj depozite", "Scope" : "Shtrirje", + "Enable encryption" : "Aktivizoni fshehtëzim", + "Enable previews" : "Aktivizoni paraparje", + "Enable sharing" : "Aktivizo ndarjet", + "Check for changes" : "Kontrollo për ndryshime", + "Never" : "Kurrë", + "Once every direct access" : "Çdo herë pas hyrjesh të drejtpërdrejta", "External Storage" : "Depozitë e Jashtme", "Folder name" : "Emër dosjeje", "Authentication" : "Mirëfilltësim", diff --git a/apps/files_external/l10n/sq.json b/apps/files_external/l10n/sq.json index f6eae29a17f..3979fc3d23b 100644 --- a/apps/files_external/l10n/sq.json +++ b/apps/files_external/l10n/sq.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "Gabim gjatë formësimit të OAuth2", "Generate keys" : "Prodho kyçe", "Error generating key pair" : "Gabim gjatë prodhimit të çiftit të kyçeve", - "Enable encryption" : "Aktivizoni fshehtëzim", - "Enable previews" : "Aktivizoni paraparje", - "Enable sharing" : "Aktivizo ndarjet", - "Check for changes" : "Kontrollo për ndryshime", - "Never" : "Kurrë", - "Once every direct access" : "Çdo herë pas hyrjesh të drejtpërdrejta", "All users. Type to select user or group." : "Krejt përdoruesit. Shtypni që të përzgjidhet përdorues ose grup.", "(group)" : "(grup)", "Admin defined" : "Përcaktuar nga përgjegjësi", @@ -107,6 +101,12 @@ "Name" : "Emër", "Storage type" : "Lloj depozite", "Scope" : "Shtrirje", + "Enable encryption" : "Aktivizoni fshehtëzim", + "Enable previews" : "Aktivizoni paraparje", + "Enable sharing" : "Aktivizo ndarjet", + "Check for changes" : "Kontrollo për ndryshime", + "Never" : "Kurrë", + "Once every direct access" : "Çdo herë pas hyrjesh të drejtpërdrejta", "External Storage" : "Depozitë e Jashtme", "Folder name" : "Emër dosjeje", "Authentication" : "Mirëfilltësim", diff --git a/apps/files_external/l10n/sr.js b/apps/files_external/l10n/sr.js index 53b8dad45f1..8a96b403134 100644 --- a/apps/files_external/l10n/sr.js +++ b/apps/files_external/l10n/sr.js @@ -13,12 +13,6 @@ OC.L10N.register( "Access granted" : "Приступ одобрен", "Generate keys" : "Генериши кључеве", "Error generating key pair" : "Грешка при генерисању пара кључева", - "Enable encryption" : "Укључи шифровање", - "Enable previews" : "Укључи прегледе", - "Enable sharing" : "Укључи дељење", - "Check for changes" : "Провери измене", - "Never" : "никад", - "Once every direct access" : "једном при сваком директном приступу", "All users. Type to select user or group." : "Сви корисници. Куцајте за избор корисника или групе.", "(group)" : "(група)", "Saved" : "Сачувано", @@ -68,6 +62,12 @@ OC.L10N.register( "Name" : "Назив", "Storage type" : "Тип складишта", "Scope" : "Распон", + "Enable encryption" : "Укључи шифровање", + "Enable previews" : "Укључи прегледе", + "Enable sharing" : "Укључи дељење", + "Check for changes" : "Провери измене", + "Never" : "никад", + "Once every direct access" : "једном при сваком директном приступу", "External Storage" : "Спољашње складиште", "Folder name" : "Назив фасцикле", "Authentication" : "Аутентификација", diff --git a/apps/files_external/l10n/sr.json b/apps/files_external/l10n/sr.json index a5b84eea915..d9b9300ae94 100644 --- a/apps/files_external/l10n/sr.json +++ b/apps/files_external/l10n/sr.json @@ -11,12 +11,6 @@ "Access granted" : "Приступ одобрен", "Generate keys" : "Генериши кључеве", "Error generating key pair" : "Грешка при генерисању пара кључева", - "Enable encryption" : "Укључи шифровање", - "Enable previews" : "Укључи прегледе", - "Enable sharing" : "Укључи дељење", - "Check for changes" : "Провери измене", - "Never" : "никад", - "Once every direct access" : "једном при сваком директном приступу", "All users. Type to select user or group." : "Сви корисници. Куцајте за избор корисника или групе.", "(group)" : "(група)", "Saved" : "Сачувано", @@ -66,6 +60,12 @@ "Name" : "Назив", "Storage type" : "Тип складишта", "Scope" : "Распон", + "Enable encryption" : "Укључи шифровање", + "Enable previews" : "Укључи прегледе", + "Enable sharing" : "Укључи дељење", + "Check for changes" : "Провери измене", + "Never" : "никад", + "Once every direct access" : "једном при сваком директном приступу", "External Storage" : "Спољашње складиште", "Folder name" : "Назив фасцикле", "Authentication" : "Аутентификација", diff --git a/apps/files_external/l10n/sv.js b/apps/files_external/l10n/sv.js index 51567940df1..25a637e31fa 100644 --- a/apps/files_external/l10n/sv.js +++ b/apps/files_external/l10n/sv.js @@ -14,11 +14,6 @@ OC.L10N.register( "Access granted" : "Åtkomst beviljad", "Generate keys" : "Generera nycklar", "Error generating key pair" : "Fel vid generering av nyckelpar", - "Enable encryption" : "Aktivera kryptering", - "Enable previews" : "Aktivera förhandsgranskningar", - "Enable sharing" : "Aktivera delning", - "Check for changes" : "Sök efter ändringar", - "Never" : "Aldrig", "All users. Type to select user or group." : "Alla användare. Skriv för att välja användare eller grupp.", "(group)" : "(grupp)", "Admin defined" : "Admin definerad", @@ -88,6 +83,11 @@ OC.L10N.register( "Name" : "Namn", "Storage type" : "Lagringstyp", "Scope" : "Scope", + "Enable encryption" : "Aktivera kryptering", + "Enable previews" : "Aktivera förhandsgranskningar", + "Enable sharing" : "Aktivera delning", + "Check for changes" : "Sök efter ändringar", + "Never" : "Aldrig", "External Storage" : "Extern lagring", "Folder name" : "Mappnamn", "Authentication" : "Autentisering", diff --git a/apps/files_external/l10n/sv.json b/apps/files_external/l10n/sv.json index 0a264bba4c1..5e6ee5e75bf 100644 --- a/apps/files_external/l10n/sv.json +++ b/apps/files_external/l10n/sv.json @@ -12,11 +12,6 @@ "Access granted" : "Åtkomst beviljad", "Generate keys" : "Generera nycklar", "Error generating key pair" : "Fel vid generering av nyckelpar", - "Enable encryption" : "Aktivera kryptering", - "Enable previews" : "Aktivera förhandsgranskningar", - "Enable sharing" : "Aktivera delning", - "Check for changes" : "Sök efter ändringar", - "Never" : "Aldrig", "All users. Type to select user or group." : "Alla användare. Skriv för att välja användare eller grupp.", "(group)" : "(grupp)", "Admin defined" : "Admin definerad", @@ -86,6 +81,11 @@ "Name" : "Namn", "Storage type" : "Lagringstyp", "Scope" : "Scope", + "Enable encryption" : "Aktivera kryptering", + "Enable previews" : "Aktivera förhandsgranskningar", + "Enable sharing" : "Aktivera delning", + "Check for changes" : "Sök efter ändringar", + "Never" : "Aldrig", "External Storage" : "Extern lagring", "Folder name" : "Mappnamn", "Authentication" : "Autentisering", diff --git a/apps/files_external/l10n/th_TH.js b/apps/files_external/l10n/th_TH.js index 7668864cc60..d2abf4eb427 100644 --- a/apps/files_external/l10n/th_TH.js +++ b/apps/files_external/l10n/th_TH.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "ข้อผิดพลาดในการกำหนดค่า OAuth2", "Generate keys" : "สร้างคีย์", "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", - "Enable encryption" : "เปิดใช้งานการเข้ารหัส", - "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", - "Enable sharing" : "เปิดให้สามารถแชร์ได้", - "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", - "Never" : "ไม่เคย", - "Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง", "All users. Type to select user or group." : "ผู้ใช้ทุกคน พิมพ์เพื่อเลือกผู้ใช้หรือกลุ่ม", "(group)" : "(กลุ่ม)", "Admin defined" : "ถูกกำหนดโดยผู้ดูแลระบบ", @@ -43,10 +37,15 @@ OC.L10N.register( "Couldn't get the list of external mount points: {type}" : "ไม่สามารถรับรายชื่อของจุดเชื่อมต่อภายนอก: {type}", "There was an error with message: " : "มีข้อความแสดงข้อผิดพลาด", "External mount error" : "การติดจากตั้งภายนอกเกิดข้อผิดพลาด", + "external-storage" : "ที่จัดเก็บข้อมูลภายนอก", "Couldn't get the list of Windows network drive mount points: empty response from the server" : "ไม่สามารถรับรายชื่อไดรฟ์เครือข่ายของวินโดว์ส จุดที่ติดตั้ง: ไม่มีการตอบสนองจากเซิร์ฟเวอร์", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "การกำหนดค่าบางส่วนของจุดเชื่อมต่อภายนอกไม่ถูกเชื่อมต่อ กรุณาคลิกที่ตรงสีแดงสำหรับข้อมูลเพิ่มเติม", + "Please enter the credentials for the {mount} mount" : "กรุณากรอกข้อมูลประจำตัวสำหรับ {mount} ", "Username" : "ชื่อผู้ใช้งาน", "Password" : "รหัสผ่าน", + "Credentials saved" : "ข้อมูลประจำตัวได้ถูกบันทึก", + "Credentials saving failed" : "บันทึกข้อมูลประจำตัวล้มเหลว", + "Credentials required" : "จำเป็นต้องระบบข้อมูลประจำตัว", "Save" : "บันทึก", "Access key" : "คีย์การเข้าถึง", "Secret key" : "คีย์ลับ", @@ -76,7 +75,7 @@ OC.L10N.register( "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง", "WebDAV" : "WebDAV", "URL" : "URL", - "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", + "Remote subfolder" : "โฟลเดอร์ย่อยรีโมท", "Secure https://" : "โหมดปลอดภัย https://", "Dropbox" : "Dropbox", "FTP" : "FTP", @@ -106,6 +105,12 @@ OC.L10N.register( "Name" : "ชื่อ", "Storage type" : "ชนิดการจัดเก็บข้อมูล", "Scope" : "ขอบเขต", + "Enable encryption" : "เปิดใช้งานการเข้ารหัส", + "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", + "Enable sharing" : "เปิดให้สามารถแชร์ได้", + "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", + "Never" : "ไม่เคย", + "Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง", "External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก", "Folder name" : "ชื่อโฟลเดอร์", "Authentication" : "รับรองความถูกต้อง", diff --git a/apps/files_external/l10n/th_TH.json b/apps/files_external/l10n/th_TH.json index 7eccb2d3718..16035bfc6b5 100644 --- a/apps/files_external/l10n/th_TH.json +++ b/apps/files_external/l10n/th_TH.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "ข้อผิดพลาดในการกำหนดค่า OAuth2", "Generate keys" : "สร้างคีย์", "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", - "Enable encryption" : "เปิดใช้งานการเข้ารหัส", - "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", - "Enable sharing" : "เปิดให้สามารถแชร์ได้", - "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", - "Never" : "ไม่เคย", - "Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง", "All users. Type to select user or group." : "ผู้ใช้ทุกคน พิมพ์เพื่อเลือกผู้ใช้หรือกลุ่ม", "(group)" : "(กลุ่ม)", "Admin defined" : "ถูกกำหนดโดยผู้ดูแลระบบ", @@ -41,10 +35,15 @@ "Couldn't get the list of external mount points: {type}" : "ไม่สามารถรับรายชื่อของจุดเชื่อมต่อภายนอก: {type}", "There was an error with message: " : "มีข้อความแสดงข้อผิดพลาด", "External mount error" : "การติดจากตั้งภายนอกเกิดข้อผิดพลาด", + "external-storage" : "ที่จัดเก็บข้อมูลภายนอก", "Couldn't get the list of Windows network drive mount points: empty response from the server" : "ไม่สามารถรับรายชื่อไดรฟ์เครือข่ายของวินโดว์ส จุดที่ติดตั้ง: ไม่มีการตอบสนองจากเซิร์ฟเวอร์", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "การกำหนดค่าบางส่วนของจุดเชื่อมต่อภายนอกไม่ถูกเชื่อมต่อ กรุณาคลิกที่ตรงสีแดงสำหรับข้อมูลเพิ่มเติม", + "Please enter the credentials for the {mount} mount" : "กรุณากรอกข้อมูลประจำตัวสำหรับ {mount} ", "Username" : "ชื่อผู้ใช้งาน", "Password" : "รหัสผ่าน", + "Credentials saved" : "ข้อมูลประจำตัวได้ถูกบันทึก", + "Credentials saving failed" : "บันทึกข้อมูลประจำตัวล้มเหลว", + "Credentials required" : "จำเป็นต้องระบบข้อมูลประจำตัว", "Save" : "บันทึก", "Access key" : "คีย์การเข้าถึง", "Secret key" : "คีย์ลับ", @@ -74,7 +73,7 @@ "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง", "WebDAV" : "WebDAV", "URL" : "URL", - "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", + "Remote subfolder" : "โฟลเดอร์ย่อยรีโมท", "Secure https://" : "โหมดปลอดภัย https://", "Dropbox" : "Dropbox", "FTP" : "FTP", @@ -104,6 +103,12 @@ "Name" : "ชื่อ", "Storage type" : "ชนิดการจัดเก็บข้อมูล", "Scope" : "ขอบเขต", + "Enable encryption" : "เปิดใช้งานการเข้ารหัส", + "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", + "Enable sharing" : "เปิดให้สามารถแชร์ได้", + "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", + "Never" : "ไม่เคย", + "Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง", "External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก", "Folder name" : "ชื่อโฟลเดอร์", "Authentication" : "รับรองความถูกต้อง", diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js index dfbbef593ae..28e95fd5eed 100644 --- a/apps/files_external/l10n/tr.js +++ b/apps/files_external/l10n/tr.js @@ -27,12 +27,6 @@ OC.L10N.register( "Error configuring OAuth2" : "OAuth2 yapılandırma hatası", "Generate keys" : "Anahtarlar üret", "Error generating key pair" : "Anahtar çifti üretirken hata", - "Enable encryption" : "Şifrelemeyi aç", - "Enable previews" : "Önizlemeleri aç", - "Enable sharing" : "Paylaşımı etkinleştir", - "Check for changes" : "Değişiklikleri denetle", - "Never" : "Daha yeni", - "Once every direct access" : "Her doğrudan erişimde bir kez", "All users. Type to select user or group." : "Tüm kullanıcılar. Kullanıcı veya grup seçmek için yazın.", "(group)" : "(grup)", "Admin defined" : "Yönetici tanımlandı", @@ -43,8 +37,15 @@ OC.L10N.register( "Couldn't get the list of external mount points: {type}" : "Harici bağlama noktalarının listesi alınamadı: {type}", "There was an error with message: " : "Şu mesajla bir hata oluştu:", "External mount error" : "Harici bağlama hatası", + "external-storage" : "harici-depolama", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Windows ağ sürücüsü bağlama nokta listesi alınamadı: sunucudan boş yanıt", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Yapılandırılmış harici bağlama noktalarından bazıları bağlı değil. Lütfen daha fazla bilgi için kırmızı satırlara tıklayın", + "Please enter the credentials for the {mount} mount" : "{mount} bağlaması için kimlik bilgilerini girin", "Username" : "Kullanıcı Adı", "Password" : "Parola", + "Credentials saved" : "Kimlik bilgileri kaydedildi", + "Credentials saving failed" : "Kimlik bilgileri kaydedilemedi", + "Credentials required" : "Kimlik bilgileri gerekli", "Save" : "Kaydet", "Access key" : "Erişim anahtarı", "Secret key" : "Gizli anahtar", @@ -62,6 +63,7 @@ OC.L10N.register( "Rackspace" : "Rackspace", "API key" : "API anahtarı", "Username and password" : "Kullanıcı adı ve parola", + "Log-in credentials, save in session" : "Oturum kimlik bilgileri, oturumda kaydet", "RSA public key" : "RSA ortak anahtarı", "Public key" : "Ortak anahtar", "Amazon S3" : "Amazon S3", @@ -103,6 +105,12 @@ OC.L10N.register( "Name" : "Ad", "Storage type" : "Depolama türü", "Scope" : "Kapsam", + "Enable encryption" : "Şifrelemeyi aç", + "Enable previews" : "Önizlemeleri aç", + "Enable sharing" : "Paylaşımı etkinleştir", + "Check for changes" : "Değişiklikleri denetle", + "Never" : "Daha yeni", + "Once every direct access" : "Her doğrudan erişimde bir kez", "External Storage" : "Harici Depolama", "Folder name" : "Klasör ismi", "Authentication" : "Kimlik Doğrulama", diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json index 2b1296e3c6f..4b131181b9e 100644 --- a/apps/files_external/l10n/tr.json +++ b/apps/files_external/l10n/tr.json @@ -25,12 +25,6 @@ "Error configuring OAuth2" : "OAuth2 yapılandırma hatası", "Generate keys" : "Anahtarlar üret", "Error generating key pair" : "Anahtar çifti üretirken hata", - "Enable encryption" : "Şifrelemeyi aç", - "Enable previews" : "Önizlemeleri aç", - "Enable sharing" : "Paylaşımı etkinleştir", - "Check for changes" : "Değişiklikleri denetle", - "Never" : "Daha yeni", - "Once every direct access" : "Her doğrudan erişimde bir kez", "All users. Type to select user or group." : "Tüm kullanıcılar. Kullanıcı veya grup seçmek için yazın.", "(group)" : "(grup)", "Admin defined" : "Yönetici tanımlandı", @@ -41,8 +35,15 @@ "Couldn't get the list of external mount points: {type}" : "Harici bağlama noktalarının listesi alınamadı: {type}", "There was an error with message: " : "Şu mesajla bir hata oluştu:", "External mount error" : "Harici bağlama hatası", + "external-storage" : "harici-depolama", + "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Windows ağ sürücüsü bağlama nokta listesi alınamadı: sunucudan boş yanıt", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Yapılandırılmış harici bağlama noktalarından bazıları bağlı değil. Lütfen daha fazla bilgi için kırmızı satırlara tıklayın", + "Please enter the credentials for the {mount} mount" : "{mount} bağlaması için kimlik bilgilerini girin", "Username" : "Kullanıcı Adı", "Password" : "Parola", + "Credentials saved" : "Kimlik bilgileri kaydedildi", + "Credentials saving failed" : "Kimlik bilgileri kaydedilemedi", + "Credentials required" : "Kimlik bilgileri gerekli", "Save" : "Kaydet", "Access key" : "Erişim anahtarı", "Secret key" : "Gizli anahtar", @@ -60,6 +61,7 @@ "Rackspace" : "Rackspace", "API key" : "API anahtarı", "Username and password" : "Kullanıcı adı ve parola", + "Log-in credentials, save in session" : "Oturum kimlik bilgileri, oturumda kaydet", "RSA public key" : "RSA ortak anahtarı", "Public key" : "Ortak anahtar", "Amazon S3" : "Amazon S3", @@ -101,6 +103,12 @@ "Name" : "Ad", "Storage type" : "Depolama türü", "Scope" : "Kapsam", + "Enable encryption" : "Şifrelemeyi aç", + "Enable previews" : "Önizlemeleri aç", + "Enable sharing" : "Paylaşımı etkinleştir", + "Check for changes" : "Değişiklikleri denetle", + "Never" : "Daha yeni", + "Once every direct access" : "Her doğrudan erişimde bir kez", "External Storage" : "Harici Depolama", "Folder name" : "Klasör ismi", "Authentication" : "Kimlik Doğrulama", diff --git a/apps/files_external/l10n/uk.js b/apps/files_external/l10n/uk.js index 9341782dc86..d21348ff73b 100644 --- a/apps/files_external/l10n/uk.js +++ b/apps/files_external/l10n/uk.js @@ -13,7 +13,6 @@ OC.L10N.register( "Access granted" : "Доступ дозволено", "Generate keys" : "Створити ключі", "Error generating key pair" : "Помилка створення ключової пари", - "Enable encryption" : "Увімкнути шифрування", "All users. Type to select user or group." : "Всі користувачі. Введіть ім'я користувача або групи.", "(group)" : "(група)", "Saved" : "Збережено", @@ -58,6 +57,7 @@ OC.L10N.register( "Name" : "Ім'я", "Storage type" : "Тип сховища", "Scope" : "Область", + "Enable encryption" : "Увімкнути шифрування", "External Storage" : "Зовнішні сховища", "Folder name" : "Ім'я теки", "Configuration" : "Налаштування", diff --git a/apps/files_external/l10n/uk.json b/apps/files_external/l10n/uk.json index a76795cba5e..33886b821cc 100644 --- a/apps/files_external/l10n/uk.json +++ b/apps/files_external/l10n/uk.json @@ -11,7 +11,6 @@ "Access granted" : "Доступ дозволено", "Generate keys" : "Створити ключі", "Error generating key pair" : "Помилка створення ключової пари", - "Enable encryption" : "Увімкнути шифрування", "All users. Type to select user or group." : "Всі користувачі. Введіть ім'я користувача або групи.", "(group)" : "(група)", "Saved" : "Збережено", @@ -56,6 +55,7 @@ "Name" : "Ім'я", "Storage type" : "Тип сховища", "Scope" : "Область", + "Enable encryption" : "Увімкнути шифрування", "External Storage" : "Зовнішні сховища", "Folder name" : "Ім'я теки", "Configuration" : "Налаштування", diff --git a/apps/files_external/l10n/zh_CN.js b/apps/files_external/l10n/zh_CN.js index 9582a5a2180..805ae91d4de 100644 --- a/apps/files_external/l10n/zh_CN.js +++ b/apps/files_external/l10n/zh_CN.js @@ -10,10 +10,6 @@ OC.L10N.register( "System" : "系统", "Grant access" : "授权", "Access granted" : "权限已授予。", - "Enable encryption" : "启用加密", - "Enable previews" : "启用预览", - "Enable sharing" : "启用分享", - "Never" : "从不", "Saved" : "已保存", "External mount error" : "外部挂载错误", "external-storage" : "外部存储", @@ -63,6 +59,10 @@ OC.L10N.register( "Name" : "名称", "Storage type" : "存储类型", "Scope" : "适用范围", + "Enable encryption" : "启用加密", + "Enable previews" : "启用预览", + "Enable sharing" : "启用分享", + "Never" : "从不", "External Storage" : "外部存储", "Folder name" : "目录名称", "Authentication" : "认证", diff --git a/apps/files_external/l10n/zh_CN.json b/apps/files_external/l10n/zh_CN.json index 1c8ae2f0697..71babc081f6 100644 --- a/apps/files_external/l10n/zh_CN.json +++ b/apps/files_external/l10n/zh_CN.json @@ -8,10 +8,6 @@ "System" : "系统", "Grant access" : "授权", "Access granted" : "权限已授予。", - "Enable encryption" : "启用加密", - "Enable previews" : "启用预览", - "Enable sharing" : "启用分享", - "Never" : "从不", "Saved" : "已保存", "External mount error" : "外部挂载错误", "external-storage" : "外部存储", @@ -61,6 +57,10 @@ "Name" : "名称", "Storage type" : "存储类型", "Scope" : "适用范围", + "Enable encryption" : "启用加密", + "Enable previews" : "启用预览", + "Enable sharing" : "启用分享", + "Never" : "从不", "External Storage" : "外部存储", "Folder name" : "目录名称", "Authentication" : "认证", diff --git a/apps/files_external/l10n/zh_TW.js b/apps/files_external/l10n/zh_TW.js index b61b2e61b8b..cf3eb29c250 100644 --- a/apps/files_external/l10n/zh_TW.js +++ b/apps/files_external/l10n/zh_TW.js @@ -26,10 +26,6 @@ OC.L10N.register( "Error configuring OAuth2" : "設定 OAuth2 時發生錯誤", "Generate keys" : "產生金鑰", "Error generating key pair" : "產生金鑰對錯誤", - "Enable encryption" : "啟用加密", - "Enable previews" : "啟動預覽", - "Check for changes" : "檢查變動", - "Never" : "絕不", "All users. Type to select user or group." : "所有人都可以使用,或者選擇特定使用者、群組", "(group)" : "(群組)", "Saved" : "已儲存", @@ -93,6 +89,10 @@ OC.L10N.register( "Name" : "名稱", "Storage type" : "儲存類型", "Scope" : "範圍", + "Enable encryption" : "啟用加密", + "Enable previews" : "啟動預覽", + "Check for changes" : "檢查變動", + "Never" : "絕不", "External Storage" : "外部儲存", "Folder name" : "資料夾名稱", "Authentication" : "驗證", diff --git a/apps/files_external/l10n/zh_TW.json b/apps/files_external/l10n/zh_TW.json index 72d17f93161..9dcfdba255f 100644 --- a/apps/files_external/l10n/zh_TW.json +++ b/apps/files_external/l10n/zh_TW.json @@ -24,10 +24,6 @@ "Error configuring OAuth2" : "設定 OAuth2 時發生錯誤", "Generate keys" : "產生金鑰", "Error generating key pair" : "產生金鑰對錯誤", - "Enable encryption" : "啟用加密", - "Enable previews" : "啟動預覽", - "Check for changes" : "檢查變動", - "Never" : "絕不", "All users. Type to select user or group." : "所有人都可以使用,或者選擇特定使用者、群組", "(group)" : "(群組)", "Saved" : "已儲存", @@ -91,6 +87,10 @@ "Name" : "名稱", "Storage type" : "儲存類型", "Scope" : "範圍", + "Enable encryption" : "啟用加密", + "Enable previews" : "啟動預覽", + "Check for changes" : "檢查變動", + "Never" : "絕不", "External Storage" : "外部儲存", "Folder name" : "資料夾名稱", "Authentication" : "驗證", diff --git a/apps/files_external/lib/api.php b/apps/files_external/lib/api.php index 50a2f38c65b..589317dcf98 100644 --- a/apps/files_external/lib/api.php +++ b/apps/files_external/lib/api.php @@ -23,7 +23,7 @@ * */ -namespace OCA\Files\External; +namespace OCA\Files_External\Lib; class Api { diff --git a/apps/files_external/lib/auth/oauth1/oauth1.php b/apps/files_external/lib/auth/oauth1/oauth1.php index dd83c9a6a69..808681530ea 100644 --- a/apps/files_external/lib/auth/oauth1/oauth1.php +++ b/apps/files_external/lib/auth/oauth1/oauth1.php @@ -46,7 +46,7 @@ class OAuth1 extends AuthMechanism { (new DefinitionParameter('token_secret', 'token_secret')) ->setType(DefinitionParameter::VALUE_HIDDEN), ]) - ->setCustomJs('oauth1') + ->addCustomJs('oauth1') ; } diff --git a/apps/files_external/lib/auth/oauth2/oauth2.php b/apps/files_external/lib/auth/oauth2/oauth2.php index c89007b52ba..d4bba8ef0eb 100644 --- a/apps/files_external/lib/auth/oauth2/oauth2.php +++ b/apps/files_external/lib/auth/oauth2/oauth2.php @@ -44,7 +44,7 @@ class OAuth2 extends AuthMechanism { (new DefinitionParameter('token', 'token')) ->setType(DefinitionParameter::VALUE_HIDDEN), ]) - ->setCustomJs('oauth2') + ->addCustomJs('oauth2') ; } diff --git a/apps/files_external/lib/auth/publickey/rsa.php b/apps/files_external/lib/auth/publickey/rsa.php index 9045f6818f9..7732beeddf8 100644 --- a/apps/files_external/lib/auth/publickey/rsa.php +++ b/apps/files_external/lib/auth/publickey/rsa.php @@ -52,7 +52,7 @@ class RSA extends AuthMechanism { (new DefinitionParameter('private_key', 'private_key')) ->setType(DefinitionParameter::VALUE_HIDDEN), ]) - ->setCustomJs('public_key') + ->addCustomJs('public_key') ; } diff --git a/apps/files_external/lib/backend/amazons3.php b/apps/files_external/lib/backend/amazons3.php index b2dedc10e4a..449b6c0379d 100644 --- a/apps/files_external/lib/backend/amazons3.php +++ b/apps/files_external/lib/backend/amazons3.php @@ -38,7 +38,7 @@ class AmazonS3 extends Backend { $this ->setIdentifier('amazons3') ->addIdentifierAlias('\OC\Files\Storage\AmazonS3') // legacy compat - ->setStorageClass('\OC\Files\Storage\AmazonS3') + ->setStorageClass('\OCA\Files_External\Lib\Storage\AmazonS3') ->setText($l->t('Amazon S3')) ->addParameters([ (new DefinitionParameter('bucket', $l->t('Bucket'))), diff --git a/apps/files_external/lib/backend/dropbox.php b/apps/files_external/lib/backend/dropbox.php index 7a414731192..2133c274996 100644 --- a/apps/files_external/lib/backend/dropbox.php +++ b/apps/files_external/lib/backend/dropbox.php @@ -38,12 +38,13 @@ class Dropbox extends Backend { $this ->setIdentifier('dropbox') ->addIdentifierAlias('\OC\Files\Storage\Dropbox') // legacy compat - ->setStorageClass('\OC\Files\Storage\Dropbox') + ->setStorageClass('\OCA\Files_External\Lib\Storage\Dropbox') ->setText($l->t('Dropbox')) ->addParameters([ // all parameters handled in OAuth1 mechanism ]) ->addAuthScheme(AuthMechanism::SCHEME_OAUTH1) + ->addCustomJs('dropbox') ->setLegacyAuthMechanism($legacyAuth) ; } diff --git a/apps/files_external/lib/backend/ftp.php b/apps/files_external/lib/backend/ftp.php index b2b83a27405..3960592d0bc 100644 --- a/apps/files_external/lib/backend/ftp.php +++ b/apps/files_external/lib/backend/ftp.php @@ -38,7 +38,7 @@ class FTP extends Backend { $this ->setIdentifier('ftp') ->addIdentifierAlias('\OC\Files\Storage\FTP') // legacy compat - ->setStorageClass('\OC\Files\Storage\FTP') + ->setStorageClass('\OCA\Files_External\Lib\Storage\FTP') ->setText($l->t('FTP')) ->addParameters([ (new DefinitionParameter('host', $l->t('Host'))), diff --git a/apps/files_external/lib/backend/google.php b/apps/files_external/lib/backend/google.php index 93a8cd2177d..b18b7bdb348 100644 --- a/apps/files_external/lib/backend/google.php +++ b/apps/files_external/lib/backend/google.php @@ -38,12 +38,13 @@ class Google extends Backend { $this ->setIdentifier('googledrive') ->addIdentifierAlias('\OC\Files\Storage\Google') // legacy compat - ->setStorageClass('\OC\Files\Storage\Google') + ->setStorageClass('\OCA\Files_External\Lib\Storage\Google') ->setText($l->t('Google Drive')) ->addParameters([ // all parameters handled in OAuth2 mechanism ]) ->addAuthScheme(AuthMechanism::SCHEME_OAUTH2) + ->addCustomJs('gdrive') ->setLegacyAuthMechanism($legacyAuth) ; } diff --git a/apps/files_external/lib/backend/legacybackend.php b/apps/files_external/lib/backend/legacybackend.php index 084758ff78a..752c501e1ec 100644 --- a/apps/files_external/lib/backend/legacybackend.php +++ b/apps/files_external/lib/backend/legacybackend.php @@ -84,7 +84,7 @@ class LegacyBackend extends Backend { $this->setPriority($definition['priority']); } if (isset($definition['custom'])) { - $this->setCustomJs($definition['custom']); + $this->addCustomJs($definition['custom']); } if (isset($definition['has_dependencies']) && $definition['has_dependencies']) { $this->hasDependencies = true; diff --git a/apps/files_external/lib/backend/owncloud.php b/apps/files_external/lib/backend/owncloud.php index e7da328c5f1..e92288b1354 100644 --- a/apps/files_external/lib/backend/owncloud.php +++ b/apps/files_external/lib/backend/owncloud.php @@ -35,7 +35,7 @@ class OwnCloud extends Backend { $this ->setIdentifier('owncloud') ->addIdentifierAlias('\OC\Files\Storage\OwnCloud') // legacy compat - ->setStorageClass('\OC\Files\Storage\OwnCloud') + ->setStorageClass('\OCA\Files_External\Lib\Storage\OwnCloud') ->setText($l->t('ownCloud')) ->addParameters([ (new DefinitionParameter('host', $l->t('URL'))), diff --git a/apps/files_external/lib/backend/sftp.php b/apps/files_external/lib/backend/sftp.php index 3e5ecb90131..fa33caeb576 100644 --- a/apps/files_external/lib/backend/sftp.php +++ b/apps/files_external/lib/backend/sftp.php @@ -35,7 +35,7 @@ class SFTP extends Backend { $this ->setIdentifier('sftp') ->addIdentifierAlias('\OC\Files\Storage\SFTP') // legacy compat - ->setStorageClass('\OC\Files\Storage\SFTP') + ->setStorageClass('\OCA\Files_External\Lib\Storage\SFTP') ->setText($l->t('SFTP')) ->addParameters([ (new DefinitionParameter('host', $l->t('Host'))), diff --git a/apps/files_external/lib/backend/sftp_key.php b/apps/files_external/lib/backend/sftp_key.php index 58dddedf784..838cf6c52b2 100644 --- a/apps/files_external/lib/backend/sftp_key.php +++ b/apps/files_external/lib/backend/sftp_key.php @@ -34,7 +34,7 @@ class SFTP_Key extends Backend { public function __construct(IL10N $l, RSA $legacyAuth, SFTP $sftpBackend) { $this ->setIdentifier('\OC\Files\Storage\SFTP_Key') - ->setStorageClass('\OC\Files\Storage\SFTP') + ->setStorageClass('\OCA\Files_External\Lib\Storage\SFTP') ->setText($l->t('SFTP with secret key login')) ->addParameters([ (new DefinitionParameter('host', $l->t('Host'))), diff --git a/apps/files_external/lib/backend/smb.php b/apps/files_external/lib/backend/smb.php index 9b71636936a..7ea30dd11bd 100644 --- a/apps/files_external/lib/backend/smb.php +++ b/apps/files_external/lib/backend/smb.php @@ -40,7 +40,7 @@ class SMB extends Backend { $this ->setIdentifier('smb') ->addIdentifierAlias('\OC\Files\Storage\SMB') // legacy compat - ->setStorageClass('\OC\Files\Storage\SMB') + ->setStorageClass('\OCA\Files_External\Lib\Storage\SMB') ->setText($l->t('SMB / CIFS')) ->addParameters([ (new DefinitionParameter('host', $l->t('Host'))), diff --git a/apps/files_external/lib/backend/smb_oc.php b/apps/files_external/lib/backend/smb_oc.php index ba38754ce5a..c543a19bdd8 100644 --- a/apps/files_external/lib/backend/smb_oc.php +++ b/apps/files_external/lib/backend/smb_oc.php @@ -42,7 +42,7 @@ class SMB_OC extends Backend { public function __construct(IL10N $l, SessionCredentials $legacyAuth, SMB $smbBackend) { $this ->setIdentifier('\OC\Files\Storage\SMB_OC') - ->setStorageClass('\OC\Files\Storage\SMB') + ->setStorageClass('\OCA\Files_External\Lib\Storage\SMB') ->setText($l->t('SMB / CIFS using OC login')) ->addParameters([ (new DefinitionParameter('host', $l->t('Host'))), diff --git a/apps/files_external/lib/backend/swift.php b/apps/files_external/lib/backend/swift.php index d6e4ac12f9a..58677575f52 100644 --- a/apps/files_external/lib/backend/swift.php +++ b/apps/files_external/lib/backend/swift.php @@ -38,7 +38,7 @@ class Swift extends Backend { $this ->setIdentifier('swift') ->addIdentifierAlias('\OC\Files\Storage\Swift') // legacy compat - ->setStorageClass('\OC\Files\Storage\Swift') + ->setStorageClass('\OCA\Files_External\Lib\Storage\Swift') ->setText($l->t('OpenStack Object Storage')) ->addParameters([ (new DefinitionParameter('service_name', $l->t('Service name'))) diff --git a/apps/files_external/lib/frontenddefinitiontrait.php b/apps/files_external/lib/frontenddefinitiontrait.php index 9f2b7c40f7f..ccc2a75fd1b 100644 --- a/apps/files_external/lib/frontenddefinitiontrait.php +++ b/apps/files_external/lib/frontenddefinitiontrait.php @@ -36,8 +36,8 @@ trait FrontendDefinitionTrait { /** @var DefinitionParameter[] parameters for mechanism */ private $parameters = []; - /** @var string|null custom JS */ - private $customJs = null; + /** @var string[] custom JS */ + private $customJs = []; /** * @return string @@ -92,7 +92,7 @@ trait FrontendDefinitionTrait { } /** - * @return string|null + * @return string[] */ public function getCustomJs() { return $this->customJs; @@ -102,8 +102,18 @@ trait FrontendDefinitionTrait { * @param string $custom * @return self */ + public function addCustomJs($custom) { + $this->customJs[] = $custom; + return $this; + } + + /** + * @param string $custom + * @return self + * @deprecated 9.1.0, use addCustomJs() instead + */ public function setCustomJs($custom) { - $this->customJs = $custom; + $this->customJs = [$custom]; return $this; } @@ -121,10 +131,8 @@ trait FrontendDefinitionTrait { $data = [ 'name' => $this->getText(), 'configuration' => $configuration, + 'custom' => $this->getCustomJs(), ]; - if (isset($this->customJs)) { - $data['custom'] = $this->getCustomJs(); - } return $data; } diff --git a/apps/files_external/lib/amazons3.php b/apps/files_external/lib/storage/amazons3.php index cb2082ee38b..42df1deffb0 100644 --- a/apps/files_external/lib/amazons3.php +++ b/apps/files_external/lib/storage/amazons3.php @@ -33,7 +33,7 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; set_include_path(get_include_path() . PATH_SEPARATOR . \OC_App::getAppPath('files_external') . '/3rdparty/aws-sdk-php'); diff --git a/apps/files_external/lib/dropbox.php b/apps/files_external/lib/storage/dropbox.php index 3c4022f24ce..55ae7146572 100644 --- a/apps/files_external/lib/dropbox.php +++ b/apps/files_external/lib/storage/dropbox.php @@ -27,11 +27,13 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; +use GuzzleHttp\Exception\RequestException; use Icewind\Streams\IteratorDirectory; +use Icewind\Streams\RetryWrapper; -require_once __DIR__ . '/../3rdparty/Dropbox/autoload.php'; +require_once __DIR__ . '/../../3rdparty/Dropbox/autoload.php'; class Dropbox extends \OC\Files\Storage\Common { @@ -39,6 +41,7 @@ class Dropbox extends \OC\Files\Storage\Common { private $root; private $id; private $metaData = array(); + private $oauth; private static $tempFiles = array(); @@ -51,12 +54,12 @@ class Dropbox extends \OC\Files\Storage\Common { ) { $this->root = isset($params['root']) ? $params['root'] : ''; $this->id = 'dropbox::'.$params['app_key'] . $params['token']. '/' . $this->root; - $oauth = new \Dropbox_OAuth_Curl($params['app_key'], $params['app_secret']); - $oauth->setToken($params['token'], $params['token_secret']); + $this->oauth = new \Dropbox_OAuth_Curl($params['app_key'], $params['app_secret']); + $this->oauth->setToken($params['token'], $params['token_secret']); // note: Dropbox_API connection is lazy - $this->dropbox = new \Dropbox_API($oauth, 'auto'); + $this->dropbox = new \Dropbox_API($this->oauth, 'auto'); } else { - throw new \Exception('Creating \OC\Files\Storage\Dropbox storage failed'); + throw new \Exception('Creating Dropbox storage failed'); } } @@ -248,11 +251,32 @@ class Dropbox extends \OC\Files\Storage\Common { switch ($mode) { case 'r': case 'rb': - $tmpFile = \OCP\Files::tmpFile(); try { - $data = $this->dropbox->getFile($path); - file_put_contents($tmpFile, $data); - return fopen($tmpFile, 'r'); + // slashes need to stay + $encodedPath = str_replace('%2F', '/', rawurlencode(trim($path, '/'))); + $downloadUrl = 'https://api-content.dropbox.com/1/files/auto/' . $encodedPath; + $headers = $this->oauth->getOAuthHeader($downloadUrl, [], 'GET'); + + $client = \OC::$server->getHTTPClientService()->newClient(); + try { + $response = $client->get($downloadUrl, [ + 'headers' => $headers, + 'stream' => true, + ]); + } catch (RequestException $e) { + if (!is_null($e->getResponse())) { + if ($e->getResponse()->getStatusCode() === 404) { + return false; + } else { + throw $e; + } + } else { + throw $e; + } + } + + $handle = $response->getBody(); + return RetryWrapper::wrap($handle); } catch (\Exception $exception) { \OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR); return false; diff --git a/apps/files_external/lib/ftp.php b/apps/files_external/lib/storage/ftp.php index 125888ef722..051c1873009 100644 --- a/apps/files_external/lib/ftp.php +++ b/apps/files_external/lib/storage/ftp.php @@ -28,9 +28,11 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; -class FTP extends \OC\Files\Storage\StreamWrapper{ +use Icewind\Streams\RetryWrapper; + +class FTP extends StreamWrapper{ private $password; private $user; private $host; @@ -57,7 +59,7 @@ class FTP extends \OC\Files\Storage\StreamWrapper{ $this->root .= '/'; } } else { - throw new \Exception('Creating \OC\Files\Storage\FTP storage failed'); + throw new \Exception('Creating FTP storage failed'); } } @@ -76,7 +78,7 @@ class FTP extends \OC\Files\Storage\StreamWrapper{ if ($this->secure) { $url.='s'; } - $url.='://'.$this->user.':'.$this->password.'@'.$this->host.$this->root.$path; + $url.='://'.urlencode($this->user).':'.urlencode($this->password).'@'.$this->host.$this->root.$path; return $url; } @@ -105,7 +107,8 @@ class FTP extends \OC\Files\Storage\StreamWrapper{ case 'ab': //these are supported by the wrapper $context = stream_context_create(array('ftp' => array('overwrite' => true))); - return fopen($this->constructUrl($path), $mode, false, $context); + $handle = fopen($this->constructUrl($path), $mode, false, $context); + return RetryWrapper::wrap($handle); case 'r+': case 'w+': case 'wb+': diff --git a/apps/files_external/lib/google.php b/apps/files_external/lib/storage/google.php index 5e5716cf438..8d1fe808130 100644 --- a/apps/files_external/lib/google.php +++ b/apps/files_external/lib/storage/google.php @@ -31,10 +31,11 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; use GuzzleHttp\Exception\RequestException; use Icewind\Streams\IteratorDirectory; +use Icewind\Streams\RetryWrapper; set_include_path(get_include_path().PATH_SEPARATOR. \OC_App::getAppPath('files_external').'/3rdparty/google-api-php-client/src'); @@ -78,7 +79,7 @@ class Google extends \OC\Files\Storage\Common { $token = json_decode($params['token'], true); $this->id = 'google::'.substr($params['client_id'], 0, 30).$token['created']; } else { - throw new \Exception('Creating \OC\Files\Storage\Google storage failed'); + throw new \Exception('Creating Google storage failed'); } } @@ -441,10 +442,10 @@ class Google extends \OC\Files\Storage\Common { // the library's service doesn't support streaming, so we use Guzzle instead $client = \OC::$server->getHTTPClientService()->newClient(); try { - $tmpFile = \OC::$server->getTempManager()->getTemporaryFile($ext); - $client->get($downloadUrl, [ + $response = $client->get($downloadUrl, [ 'headers' => $httpRequest->getRequestHeaders(), - 'save_to' => $tmpFile, + 'stream' => true, + 'verify' => __DIR__ . '/../3rdparty/google-api-php-client/src/Google/IO/cacerts.pem', ]); } catch (RequestException $e) { if(!is_null($e->getResponse())) { @@ -458,7 +459,8 @@ class Google extends \OC\Files\Storage\Common { } } - return fopen($tmpFile, 'r'); + $handle = $response->getBody(); + return RetryWrapper::wrap($handle); } } return false; @@ -490,18 +492,27 @@ class Google extends \OC\Files\Storage\Common { $path = self::$tempFiles[$tmpFile]; $parentFolder = $this->getDriveFile(dirname($path)); if ($parentFolder) { - // TODO Research resumable upload $mimetype = \OC::$server->getMimeTypeDetector()->detect($tmpFile); - $data = file_get_contents($tmpFile); $params = array( - 'data' => $data, 'mimeType' => $mimetype, 'uploadType' => 'media' ); $result = false; + + $chunkSizeBytes = 10 * 1024 * 1024; + + $useChunking = false; + $size = filesize($tmpFile); + if ($size > $chunkSizeBytes) { + $useChunking = true; + } else { + $params['data'] = file_get_contents($tmpFile); + } + if ($this->file_exists($path)) { $file = $this->getDriveFile($path); - $result = $this->service->files->update($file->getId(), $file, $params); + $this->client->setDefer($useChunking); + $request = $this->service->files->update($file->getId(), $file, $params); } else { $file = new \Google_Service_Drive_DriveFile(); $file->setTitle(basename($path)); @@ -509,8 +520,46 @@ class Google extends \OC\Files\Storage\Common { $parent = new \Google_Service_Drive_ParentReference(); $parent->setId($parentFolder->getId()); $file->setParents(array($parent)); - $result = $this->service->files->insert($file, $params); + $this->client->setDefer($useChunking); + $request = $this->service->files->insert($file, $params); + } + + if ($useChunking) { + // Create a media file upload to represent our upload process. + $media = new \Google_Http_MediaFileUpload( + $this->client, + $request, + 'text/plain', + null, + true, + $chunkSizeBytes + ); + $media->setFileSize($size); + + // Upload the various chunks. $status will be false until the process is + // complete. + $status = false; + $handle = fopen($tmpFile, 'rb'); + while (!$status && !feof($handle)) { + $chunk = fread($handle, $chunkSizeBytes); + $status = $media->nextChunk($chunk); + } + + // The final value of $status will be the data from the API for the object + // that has been uploaded. + $result = false; + if ($status !== false) { + $result = $status; + } + + fclose($handle); + } else { + $result = $request; } + + // Reset to the client to execute requests immediately in the future. + $this->client->setDefer(false); + if ($result) { $this->setDriveFile($path, $result); } diff --git a/apps/files_external/lib/owncloud.php b/apps/files_external/lib/storage/owncloud.php index c4824e6bd14..22ecb4c806a 100644 --- a/apps/files_external/lib/owncloud.php +++ b/apps/files_external/lib/storage/owncloud.php @@ -21,7 +21,7 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; /** * ownCloud backend for external storage based on DAV backend. diff --git a/apps/files_external/lib/sftp.php b/apps/files_external/lib/storage/sftp.php index f6b2873cf49..2375f84dcda 100644 --- a/apps/files_external/lib/sftp.php +++ b/apps/files_external/lib/storage/sftp.php @@ -29,9 +29,10 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; use Icewind\Streams\IteratorDirectory; +use Icewind\Streams\RetryWrapper; use phpseclib\Net\SFTP\Stream; /** @@ -374,7 +375,8 @@ class SFTP extends \OC\Files\Storage\Common { case 'c': case 'c+': $context = stream_context_create(array('sftp' => array('session' => $this->getConnection()))); - return fopen($this->constructUrl($path), $mode, false, $context); + $handle = fopen($this->constructUrl($path), $mode, false, $context); + return RetryWrapper::wrap($handle); } } catch (\Exception $e) { } @@ -459,7 +461,7 @@ class SFTP extends \OC\Files\Storage\Common { // Do not pass the password here. We want to use the Net_SFTP object // supplied via stream context or fail. We only supply username and // hostname because this might show up in logs (they are not used). - $url = 'sftp://'.$this->user.'@'.$this->host.':'.$this->port.$this->root.$path; + $url = 'sftp://' . urlencode($this->user) . '@' . $this->host . ':' . $this->port . $this->root . $path; return $url; } } diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/storage/smb.php index 25acae95fa3..868c52a63b4 100644 --- a/apps/files_external/lib/smb.php +++ b/apps/files_external/lib/storage/smb.php @@ -28,7 +28,7 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; use Icewind\SMB\Exception\ConnectException; use Icewind\SMB\Exception\Exception; @@ -42,7 +42,7 @@ use OC\Cache\CappedMemoryCache; use OC\Files\Filesystem; use OCP\Files\StorageNotAvailableException; -class SMB extends Common { +class SMB extends \OC\Files\Storage\Common { /** * @var \Icewind\SMB\Server */ @@ -100,7 +100,7 @@ class SMB extends Common { * @return string */ protected function buildPath($path) { - return Filesystem::normalizePath($this->root . '/' . $path); + return Filesystem::normalizePath($this->root . '/' . $path, true, false, true); } /** @@ -349,6 +349,28 @@ class SMB extends Common { } } + public function isReadable($path) { + try { + $info = $this->getFileInfo($path); + return !$info->isHidden(); + } catch (NotFoundException $e) { + return false; + } catch (ForbiddenException $e) { + return false; + } + } + + public function isUpdatable($path) { + try { + $info = $this->getFileInfo($path); + return !$info->isHidden() && !$info->isReadOnly(); + } catch (NotFoundException $e) { + return false; + } catch (ForbiddenException $e) { + return false; + } + } + /** * check if smbclient is installed */ diff --git a/apps/files_external/lib/streamwrapper.php b/apps/files_external/lib/storage/streamwrapper.php index efb51f32ba4..0b4dff78c4f 100644 --- a/apps/files_external/lib/streamwrapper.php +++ b/apps/files_external/lib/storage/streamwrapper.php @@ -24,9 +24,9 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; -abstract class StreamWrapper extends Common { +abstract class StreamWrapper extends \OC\Files\Storage\Common { /** * @param string $path diff --git a/apps/files_external/lib/swift.php b/apps/files_external/lib/storage/swift.php index 9282fe28669..4578cd9a5c7 100644 --- a/apps/files_external/lib/swift.php +++ b/apps/files_external/lib/storage/swift.php @@ -32,7 +32,7 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_External\Lib\Storage; use Guzzle\Http\Url; use Guzzle\Http\Exception\ClientErrorResponseException; diff --git a/apps/files_external/service/dbconfigservice.php b/apps/files_external/service/dbconfigservice.php index a37c541f045..9f7061eb938 100644 --- a/apps/files_external/service/dbconfigservice.php +++ b/apps/files_external/service/dbconfigservice.php @@ -322,10 +322,19 @@ class DBConfigService { private function getMountsFromQuery(IQueryBuilder $query) { $result = $query->execute(); $mounts = $result->fetchAll(); + $uniqueMounts = []; + foreach ($mounts as $mount) { + $id = $mount['mount_id']; + if (!isset($uniqueMounts[$id])) { + $uniqueMounts[$id] = $mount; + } + } + $uniqueMounts = array_values($uniqueMounts); $mountIds = array_map(function ($mount) { return $mount['mount_id']; - }, $mounts); + }, $uniqueMounts); + $mountIds = array_values(array_unique($mountIds)); $applicable = $this->getApplicableForMounts($mountIds); $config = $this->getConfigForMounts($mountIds); @@ -338,7 +347,7 @@ class DBConfigService { $mount['config'] = $config; $mount['options'] = $options; return $mount; - }, $mounts, $applicable, $config, $options); + }, $uniqueMounts, $applicable, $config, $options); } /** diff --git a/apps/files_external/service/globalstoragesservice.php b/apps/files_external/service/globalstoragesservice.php index 312d8417a92..62da314c5fa 100644 --- a/apps/files_external/service/globalstoragesservice.php +++ b/apps/files_external/service/globalstoragesservice.php @@ -72,7 +72,7 @@ class GlobalStoragesService extends StoragesService { /** * Triggers signal_create_mount or signal_delete_mount to - * accomodate for additions/deletions in applicableUsers + * accommodate for additions/deletions in applicableUsers * and applicableGroups fields. * * @param StorageConfig $oldStorage old storage config diff --git a/apps/files_external/service/legacystoragesservice.php b/apps/files_external/service/legacystoragesservice.php index bab1008e561..158fc2b5137 100644 --- a/apps/files_external/service/legacystoragesservice.php +++ b/apps/files_external/service/legacystoragesservice.php @@ -188,7 +188,7 @@ abstract class LegacyStoragesService { $storagesWithConfigHash[$configId] = $currentStorage; } } catch (\UnexpectedValueException $e) { - // dont die if a storage backend doesn't exist + // don't die if a storage backend doesn't exist \OCP\Util::writeLog( 'files_external', 'Could not load storage: "' . $e->getMessage() . '"', diff --git a/apps/files_external/service/storagesservice.php b/apps/files_external/service/storagesservice.php index 1762b55a06c..6542be146d6 100644 --- a/apps/files_external/service/storagesservice.php +++ b/apps/files_external/service/storagesservice.php @@ -96,7 +96,7 @@ abstract class StoragesService { $config->setId((int)$mount['mount_id']); return $config; } catch (\UnexpectedValueException $e) { - // dont die if a storage backend doesn't exist + // don't die if a storage backend doesn't exist \OCP\Util::writeLog( 'files_external', 'Could not load storage: "' . $e->getMessage() . '"', @@ -352,7 +352,7 @@ abstract class StoragesService { /** * Triggers signal_create_mount or signal_delete_mount to - * accomodate for additions/deletions in applicableUsers + * accommodate for additions/deletions in applicableUsers * and applicableGroups fields. * * @param StorageConfig $oldStorage old storage data diff --git a/apps/files_external/service/userstoragesservice.php b/apps/files_external/service/userstoragesservice.php index d4b04de609d..c46846e76d6 100644 --- a/apps/files_external/service/userstoragesservice.php +++ b/apps/files_external/service/userstoragesservice.php @@ -82,7 +82,7 @@ class UserStoragesService extends StoragesService { /** * Triggers signal_create_mount or signal_delete_mount to - * accomodate for additions/deletions in applicableUsers + * accommodate for additions/deletions in applicableUsers * and applicableGroups fields. * * @param StorageConfig $oldStorage old storage data diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php index 697a145131c..c9cc40b0ba0 100644 --- a/apps/files_external/templates/settings.php +++ b/apps/files_external/templates/settings.php @@ -1,20 +1,32 @@ <?php use \OCA\Files_External\Lib\Backend\Backend; + use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Service\BackendService; + $l->t("Enable encryption"); + $l->t("Enable previews"); + $l->t("Enable sharing"); + $l->t("Check for changes"); + $l->t("Never"); + $l->t("Once every direct access"); + script('files_external', 'settings'); style('files_external', 'settings'); // load custom JS foreach ($_['backends'] as $backend) { - if ($backend->getCustomJs()) { - script('files_external', $backend->getCustomJs()); + /** @var Backend $backend */ + $scripts = $backend->getCustomJs(); + foreach ($scripts as $script) { + script('files_external', $script); } } foreach ($_['authMechanisms'] as $authMechanism) { - if ($authMechanism->getCustomJs()) { - script('files_external', $authMechanism->getCustomJs()); + /** @var AuthMechanism $authMechanism */ + $scripts = $authMechanism->getCustomJs(); + foreach ($scripts as $script) { + script('files_external', $script); } } @@ -124,7 +136,7 @@ </td> <?php endif; ?> <td class="mountOptionsToggle hidden"> - <img class="svg action" + <img class="svg" title="<?php p($l->t('Advanced settings')); ?>" alt="<?php p($l->t('Advanced settings')); ?>" src="<?php print_unescaped(image_path('core', 'actions/settings.svg')); ?>" @@ -132,7 +144,7 @@ <input type="hidden" class="mountOptions" value="" /> </td> <td class="hidden"> - <img class="svg action" + <img class="svg" alt="<?php p($l->t('Delete')); ?>" title="<?php p($l->t('Delete')); ?>" src="<?php print_unescaped(image_path('core', 'actions/delete.svg')); ?>" diff --git a/apps/files_external/tests/amazons3migration.php b/apps/files_external/tests/amazons3migration.php index d4ea9e2c261..614d6ca33df 100644 --- a/apps/files_external/tests/amazons3migration.php +++ b/apps/files_external/tests/amazons3migration.php @@ -24,14 +24,16 @@ */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests; + +use OCA\Files_External\Lib\Storage\AmazonS3; /** * Class AmazonS3Migration * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests */ class AmazonS3Migration extends \Test\TestCase { @@ -77,7 +79,7 @@ class AmazonS3Migration extends \Test\TestCase { $fileId = $oldCache->put('foobar', array('size' => 0, 'mtime' => time(), 'mimetype' => 'httpd/directory')); try { - $this->instance = new \OC\Files\Storage\AmazonS3($this->params); + $this->instance = new AmazonS3($this->params); } catch (\Exception $e) { //ignore } @@ -103,7 +105,7 @@ class AmazonS3Migration extends \Test\TestCase { $fileId = $oldCache->put('/', array('size' => 0, 'mtime' => time(), 'mimetype' => 'httpd/directory')); try { - $this->instance = new \OC\Files\Storage\AmazonS3($this->params); + $this->instance = new AmazonS3($this->params); } catch (\Exception $e) { //ignore } diff --git a/apps/files_external/tests/backend/legacybackendtest.php b/apps/files_external/tests/backend/legacybackendtest.php index d825b7627b7..465b79a6be6 100644 --- a/apps/files_external/tests/backend/legacybackendtest.php +++ b/apps/files_external/tests/backend/legacybackendtest.php @@ -62,7 +62,7 @@ class LegacyBackendTest extends \Test\TestCase { $this->assertEquals('\OCA\Files_External\Tests\Backend\LegacyBackendTest', $backend->getStorageClass()); $this->assertEquals('Backend text', $backend->getText()); $this->assertEquals(123, $backend->getPriority()); - $this->assertEquals('foo/bar.js', $backend->getCustomJs()); + $this->assertContains('foo/bar.js', $backend->getCustomJs()); $this->assertArrayHasKey('builtin', $backend->getAuthSchemes()); $this->assertEquals($auth, $backend->getLegacyAuthMechanism()); diff --git a/apps/files_external/tests/controller/storagescontrollertest.php b/apps/files_external/tests/controller/storagescontrollertest.php index 5854cb00fee..4c3c62d5d6f 100644 --- a/apps/files_external/tests/controller/storagescontrollertest.php +++ b/apps/files_external/tests/controller/storagescontrollertest.php @@ -51,7 +51,7 @@ abstract class StoragesControllerTest extends \Test\TestCase { /** * @return \OCA\Files_External\Lib\Backend\Backend */ - protected function getBackendMock($class = '\OCA\Files_External\Lib\Backend\SMB', $storageClass = '\OC\Files\Storage\SMB') { + protected function getBackendMock($class = '\OCA\Files_External\Lib\Backend\SMB', $storageClass = '\OCA\Files_External\Lib\Storage\SMB') { $backend = $this->getMockBuilder('\OCA\Files_External\Lib\Backend\Backend') ->disableOriginalConstructor() ->getMock(); @@ -104,7 +104,7 @@ abstract class StoragesControllerTest extends \Test\TestCase { $response = $this->controller->create( 'mount', - '\OC\Files\Storage\SMB', + '\OCA\Files_External\Lib\Storage\SMB', '\OCA\Files_External\Lib\Auth\NullMechanism', array(), [], @@ -146,7 +146,7 @@ abstract class StoragesControllerTest extends \Test\TestCase { $response = $this->controller->update( 1, 'mount', - '\OC\Files\Storage\SMB', + '\OCA\Files_External\Lib\Storage\SMB', '\OCA\Files_External\Lib\Auth\NullMechanism', array(), [], @@ -188,7 +188,7 @@ abstract class StoragesControllerTest extends \Test\TestCase { $response = $this->controller->create( $mountPoint, - '\OC\Files\Storage\SMB', + '\OCA\Files_External\Lib\Storage\SMB', '\OCA\Files_External\Lib\Auth\NullMechanism', array(), [], @@ -202,7 +202,7 @@ abstract class StoragesControllerTest extends \Test\TestCase { $response = $this->controller->update( 1, $mountPoint, - '\OC\Files\Storage\SMB', + '\OCA\Files_External\Lib\Storage\SMB', '\OCA\Files_External\Lib\Auth\NullMechanism', array(), [], @@ -279,7 +279,7 @@ abstract class StoragesControllerTest extends \Test\TestCase { $response = $this->controller->update( 255, 'mount', - '\OC\Files\Storage\SMB', + '\OCA\Files_External\Lib\Storage\SMB', '\OCA\Files_External\Lib\Auth\NullMechanism', array(), [], @@ -375,7 +375,7 @@ abstract class StoragesControllerTest extends \Test\TestCase { $response = $this->controller->create( 'mount', - '\OC\Files\Storage\SMB', + '\OCA\Files_External\Lib\Storage\SMB', '\OCA\Files_External\Lib\Auth\NullMechanism', array(), [], diff --git a/apps/files_external/tests/controller/userstoragescontrollertest.php b/apps/files_external/tests/controller/userstoragescontrollertest.php index a7e854471b5..804b752b6af 100644 --- a/apps/files_external/tests/controller/userstoragescontrollertest.php +++ b/apps/files_external/tests/controller/userstoragescontrollertest.php @@ -78,7 +78,7 @@ class UserStoragesControllerTest extends StoragesControllerTest { $response = $this->controller->create( 'mount', - '\OC\Files\Storage\SMB', + '\OCA\Files_External\Lib\Storage\SMB', '\Auth\Mechanism', array(), [], @@ -92,7 +92,7 @@ class UserStoragesControllerTest extends StoragesControllerTest { $response = $this->controller->update( 1, 'mount', - '\OC\Files\Storage\SMB', + '\OCA\Files_External\Lib\Storage\SMB', '\Auth\Mechanism', array(), [], diff --git a/apps/files_external/tests/env/start-amazons3-ceph.sh b/apps/files_external/tests/env/start-amazons3-ceph.sh index d36980fdd11..1aa14ac990d 100755 --- a/apps/files_external/tests/env/start-amazons3-ceph.sh +++ b/apps/files_external/tests/env/start-amazons3-ceph.sh @@ -33,6 +33,7 @@ fi; # create readiness notification socket notify_sock=$(readlink -f "$thisFolder"/dockerContainerCeph.$EXECUTOR_NUMBER.amazons3.sock) +rm -f "$notify_sock" # in case an unfinished test left one behind mkfifo "$notify_sock" user=test diff --git a/apps/files_external/tests/env/start-swift-ceph.sh b/apps/files_external/tests/env/start-swift-ceph.sh index e884087c248..1e417c69057 100755 --- a/apps/files_external/tests/env/start-swift-ceph.sh +++ b/apps/files_external/tests/env/start-swift-ceph.sh @@ -33,6 +33,7 @@ fi; # create readiness notification socket notify_sock=$(readlink -f "$thisFolder"/dockerContainerCeph.$EXECUTOR_NUMBER.swift.sock) +rm -f "$notify_sock" # in case an unfinished test left one behind mkfifo "$notify_sock" port=5001 diff --git a/apps/files_external/tests/frontenddefinitiontraittest.php b/apps/files_external/tests/frontenddefinitiontraittest.php index 2afc87762e9..b3846fa1510 100644 --- a/apps/files_external/tests/frontenddefinitiontraittest.php +++ b/apps/files_external/tests/frontenddefinitiontraittest.php @@ -33,12 +33,14 @@ class FrontendDefinitionTraitTest extends \Test\TestCase { $trait = $this->getMockForTrait('\OCA\Files_External\Lib\FrontendDefinitionTrait'); $trait->setText('test'); $trait->addParameters([$param]); - $trait->setCustomJs('foo/bar.js'); + $trait->addCustomJs('foo/bar.js'); + $trait->addCustomJs('bar/foo.js'); $json = $trait->jsonSerializeDefinition(); $this->assertEquals('test', $json['name']); - $this->assertEquals('foo/bar.js', $json['custom']); + $this->assertContains('foo/bar.js', $json['custom']); + $this->assertContains('bar/foo.js', $json['custom']); $configuration = $json['configuration']; $this->assertArrayHasKey('foo', $configuration); diff --git a/apps/files_external/tests/owncloudfunctions.php b/apps/files_external/tests/owncloudfunctions.php index 019f988275e..25aaa90d178 100644 --- a/apps/files_external/tests/owncloudfunctions.php +++ b/apps/files_external/tests/owncloudfunctions.php @@ -23,14 +23,14 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests; /** * Class OwnCloudFunctions * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests */ class OwnCloudFunctions extends \Test\TestCase { @@ -109,7 +109,7 @@ class OwnCloudFunctions extends \Test\TestCase { public function testConfig($config, $expectedUri) { $config['user'] = 'someuser'; $config['password'] = 'somepassword'; - $instance = new \OC\Files\Storage\OwnCloud($config); + $instance = new \OCA\Files_External\Lib\Storage\OwnCloud($config); $this->assertEquals($expectedUri, $instance->createBaseUri()); } } diff --git a/apps/files_external/tests/service/dbconfigservicetest.php b/apps/files_external/tests/service/dbconfigservicetest.php index c6d1add36b6..b088a7078d1 100644 --- a/apps/files_external/tests/service/dbconfigservicetest.php +++ b/apps/files_external/tests/service/dbconfigservicetest.php @@ -271,4 +271,15 @@ class DBConfigServiceTest extends TestCase { $mount = $this->dbConfig->getMountById($id2); $this->assertEquals('bar', $mount['auth_backend']); } + + public function testGetMountsForDuplicateByGroup() { + $id1 = $this->addMount('/test', 'foo', 'bar', 100, DBConfigService::MOUNT_TYPE_ADMIN); + + $this->dbConfig->addApplicable($id1, DBConfigService::APPLICABLE_TYPE_GROUP, 'group1'); + $this->dbConfig->addApplicable($id1, DBConfigService::APPLICABLE_TYPE_GROUP, 'group2'); + + $mounts = $this->dbConfig->getAdminMountsForMultiple(DBConfigService::APPLICABLE_TYPE_GROUP, ['group1', 'group2']); + $this->assertCount(1, $mounts); + $this->assertEquals($id1, $mounts[0]['mount_id']); + } } diff --git a/apps/files_external/tests/service/storagesservicetest.php b/apps/files_external/tests/service/storagesservicetest.php index 3fbe3b755e1..f93c0134814 100644 --- a/apps/files_external/tests/service/storagesservicetest.php +++ b/apps/files_external/tests/service/storagesservicetest.php @@ -121,9 +121,9 @@ abstract class StoragesServiceTest extends \Test\TestCase { $this->backendService->method('getAuthMechanisms') ->will($this->returnValue($authMechanisms)); - $sftpBackend = $this->getBackendMock('\OCA\Files_External\Lib\Backend\SFTP', '\OC\Files\Storage\SFTP'); + $sftpBackend = $this->getBackendMock('\OCA\Files_External\Lib\Backend\SFTP', '\OCA\Files_External\Lib\Storage\SFTP'); $backends = [ - 'identifier:\OCA\Files_External\Lib\Backend\SMB' => $this->getBackendMock('\OCA\Files_External\Lib\Backend\SMB', '\OC\Files\Storage\SMB'), + 'identifier:\OCA\Files_External\Lib\Backend\SMB' => $this->getBackendMock('\OCA\Files_External\Lib\Backend\SMB', '\OCA\Files_External\Lib\Storage\SMB'), 'identifier:\OCA\Files_External\Lib\Backend\SFTP' => $sftpBackend, 'identifier:sftp_alias' => $sftpBackend, ]; @@ -171,7 +171,7 @@ abstract class StoragesServiceTest extends \Test\TestCase { } } - protected function getBackendMock($class = '\OCA\Files_External\Lib\Backend\SMB', $storageClass = '\OC\Files\Storage\SMB') { + protected function getBackendMock($class = '\OCA\Files_External\Lib\Backend\SMB', $storageClass = '\OCA\Files_External\Lib\Storage\SMB') { $backend = $this->getMockBuilder('\OCA\Files_External\Lib\Backend\Backend') ->disableOriginalConstructor() ->getMock(); diff --git a/apps/files_external/tests/backends/amazons3.php b/apps/files_external/tests/storage/amazons3test.php index 3b43f81a926..eb0e410764c 100644 --- a/apps/files_external/tests/backends/amazons3.php +++ b/apps/files_external/tests/storage/amazons3test.php @@ -24,16 +24,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OCA\Files_External\Lib\Storage\AmazonS3; /** - * Class AmazonS3 + * Class AmazonS3Test * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class AmazonS3 extends Storage { +class AmazonS3Test extends \Test\Files\Storage\Storage { private $config; @@ -44,7 +46,7 @@ class AmazonS3 extends Storage { if ( ! is_array($this->config) or ! $this->config['run']) { $this->markTestSkipped('AmazonS3 backend not configured'); } - $this->instance = new \OC\Files\Storage\AmazonS3($this->config); + $this->instance = new AmazonS3($this->config); } protected function tearDown() { diff --git a/apps/files_external/tests/backends/dropbox.php b/apps/files_external/tests/storage/dropboxtest.php index 1bf8b4171fb..d466d4b1b44 100644 --- a/apps/files_external/tests/backends/dropbox.php +++ b/apps/files_external/tests/storage/dropboxtest.php @@ -24,16 +24,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OCA\Files_External\Lib\Storage\Dropbox; /** - * Class Dropbox + * Class DropboxTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class Dropbox extends Storage { +class DropboxTest extends \Test\Files\Storage\Storage { private $config; protected function setUp() { @@ -45,7 +47,7 @@ class Dropbox extends Storage { $this->markTestSkipped('Dropbox backend not configured'); } $this->config['dropbox']['root'] .= '/' . $id; //make sure we have an new empty folder to work in - $this->instance = new \OC\Files\Storage\Dropbox($this->config['dropbox']); + $this->instance = new Dropbox($this->config['dropbox']); } protected function tearDown() { diff --git a/apps/files_external/tests/backends/ftp.php b/apps/files_external/tests/storage/ftptest.php index 868a022d38f..9af9ccff012 100644 --- a/apps/files_external/tests/backends/ftp.php +++ b/apps/files_external/tests/storage/ftptest.php @@ -24,16 +24,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OCA\Files_External\Lib\Storage\FTP; /** - * Class FTP + * Class FTPTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class FTP extends Storage { +class FTPTest extends \Test\Files\Storage\Storage { private $config; protected function setUp() { @@ -45,7 +47,7 @@ class FTP extends Storage { $this->markTestSkipped('FTP backend not configured'); } $this->config['root'] .= '/' . $id; //make sure we have an new empty folder to work in - $this->instance = new \OC\Files\Storage\FTP($this->config); + $this->instance = new FTP($this->config); $this->instance->mkdir('/'); } @@ -63,31 +65,31 @@ class FTP extends Storage { 'password' => 'ftp', 'root' => '/', 'secure' => false ); - $instance = new \OC\Files\Storage\FTP($config); + $instance = new FTP($config); $this->assertEquals('ftp://ftp:ftp@localhost/', $instance->constructUrl('')); $config['secure'] = true; - $instance = new \OC\Files\Storage\FTP($config); + $instance = new FTP($config); $this->assertEquals('ftps://ftp:ftp@localhost/', $instance->constructUrl('')); $config['secure'] = 'false'; - $instance = new \OC\Files\Storage\FTP($config); + $instance = new FTP($config); $this->assertEquals('ftp://ftp:ftp@localhost/', $instance->constructUrl('')); $config['secure'] = 'true'; - $instance = new \OC\Files\Storage\FTP($config); + $instance = new FTP($config); $this->assertEquals('ftps://ftp:ftp@localhost/', $instance->constructUrl('')); $config['root'] = ''; - $instance = new \OC\Files\Storage\FTP($config); + $instance = new FTP($config); $this->assertEquals('ftps://ftp:ftp@localhost/somefile.txt', $instance->constructUrl('somefile.txt')); $config['root'] = '/abc'; - $instance = new \OC\Files\Storage\FTP($config); + $instance = new FTP($config); $this->assertEquals('ftps://ftp:ftp@localhost/abc/somefile.txt', $instance->constructUrl('somefile.txt')); $config['root'] = '/abc/'; - $instance = new \OC\Files\Storage\FTP($config); + $instance = new FTP($config); $this->assertEquals('ftps://ftp:ftp@localhost/abc/somefile.txt', $instance->constructUrl('somefile.txt')); } } diff --git a/apps/files_external/tests/backends/google.php b/apps/files_external/tests/storage/googletest.php index 7622f796407..46aa4555b12 100644 --- a/apps/files_external/tests/backends/google.php +++ b/apps/files_external/tests/storage/googletest.php @@ -25,18 +25,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; -require_once 'files_external/lib/google.php'; +use \OCA\Files_External\Lib\Storage\Google; /** - * Class Google + * Class GoogleTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class Google extends Storage { +class GoogleTest extends \Test\Files\Storage\Storage { private $config; @@ -49,7 +49,7 @@ class Google extends Storage { ) { $this->markTestSkipped('Google Drive backend not configured'); } - $this->instance = new \OC\Files\Storage\Google($this->config['google']); + $this->instance = new Google($this->config['google']); } protected function tearDown() { diff --git a/apps/files_external/tests/backends/owncloud.php b/apps/files_external/tests/storage/owncloudtest.php index a56e9b2a186..cbc25e46fa0 100644 --- a/apps/files_external/tests/backends/owncloud.php +++ b/apps/files_external/tests/storage/owncloudtest.php @@ -22,16 +22,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OCA\Files_External\Lib\Storage\OwnCloud; /** - * Class OwnCloud + * Class OwnCloudTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class OwnCloud extends Storage { +class OwnCloudTest extends \Test\Files\Storage\Storage { private $config; @@ -44,7 +46,7 @@ class OwnCloud extends Storage { $this->markTestSkipped('ownCloud backend not configured'); } $this->config['owncloud']['root'] .= '/' . $id; //make sure we have an new empty folder to work in - $this->instance = new \OC\Files\Storage\OwnCloud($this->config['owncloud']); + $this->instance = new OwnCloud($this->config['owncloud']); $this->instance->mkdir('/'); } diff --git a/apps/files_external/tests/backends/sftp_key.php b/apps/files_external/tests/storage/sftp_keytest.php index 73c6a0b6432..b974f88555f 100644 --- a/apps/files_external/tests/backends/sftp_key.php +++ b/apps/files_external/tests/storage/sftp_keytest.php @@ -22,16 +22,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OCA\Files_External\Lib\Storage\SFTP_Key; /** - * Class SFTP_Key + * Class SFTP_KeyTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class SFTP_Key extends Storage { +class SFTP_KeyTest extends \Test\Files\Storage\Storage { private $config; protected function setUp() { @@ -44,7 +46,7 @@ class SFTP_Key extends Storage { } // Make sure we have an new empty folder to work in $this->config['sftp_key']['root'] .= '/' . $id; - $this->instance = new \OC\Files\Storage\SFTP_Key($this->config['sftp_key']); + $this->instance = new SFTP_Key($this->config['sftp_key']); $this->instance->mkdir('/'); } diff --git a/apps/files_external/tests/backends/sftp.php b/apps/files_external/tests/storage/sftptest.php index 608982adbc4..329e93819fc 100644 --- a/apps/files_external/tests/backends/sftp.php +++ b/apps/files_external/tests/storage/sftptest.php @@ -24,18 +24,20 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OCA\Files_External\Lib\Storage\SFTP; /** - * Class SFTP + * Class SFTPTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class SFTP extends Storage { +class SFTPTest extends \Test\Files\Storage\Storage { /** - * @var \OC\Files\Storage\SFTP instance + * @var SFTP instance */ protected $instance; @@ -50,7 +52,7 @@ class SFTP extends Storage { $this->markTestSkipped('SFTP backend not configured'); } $this->config['root'] .= '/' . $id; //make sure we have an new empty folder to work in - $this->instance = new \OC\Files\Storage\SFTP($this->config); + $this->instance = new SFTP($this->config); $this->instance->mkdir('/'); } @@ -66,7 +68,7 @@ class SFTP extends Storage { * @dataProvider configProvider */ public function testStorageId($config, $expectedStorageId) { - $instance = new \OC\Files\Storage\SFTP($config); + $instance = new SFTP($config); $this->assertEquals($expectedStorageId, $instance->getId()); } diff --git a/apps/files_external/tests/backends/smb.php b/apps/files_external/tests/storage/smbtest.php index f9a377c271b..fc2795702c6 100644 --- a/apps/files_external/tests/backends/smb.php +++ b/apps/files_external/tests/storage/smbtest.php @@ -23,16 +23,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OCA\Files_External\Lib\Storage\SMB; /** - * Class SMB + * Class SMBTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class SMB extends Storage { +class SMBTest extends \Test\Files\Storage\Storage { protected function setUp() { parent::setUp(); @@ -46,7 +48,7 @@ class SMB extends Storage { $config['root'] .= '/'; } $config['root'] .= $id; //make sure we have an new empty folder to work in - $this->instance = new \OC\Files\Storage\SMB($config); + $this->instance = new SMB($config); $this->instance->mkdir('/'); } @@ -71,7 +73,7 @@ class SMB extends Storage { } public function testStorageId() { - $this->instance = new \OC\Files\Storage\SMB([ + $this->instance = new SMB([ 'host' => 'testhost', 'user' => 'testuser', 'password' => 'somepass', diff --git a/apps/files_external/tests/backends/swift.php b/apps/files_external/tests/storage/swifttest.php index 9bdcd48ee68..1bcbb815067 100644 --- a/apps/files_external/tests/backends/swift.php +++ b/apps/files_external/tests/storage/swifttest.php @@ -24,16 +24,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OCA\Files_External\Lib\Storage\Swift; /** - * Class Swift + * Class SwiftTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class Swift extends Storage { +class SwiftTest extends \Test\Files\Storage\Storage { private $config; @@ -44,7 +46,7 @@ class Swift extends Storage { if (!is_array($this->config) or !$this->config['run']) { $this->markTestSkipped('OpenStack Object Storage backend not configured'); } - $this->instance = new \OC\Files\Storage\Swift($this->config); + $this->instance = new Swift($this->config); } protected function tearDown() { diff --git a/apps/files_external/tests/backends/webdav.php b/apps/files_external/tests/storage/webdavtest.php index e1a710c94b4..f8c5b19e04f 100644 --- a/apps/files_external/tests/backends/webdav.php +++ b/apps/files_external/tests/storage/webdavtest.php @@ -23,16 +23,18 @@ * */ -namespace Test\Files\Storage; +namespace OCA\Files_External\Tests\Storage; + +use \OC\Files\Storage\DAV; /** - * Class DAV + * Class WebDAVTest * * @group DB * - * @package Test\Files\Storage + * @package OCA\Files_External\Tests\Storage */ -class DAV extends Storage { +class WebDAVTest extends \Test\Files\Storage\Storage { protected function setUp() { parent::setUp(); @@ -46,7 +48,7 @@ class DAV extends Storage { $this->waitDelay = $config['wait']; } $config['root'] .= '/' . $id; //make sure we have an new empty folder to work in - $this->instance = new \OC\Files\Storage\DAV($config); + $this->instance = new DAV($config); $this->instance->mkdir('/'); } |