diff --git a/.gitignore b/.gitignore
index 07e4c1c74b..8e0794a799 100644
--- a/.gitignore
+++ b/.gitignore
@@ -136,3 +136,7 @@ Vagrantfile
/config/config-autotest-backup.php
/config/autoconfig.php
clover.xml
+
+# Tests - dependencies
+tests/acceptance/composer.lock
+tests/acceptance/vendor/
diff --git a/apps/admin_audit/composer/autoload.php b/apps/admin_audit/composer/autoload.php
new file mode 100644
index 0000000000..7970e9ebe1
--- /dev/null
+++ b/apps/admin_audit/composer/autoload.php
@@ -0,0 +1,7 @@
+
+ * Jordi Boggiano
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier
+ * @author Jordi Boggiano
+ * @see http://www.php-fig.org/psr/psr-0/
+ * @see http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+ private $classMapAuthoritative = false;
+ private $missingClasses = array();
+ private $apcuPrefix;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * 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-4 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
+ *
+ * @param string|null $apcuPrefix
+ */
+ public function setApcuPrefix($apcuPrefix)
+ {
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ }
+
+ /**
+ * The APCu prefix in use, or null if APCu caching is not enabled.
+ *
+ * @return string|null
+ */
+ public function getApcuPrefix()
+ {
+ return $this->apcuPrefix;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
+ return false;
+ }
+ if (null !== $this->apcuPrefix) {
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
+ if ($hit) {
+ return $file;
+ }
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if (false === $file && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if (null !== $this->apcuPrefix) {
+ apcu_add($this->apcuPrefix.$class, $file);
+ }
+
+ if (false === $file) {
+ // Remember that this class does not exist.
+ $this->missingClasses[$class] = true;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ $subPath = $class;
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
+ $subPath = substr($subPath, 0, $lastPos);
+ $search = $subPath.'\\';
+ if (isset($this->prefixDirsPsr4[$search])) {
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
+ $length = $this->prefixLengthsPsr4[$first][$search];
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+
+ return false;
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/apps/admin_audit/composer/composer/LICENSE b/apps/admin_audit/composer/composer/LICENSE
new file mode 100644
index 0000000000..f27399a042
--- /dev/null
+++ b/apps/admin_audit/composer/composer/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (c) 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
+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/admin_audit/composer/composer/autoload_classmap.php b/apps/admin_audit/composer/composer/autoload_classmap.php
new file mode 100644
index 0000000000..487e05172d
--- /dev/null
+++ b/apps/admin_audit/composer/composer/autoload_classmap.php
@@ -0,0 +1,20 @@
+ $baseDir . '/../lib/Actions/Action.php',
+ 'OCA\\AdminAudit\\Actions\\AppManagement' => $baseDir . '/../lib/Actions/AppManagement.php',
+ 'OCA\\AdminAudit\\Actions\\Auth' => $baseDir . '/../lib/Actions/Auth.php',
+ 'OCA\\AdminAudit\\Actions\\Console' => $baseDir . '/../lib/Actions/Console.php',
+ 'OCA\\AdminAudit\\Actions\\Files' => $baseDir . '/../lib/Actions/Files.php',
+ 'OCA\\AdminAudit\\Actions\\GroupManagement' => $baseDir . '/../lib/Actions/GroupManagement.php',
+ 'OCA\\AdminAudit\\Actions\\Sharing' => $baseDir . '/../lib/Actions/Sharing.php',
+ 'OCA\\AdminAudit\\Actions\\Trashbin' => $baseDir . '/../lib/Actions/Trashbin.php',
+ 'OCA\\AdminAudit\\Actions\\UserManagement' => $baseDir . '/../lib/Actions/UserManagement.php',
+ 'OCA\\AdminAudit\\Actions\\Versions' => $baseDir . '/../lib/Actions/Versions.php',
+ 'OCA\\AdminAudit\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
+);
diff --git a/apps/admin_audit/composer/composer/autoload_namespaces.php b/apps/admin_audit/composer/composer/autoload_namespaces.php
new file mode 100644
index 0000000000..71c9e91858
--- /dev/null
+++ b/apps/admin_audit/composer/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+ array($baseDir . '/../lib'),
+);
diff --git a/apps/admin_audit/composer/composer/autoload_real.php b/apps/admin_audit/composer/composer/autoload_real.php
new file mode 100644
index 0000000000..1cbbc48953
--- /dev/null
+++ b/apps/admin_audit/composer/composer/autoload_real.php
@@ -0,0 +1,52 @@
+= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
+ if ($useStaticLoader) {
+ require_once __DIR__ . '/autoload_static.php';
+
+ call_user_func(\Composer\Autoload\ComposerStaticInitAdminAudit::getInitializer($loader));
+ } else {
+ $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);
+ }
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
diff --git a/apps/admin_audit/composer/composer/autoload_static.php b/apps/admin_audit/composer/composer/autoload_static.php
new file mode 100644
index 0000000000..b5f055de44
--- /dev/null
+++ b/apps/admin_audit/composer/composer/autoload_static.php
@@ -0,0 +1,46 @@
+
+ array (
+ 'OCA\\AdminAudit\\' => 15,
+ ),
+ );
+
+ public static $prefixDirsPsr4 = array (
+ 'OCA\\AdminAudit\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/../lib',
+ ),
+ );
+
+ public static $classMap = array (
+ 'OCA\\AdminAudit\\Actions\\Action' => __DIR__ . '/..' . '/../lib/Actions/Action.php',
+ 'OCA\\AdminAudit\\Actions\\AppManagement' => __DIR__ . '/..' . '/../lib/Actions/AppManagement.php',
+ 'OCA\\AdminAudit\\Actions\\Auth' => __DIR__ . '/..' . '/../lib/Actions/Auth.php',
+ 'OCA\\AdminAudit\\Actions\\Console' => __DIR__ . '/..' . '/../lib/Actions/Console.php',
+ 'OCA\\AdminAudit\\Actions\\Files' => __DIR__ . '/..' . '/../lib/Actions/Files.php',
+ 'OCA\\AdminAudit\\Actions\\GroupManagement' => __DIR__ . '/..' . '/../lib/Actions/GroupManagement.php',
+ 'OCA\\AdminAudit\\Actions\\Sharing' => __DIR__ . '/..' . '/../lib/Actions/Sharing.php',
+ 'OCA\\AdminAudit\\Actions\\Trashbin' => __DIR__ . '/..' . '/../lib/Actions/Trashbin.php',
+ 'OCA\\AdminAudit\\Actions\\UserManagement' => __DIR__ . '/..' . '/../lib/Actions/UserManagement.php',
+ 'OCA\\AdminAudit\\Actions\\Versions' => __DIR__ . '/..' . '/../lib/Actions/Versions.php',
+ 'OCA\\AdminAudit\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
+ );
+
+ public static function getInitializer(ClassLoader $loader)
+ {
+ return \Closure::bind(function () use ($loader) {
+ $loader->prefixLengthsPsr4 = ComposerStaticInitAdminAudit::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInitAdminAudit::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInitAdminAudit::$classMap;
+
+ }, null, ClassLoader::class);
+ }
+}
diff --git a/apps/comments/composer/autoload.php b/apps/comments/composer/autoload.php
new file mode 100644
index 0000000000..c974072d6b
--- /dev/null
+++ b/apps/comments/composer/autoload.php
@@ -0,0 +1,7 @@
+
+ * Jordi Boggiano
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier
+ * @author Jordi Boggiano
+ * @see http://www.php-fig.org/psr/psr-0/
+ * @see http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+ private $classMapAuthoritative = false;
+ private $missingClasses = array();
+ private $apcuPrefix;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * 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-4 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
+ *
+ * @param string|null $apcuPrefix
+ */
+ public function setApcuPrefix($apcuPrefix)
+ {
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ }
+
+ /**
+ * The APCu prefix in use, or null if APCu caching is not enabled.
+ *
+ * @return string|null
+ */
+ public function getApcuPrefix()
+ {
+ return $this->apcuPrefix;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
+ return false;
+ }
+ if (null !== $this->apcuPrefix) {
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
+ if ($hit) {
+ return $file;
+ }
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if (false === $file && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if (null !== $this->apcuPrefix) {
+ apcu_add($this->apcuPrefix.$class, $file);
+ }
+
+ if (false === $file) {
+ // Remember that this class does not exist.
+ $this->missingClasses[$class] = true;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ $subPath = $class;
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
+ $subPath = substr($subPath, 0, $lastPos);
+ $search = $subPath.'\\';
+ if (isset($this->prefixDirsPsr4[$search])) {
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
+ $length = $this->prefixLengthsPsr4[$first][$search];
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+
+ return false;
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/apps/comments/composer/composer/LICENSE b/apps/comments/composer/composer/LICENSE
new file mode 100644
index 0000000000..f27399a042
--- /dev/null
+++ b/apps/comments/composer/composer/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (c) 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
+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/comments/composer/composer/autoload_classmap.php b/apps/comments/composer/composer/autoload_classmap.php
new file mode 100644
index 0000000000..299dc30564
--- /dev/null
+++ b/apps/comments/composer/composer/autoload_classmap.php
@@ -0,0 +1,18 @@
+ $baseDir . '/../lib/Activity/Filter.php',
+ 'OCA\\Comments\\Activity\\Listener' => $baseDir . '/../lib/Activity/Listener.php',
+ 'OCA\\Comments\\Activity\\Provider' => $baseDir . '/../lib/Activity/Provider.php',
+ 'OCA\\Comments\\Activity\\Setting' => $baseDir . '/../lib/Activity/Setting.php',
+ 'OCA\\Comments\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
+ 'OCA\\Comments\\Controller\\Notifications' => $baseDir . '/../lib/Controller/Notifications.php',
+ 'OCA\\Comments\\EventHandler' => $baseDir . '/../lib/EventHandler.php',
+ 'OCA\\Comments\\Notification\\Listener' => $baseDir . '/../lib/Notification/Listener.php',
+ 'OCA\\Comments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php',
+);
diff --git a/apps/comments/composer/composer/autoload_namespaces.php b/apps/comments/composer/composer/autoload_namespaces.php
new file mode 100644
index 0000000000..71c9e91858
--- /dev/null
+++ b/apps/comments/composer/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+ array($baseDir . '/../lib'),
+);
diff --git a/apps/comments/composer/composer/autoload_real.php b/apps/comments/composer/composer/autoload_real.php
new file mode 100644
index 0000000000..1ce284f24f
--- /dev/null
+++ b/apps/comments/composer/composer/autoload_real.php
@@ -0,0 +1,52 @@
+= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
+ if ($useStaticLoader) {
+ require_once __DIR__ . '/autoload_static.php';
+
+ call_user_func(\Composer\Autoload\ComposerStaticInitComments::getInitializer($loader));
+ } else {
+ $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);
+ }
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
diff --git a/apps/comments/composer/composer/autoload_static.php b/apps/comments/composer/composer/autoload_static.php
new file mode 100644
index 0000000000..932a631689
--- /dev/null
+++ b/apps/comments/composer/composer/autoload_static.php
@@ -0,0 +1,44 @@
+
+ array (
+ 'OCA\\Comments\\' => 13,
+ ),
+ );
+
+ public static $prefixDirsPsr4 = array (
+ 'OCA\\Comments\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/../lib',
+ ),
+ );
+
+ public static $classMap = array (
+ 'OCA\\Comments\\Activity\\Filter' => __DIR__ . '/..' . '/../lib/Activity/Filter.php',
+ 'OCA\\Comments\\Activity\\Listener' => __DIR__ . '/..' . '/../lib/Activity/Listener.php',
+ 'OCA\\Comments\\Activity\\Provider' => __DIR__ . '/..' . '/../lib/Activity/Provider.php',
+ 'OCA\\Comments\\Activity\\Setting' => __DIR__ . '/..' . '/../lib/Activity/Setting.php',
+ 'OCA\\Comments\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
+ 'OCA\\Comments\\Controller\\Notifications' => __DIR__ . '/..' . '/../lib/Controller/Notifications.php',
+ 'OCA\\Comments\\EventHandler' => __DIR__ . '/..' . '/../lib/EventHandler.php',
+ 'OCA\\Comments\\Notification\\Listener' => __DIR__ . '/..' . '/../lib/Notification/Listener.php',
+ 'OCA\\Comments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php',
+ );
+
+ public static function getInitializer(ClassLoader $loader)
+ {
+ return \Closure::bind(function () use ($loader) {
+ $loader->prefixLengthsPsr4 = ComposerStaticInitComments::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInitComments::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInitComments::$classMap;
+
+ }, null, ClassLoader::class);
+ }
+}
diff --git a/apps/comments/css/comments.css b/apps/comments/css/comments.css
index c81f24b213..09771b4e95 100644
--- a/apps/comments/css/comments.css
+++ b/apps/comments/css/comments.css
@@ -177,8 +177,6 @@
#commentsTabView .message.error {
color: #e9322d;
border-color: #e9322d;
- -webkit-box-shadow: 0 0 6px #f8b9b7;
- -moz-box-shadow: 0 0 6px #f8b9b7;
box-shadow: 0 0 6px #f8b9b7;
}
diff --git a/apps/comments/l10n/es_CO.js b/apps/comments/l10n/es_CO.js
new file mode 100644
index 0000000000..e291a49779
--- /dev/null
+++ b/apps/comments/l10n/es_CO.js
@@ -0,0 +1,34 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Comments" : "Comentarios",
+ "Unknown user" : "Usuario desconocido",
+ "New comment …" : "Comentario nuevo ...",
+ "Delete comment" : "Borrar comentario",
+ "Post" : "Publicar",
+ "Cancel" : "Cancelar",
+ "Edit comment" : "Editar comentario",
+ "[Deleted user]" : "[Usuario borrado]",
+ "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
+ "More comments …" : "Más comentarios ...",
+ "Save" : "Guardar",
+ "Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
+ "Error occurred while retrieving comment with id {id}" : "Se presentó un error al recuperar el comentario con Id {id}",
+ "Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
+ "Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
+ "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
+ "Comment" : "Comentario",
+ "You commented" : "Comentaste",
+ "%1$s commented" : "%1$s comentó",
+ "{author} commented" : "{author} comentó",
+ "You commented on %1$s" : "Usted comentó en %1$s",
+ "You commented on {file}" : "Hiciste un comentario de {file}",
+ "%1$s commented on %2$s" : "%1$s comentó en %2$s",
+ "{author} commented on {file}" : "{author} comentó en {file}",
+ "Comments for files" : "Comentarios de los archivos",
+ "A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
+ "A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
+ "%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
+ "{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/es_CO.json b/apps/comments/l10n/es_CO.json
new file mode 100644
index 0000000000..1a9e223148
--- /dev/null
+++ b/apps/comments/l10n/es_CO.json
@@ -0,0 +1,32 @@
+{ "translations": {
+ "Comments" : "Comentarios",
+ "Unknown user" : "Usuario desconocido",
+ "New comment …" : "Comentario nuevo ...",
+ "Delete comment" : "Borrar comentario",
+ "Post" : "Publicar",
+ "Cancel" : "Cancelar",
+ "Edit comment" : "Editar comentario",
+ "[Deleted user]" : "[Usuario borrado]",
+ "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
+ "More comments …" : "Más comentarios ...",
+ "Save" : "Guardar",
+ "Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
+ "Error occurred while retrieving comment with id {id}" : "Se presentó un error al recuperar el comentario con Id {id}",
+ "Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
+ "Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
+ "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
+ "Comment" : "Comentario",
+ "You commented" : "Comentaste",
+ "%1$s commented" : "%1$s comentó",
+ "{author} commented" : "{author} comentó",
+ "You commented on %1$s" : "Usted comentó en %1$s",
+ "You commented on {file}" : "Hiciste un comentario de {file}",
+ "%1$s commented on %2$s" : "%1$s comentó en %2$s",
+ "{author} commented on {file}" : "{author} comentó en {file}",
+ "Comments for files" : "Comentarios de los archivos",
+ "A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
+ "A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
+ "%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
+ "{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/apps/comments/lib/Activity/Provider.php b/apps/comments/lib/Activity/Provider.php
index a691d7dd64..41ab8ea8b8 100644
--- a/apps/comments/lib/Activity/Provider.php
+++ b/apps/comments/lib/Activity/Provider.php
@@ -174,6 +174,12 @@ class Provider implements IProvider {
}
// Fix subjects from 12.0.3 and older
+ //
+ // Do NOT Remove unless necessary
+ // Removing this will break parsing of activities that were created on
+ // Nextcloud 12, so we should keep this as long as it's acceptable.
+ // Otherwise if people upgrade over multiple releases in a short period,
+ // they will get the dead entries in their stream.
return [
'actor' => $subjectParameters[0],
'fileId' => (int) $event->getObjectId(),
diff --git a/apps/comments/tests/Unit/Controller/NotificationsTest.php b/apps/comments/tests/Unit/Controller/NotificationsTest.php
index e887900a61..2c34971f4b 100644
--- a/apps/comments/tests/Unit/Controller/NotificationsTest.php
+++ b/apps/comments/tests/Unit/Controller/NotificationsTest.php
@@ -22,7 +22,17 @@
namespace OCA\Comments\Tests\Unit\Controller;
use OCA\Comments\Controller\Notifications;
+use OCP\Comments\IComment;
+use OCP\Comments\ICommentsManager;
use OCP\Comments\NotFoundException;
+use OCP\Files\Folder;
+use OCP\Files\Node;
+use OCP\IRequest;
+use OCP\IURLGenerator;
+use OCP\IUser;
+use OCP\IUserSession;
+use OCP\Notification\IManager;
+use OCP\Notification\INotification;
use Test\TestCase;
class NotificationsTest extends TestCase {
@@ -44,24 +54,24 @@ class NotificationsTest extends TestCase {
protected function setUp() {
parent::setUp();
- $this->commentsManager = $this->getMockBuilder('\OCP\Comments\ICommentsManager')->getMock();
- $this->folder = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
- $this->session = $this->getMockBuilder('\OCP\IUserSession')->getMock();
- $this->notificationManager = $this->getMockBuilder('\OCP\Notification\IManager')->getMock();
+ $this->commentsManager = $this->getMockBuilder(ICommentsManager::class)->getMock();
+ $this->folder = $this->getMockBuilder(Folder::class)->getMock();
+ $this->session = $this->getMockBuilder(IUserSession::class)->getMock();
+ $this->notificationManager = $this->getMockBuilder(IManager::class)->getMock();
$this->notificationsController = new Notifications(
'comments',
- $this->getMockBuilder('\OCP\IRequest')->getMock(),
+ $this->getMockBuilder(IRequest::class)->getMock(),
$this->commentsManager,
$this->folder,
- $this->getMockBuilder('\OCP\IURLGenerator')->getMock(),
+ $this->getMockBuilder(IURLGenerator::class)->getMock(),
$this->notificationManager,
$this->session
);
}
public function testViewSuccess() {
- $comment = $this->getMockBuilder('\OCP\Comments\IComment')->getMock();
+ $comment = $this->getMockBuilder(IComment::class)->getMock();
$comment->expects($this->any())
->method('getObjectType')
->will($this->returnValue('files'));
@@ -71,7 +81,7 @@ class NotificationsTest extends TestCase {
->with('42')
->will($this->returnValue($comment));
- $file = $this->getMockBuilder('\OCP\Files\Node')->getMock();
+ $file = $this->getMockBuilder(Node::class)->getMock();
$this->folder->expects($this->once())
->method('getById')
@@ -79,9 +89,9 @@ class NotificationsTest extends TestCase {
$this->session->expects($this->once())
->method('getUser')
- ->will($this->returnValue($this->getMockBuilder('\OCP\IUser')->getMock()));
+ ->will($this->returnValue($this->getMockBuilder(IUser::class)->getMock()));
- $notification = $this->getMockBuilder('\OCP\Notification\INotification')->getMock();
+ $notification = $this->getMockBuilder(INotification::class)->getMock();
$notification->expects($this->any())
->method($this->anything())
->will($this->returnValue($notification));
@@ -119,7 +129,7 @@ class NotificationsTest extends TestCase {
}
public function testViewNoFile() {
- $comment = $this->getMockBuilder('\OCP\Comments\IComment')->getMock();
+ $comment = $this->getMockBuilder(IComment::class)->getMock();
$comment->expects($this->any())
->method('getObjectType')
->will($this->returnValue('files'));
@@ -135,9 +145,9 @@ class NotificationsTest extends TestCase {
$this->session->expects($this->once())
->method('getUser')
- ->will($this->returnValue($this->getMockBuilder('\OCP\IUser')->getMock()));
+ ->will($this->returnValue($this->getMockBuilder(IUser::class)->getMock()));
- $notification = $this->getMockBuilder('\OCP\Notification\INotification')->getMock();
+ $notification = $this->getMockBuilder(INotification::class)->getMock();
$notification->expects($this->any())
->method($this->anything())
->will($this->returnValue($notification));
diff --git a/apps/comments/tests/Unit/Notification/ListenerTest.php b/apps/comments/tests/Unit/Notification/ListenerTest.php
index ef84d1c60d..cbe2b63342 100644
--- a/apps/comments/tests/Unit/Notification/ListenerTest.php
+++ b/apps/comments/tests/Unit/Notification/ListenerTest.php
@@ -71,7 +71,7 @@ class ListenerTest extends TestCase {
*/
public function testEvaluate($eventType, $notificationMethod) {
/** @var IComment|\PHPUnit_Framework_MockObject_MockObject $comment */
- $comment = $this->getMockBuilder('\OCP\Comments\IComment')->getMock();
+ $comment = $this->getMockBuilder(IComment::class)->getMock();
$comment->expects($this->any())
->method('getObjectType')
->will($this->returnValue('files'));
@@ -90,7 +90,7 @@ class ListenerTest extends TestCase {
]);
/** @var CommentsEvent|\PHPUnit_Framework_MockObject_MockObject $event */
- $event = $this->getMockBuilder('\OCP\Comments\CommentsEvent')
+ $event = $this->getMockBuilder(CommentsEvent::class)
->disableOriginalConstructor()
->getMock();
$event->expects($this->once())
@@ -101,7 +101,7 @@ class ListenerTest extends TestCase {
->will($this->returnValue($eventType));
/** @var INotification|\PHPUnit_Framework_MockObject_MockObject $notification */
- $notification = $this->getMockBuilder('\OCP\Notification\INotification')->getMock();
+ $notification = $this->getMockBuilder(INotification::class)->getMock();
$notification->expects($this->any())
->method($this->anything())
->will($this->returnValue($notification));
@@ -136,7 +136,7 @@ class ListenerTest extends TestCase {
*/
public function testEvaluateNoMentions($eventType) {
/** @var IComment|\PHPUnit_Framework_MockObject_MockObject $comment */
- $comment = $this->getMockBuilder('\OCP\Comments\IComment')->getMock();
+ $comment = $this->getMockBuilder(IComment::class)->getMock();
$comment->expects($this->any())
->method('getObjectType')
->will($this->returnValue('files'));
@@ -148,7 +148,7 @@ class ListenerTest extends TestCase {
->willReturn([]);
/** @var CommentsEvent|\PHPUnit_Framework_MockObject_MockObject $event */
- $event = $this->getMockBuilder('\OCP\Comments\CommentsEvent')
+ $event = $this->getMockBuilder(CommentsEvent::class)
->disableOriginalConstructor()
->getMock();
$event->expects($this->once())
@@ -173,7 +173,7 @@ class ListenerTest extends TestCase {
public function testEvaluateUserDoesNotExist() {
/** @var IComment|\PHPUnit_Framework_MockObject_MockObject $comment */
- $comment = $this->getMockBuilder('\OCP\Comments\IComment')->getMock();
+ $comment = $this->getMockBuilder(IComment::class)->getMock();
$comment->expects($this->any())
->method('getObjectType')
->will($this->returnValue('files'));
@@ -185,7 +185,7 @@ class ListenerTest extends TestCase {
->willReturn([[ 'type' => 'user', 'id' => 'foobar']]);
/** @var CommentsEvent|\PHPUnit_Framework_MockObject_MockObject $event */
- $event = $this->getMockBuilder('\OCP\Comments\CommentsEvent')
+ $event = $this->getMockBuilder(CommentsEvent::class)
->disableOriginalConstructor()
->getMock();
$event->expects($this->once())
@@ -196,7 +196,7 @@ class ListenerTest extends TestCase {
->will($this->returnValue(CommentsEvent::EVENT_ADD));
/** @var INotification|\PHPUnit_Framework_MockObject_MockObject $notification */
- $notification = $this->getMockBuilder('\OCP\Notification\INotification')->getMock();
+ $notification = $this->getMockBuilder(INotification::class)->getMock();
$notification->expects($this->any())
->method($this->anything())
->will($this->returnValue($notification));
diff --git a/apps/dav/composer/autoload.php b/apps/dav/composer/autoload.php
new file mode 100644
index 0000000000..06b2e993e9
--- /dev/null
+++ b/apps/dav/composer/autoload.php
@@ -0,0 +1,7 @@
+
+ * Jordi Boggiano
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier
+ * @author Jordi Boggiano
+ * @see http://www.php-fig.org/psr/psr-0/
+ * @see http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+ private $classMapAuthoritative = false;
+ private $missingClasses = array();
+ private $apcuPrefix;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * 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-4 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
+ *
+ * @param string|null $apcuPrefix
+ */
+ public function setApcuPrefix($apcuPrefix)
+ {
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ }
+
+ /**
+ * The APCu prefix in use, or null if APCu caching is not enabled.
+ *
+ * @return string|null
+ */
+ public function getApcuPrefix()
+ {
+ return $this->apcuPrefix;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
+ return false;
+ }
+ if (null !== $this->apcuPrefix) {
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
+ if ($hit) {
+ return $file;
+ }
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if (false === $file && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if (null !== $this->apcuPrefix) {
+ apcu_add($this->apcuPrefix.$class, $file);
+ }
+
+ if (false === $file) {
+ // Remember that this class does not exist.
+ $this->missingClasses[$class] = true;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ $subPath = $class;
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
+ $subPath = substr($subPath, 0, $lastPos);
+ $search = $subPath.'\\';
+ if (isset($this->prefixDirsPsr4[$search])) {
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
+ $length = $this->prefixLengthsPsr4[$first][$search];
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+
+ return false;
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/apps/dav/composer/composer/LICENSE b/apps/dav/composer/composer/LICENSE
new file mode 100644
index 0000000000..f27399a042
--- /dev/null
+++ b/apps/dav/composer/composer/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (c) 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
+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/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php
new file mode 100644
index 0000000000..f29e3a7b29
--- /dev/null
+++ b/apps/dav/composer/composer/autoload_classmap.php
@@ -0,0 +1,145 @@
+ $baseDir . '/../lib/AppInfo/Application.php',
+ 'OCA\\DAV\\AppInfo\\PluginManager' => $baseDir . '/../lib/AppInfo/PluginManager.php',
+ 'OCA\\DAV\\Avatars\\AvatarHome' => $baseDir . '/../lib/Avatars/AvatarHome.php',
+ 'OCA\\DAV\\Avatars\\AvatarNode' => $baseDir . '/../lib/Avatars/AvatarNode.php',
+ 'OCA\\DAV\\Avatars\\RootCollection' => $baseDir . '/../lib/Avatars/RootCollection.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Backend' => $baseDir . '/../lib/CalDAV/Activity/Backend.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Filter\\Calendar' => $baseDir . '/../lib/CalDAV/Activity/Filter/Calendar.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Filter\\Todo' => $baseDir . '/../lib/CalDAV/Activity/Filter/Todo.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Provider\\Base' => $baseDir . '/../lib/CalDAV/Activity/Provider/Base.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Provider\\Calendar' => $baseDir . '/../lib/CalDAV/Activity/Provider/Calendar.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Provider\\Event' => $baseDir . '/../lib/CalDAV/Activity/Provider/Event.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Provider\\Todo' => $baseDir . '/../lib/CalDAV/Activity/Provider/Todo.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Setting\\Calendar' => $baseDir . '/../lib/CalDAV/Activity/Setting/Calendar.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Setting\\Event' => $baseDir . '/../lib/CalDAV/Activity/Setting/Event.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Setting\\Todo' => $baseDir . '/../lib/CalDAV/Activity/Setting/Todo.php',
+ 'OCA\\DAV\\CalDAV\\BirthdayService' => $baseDir . '/../lib/CalDAV/BirthdayService.php',
+ 'OCA\\DAV\\CalDAV\\CalDavBackend' => $baseDir . '/../lib/CalDAV/CalDavBackend.php',
+ 'OCA\\DAV\\CalDAV\\Calendar' => $baseDir . '/../lib/CalDAV/Calendar.php',
+ 'OCA\\DAV\\CalDAV\\CalendarHome' => $baseDir . '/../lib/CalDAV/CalendarHome.php',
+ 'OCA\\DAV\\CalDAV\\CalendarObject' => $baseDir . '/../lib/CalDAV/CalendarObject.php',
+ 'OCA\\DAV\\CalDAV\\CalendarRoot' => $baseDir . '/../lib/CalDAV/CalendarRoot.php',
+ 'OCA\\DAV\\CalDAV\\Plugin' => $baseDir . '/../lib/CalDAV/Plugin.php',
+ 'OCA\\DAV\\CalDAV\\PublicCalendar' => $baseDir . '/../lib/CalDAV/PublicCalendar.php',
+ 'OCA\\DAV\\CalDAV\\PublicCalendarObject' => $baseDir . '/../lib/CalDAV/PublicCalendarObject.php',
+ 'OCA\\DAV\\CalDAV\\PublicCalendarRoot' => $baseDir . '/../lib/CalDAV/PublicCalendarRoot.php',
+ 'OCA\\DAV\\CalDAV\\Publishing\\PublishPlugin' => $baseDir . '/../lib/CalDAV/Publishing/PublishPlugin.php',
+ 'OCA\\DAV\\CalDAV\\Publishing\\Xml\\Publisher' => $baseDir . '/../lib/CalDAV/Publishing/Xml/Publisher.php',
+ 'OCA\\DAV\\CalDAV\\Schedule\\IMipPlugin' => $baseDir . '/../lib/CalDAV/Schedule/IMipPlugin.php',
+ 'OCA\\DAV\\CalDAV\\Schedule\\Plugin' => $baseDir . '/../lib/CalDAV/Schedule/Plugin.php',
+ 'OCA\\DAV\\CalDAV\\Search\\SearchPlugin' => $baseDir . '/../lib/CalDAV/Search/SearchPlugin.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\CompFilter' => $baseDir . '/../lib/CalDAV/Search/Xml/Filter/CompFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\LimitFilter' => $baseDir . '/../lib/CalDAV/Search/Xml/Filter/LimitFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\OffsetFilter' => $baseDir . '/../lib/CalDAV/Search/Xml/Filter/OffsetFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\ParamFilter' => $baseDir . '/../lib/CalDAV/Search/Xml/Filter/ParamFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\PropFilter' => $baseDir . '/../lib/CalDAV/Search/Xml/Filter/PropFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\SearchTermFilter' => $baseDir . '/../lib/CalDAV/Search/Xml/Filter/SearchTermFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Request\\CalendarSearchReport' => $baseDir . '/../lib/CalDAV/Search/Xml/Request/CalendarSearchReport.php',
+ 'OCA\\DAV\\Capabilities' => $baseDir . '/../lib/Capabilities.php',
+ 'OCA\\DAV\\CardDAV\\AddressBook' => $baseDir . '/../lib/CardDAV/AddressBook.php',
+ 'OCA\\DAV\\CardDAV\\AddressBookImpl' => $baseDir . '/../lib/CardDAV/AddressBookImpl.php',
+ 'OCA\\DAV\\CardDAV\\AddressBookRoot' => $baseDir . '/../lib/CardDAV/AddressBookRoot.php',
+ 'OCA\\DAV\\CardDAV\\CardDavBackend' => $baseDir . '/../lib/CardDAV/CardDavBackend.php',
+ 'OCA\\DAV\\CardDAV\\ContactsManager' => $baseDir . '/../lib/CardDAV/ContactsManager.php',
+ 'OCA\\DAV\\CardDAV\\Converter' => $baseDir . '/../lib/CardDAV/Converter.php',
+ 'OCA\\DAV\\CardDAV\\ImageExportPlugin' => $baseDir . '/../lib/CardDAV/ImageExportPlugin.php',
+ 'OCA\\DAV\\CardDAV\\PhotoCache' => $baseDir . '/../lib/CardDAV/PhotoCache.php',
+ 'OCA\\DAV\\CardDAV\\Plugin' => $baseDir . '/../lib/CardDAV/Plugin.php',
+ 'OCA\\DAV\\CardDAV\\SyncJob' => $baseDir . '/../lib/CardDAV/SyncJob.php',
+ 'OCA\\DAV\\CardDAV\\SyncService' => $baseDir . '/../lib/CardDAV/SyncService.php',
+ 'OCA\\DAV\\CardDAV\\UserAddressBooks' => $baseDir . '/../lib/CardDAV/UserAddressBooks.php',
+ 'OCA\\DAV\\CardDAV\\Xml\\Groups' => $baseDir . '/../lib/CardDAV/Xml/Groups.php',
+ 'OCA\\DAV\\Command\\CreateAddressBook' => $baseDir . '/../lib/Command/CreateAddressBook.php',
+ 'OCA\\DAV\\Command\\CreateCalendar' => $baseDir . '/../lib/Command/CreateCalendar.php',
+ 'OCA\\DAV\\Command\\SyncBirthdayCalendar' => $baseDir . '/../lib/Command/SyncBirthdayCalendar.php',
+ 'OCA\\DAV\\Command\\SyncSystemAddressBook' => $baseDir . '/../lib/Command/SyncSystemAddressBook.php',
+ 'OCA\\DAV\\Comments\\CommentNode' => $baseDir . '/../lib/Comments/CommentNode.php',
+ 'OCA\\DAV\\Comments\\CommentsPlugin' => $baseDir . '/../lib/Comments/CommentsPlugin.php',
+ 'OCA\\DAV\\Comments\\EntityCollection' => $baseDir . '/../lib/Comments/EntityCollection.php',
+ 'OCA\\DAV\\Comments\\EntityTypeCollection' => $baseDir . '/../lib/Comments/EntityTypeCollection.php',
+ 'OCA\\DAV\\Comments\\RootCollection' => $baseDir . '/../lib/Comments/RootCollection.php',
+ 'OCA\\DAV\\Connector\\LegacyDAVACL' => $baseDir . '/../lib/Connector/LegacyDAVACL.php',
+ 'OCA\\DAV\\Connector\\PublicAuth' => $baseDir . '/../lib/Connector/PublicAuth.php',
+ 'OCA\\DAV\\Connector\\Sabre\\AppEnabledPlugin' => $baseDir . '/../lib/Connector/Sabre/AppEnabledPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Auth' => $baseDir . '/../lib/Connector/Sabre/Auth.php',
+ 'OCA\\DAV\\Connector\\Sabre\\BearerAuth' => $baseDir . '/../lib/Connector/Sabre/BearerAuth.php',
+ 'OCA\\DAV\\Connector\\Sabre\\BlockLegacyClientPlugin' => $baseDir . '/../lib/Connector/Sabre/BlockLegacyClientPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\CachingTree' => $baseDir . '/../lib/Connector/Sabre/CachingTree.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ChecksumList' => $baseDir . '/../lib/Connector/Sabre/ChecksumList.php',
+ 'OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin' => $baseDir . '/../lib/Connector/Sabre/CommentPropertiesPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\CopyEtagHeaderPlugin' => $baseDir . '/../lib/Connector/Sabre/CopyEtagHeaderPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\CustomPropertiesBackend' => $baseDir . '/../lib/Connector/Sabre/CustomPropertiesBackend.php',
+ 'OCA\\DAV\\Connector\\Sabre\\DavAclPlugin' => $baseDir . '/../lib/Connector/Sabre/DavAclPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Directory' => $baseDir . '/../lib/Connector/Sabre/Directory.php',
+ 'OCA\\DAV\\Connector\\Sabre\\DummyGetResponsePlugin' => $baseDir . '/../lib/Connector/Sabre/DummyGetResponsePlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ExceptionLoggerPlugin' => $baseDir . '/../lib/Connector/Sabre/ExceptionLoggerPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\EntityTooLarge' => $baseDir . '/../lib/Connector/Sabre/Exception/EntityTooLarge.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\FileLocked' => $baseDir . '/../lib/Connector/Sabre/Exception/FileLocked.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\Forbidden' => $baseDir . '/../lib/Connector/Sabre/Exception/Forbidden.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\InvalidPath' => $baseDir . '/../lib/Connector/Sabre/Exception/InvalidPath.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\PasswordLoginForbidden' => $baseDir . '/../lib/Connector/Sabre/Exception/PasswordLoginForbidden.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\UnsupportedMediaType' => $baseDir . '/../lib/Connector/Sabre/Exception/UnsupportedMediaType.php',
+ 'OCA\\DAV\\Connector\\Sabre\\FakeLockerPlugin' => $baseDir . '/../lib/Connector/Sabre/FakeLockerPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\File' => $baseDir . '/../lib/Connector/Sabre/File.php',
+ 'OCA\\DAV\\Connector\\Sabre\\FilesPlugin' => $baseDir . '/../lib/Connector/Sabre/FilesPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\FilesReportPlugin' => $baseDir . '/../lib/Connector/Sabre/FilesReportPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\LockPlugin' => $baseDir . '/../lib/Connector/Sabre/LockPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\MaintenancePlugin' => $baseDir . '/../lib/Connector/Sabre/MaintenancePlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Node' => $baseDir . '/../lib/Connector/Sabre/Node.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ObjectTree' => $baseDir . '/../lib/Connector/Sabre/ObjectTree.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Principal' => $baseDir . '/../lib/Connector/Sabre/Principal.php',
+ 'OCA\\DAV\\Connector\\Sabre\\QuotaPlugin' => $baseDir . '/../lib/Connector/Sabre/QuotaPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Server' => $baseDir . '/../lib/Connector/Sabre/Server.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ServerFactory' => $baseDir . '/../lib/Connector/Sabre/ServerFactory.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ShareTypeList' => $baseDir . '/../lib/Connector/Sabre/ShareTypeList.php',
+ 'OCA\\DAV\\Connector\\Sabre\\SharesPlugin' => $baseDir . '/../lib/Connector/Sabre/SharesPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\TagList' => $baseDir . '/../lib/Connector/Sabre/TagList.php',
+ 'OCA\\DAV\\Connector\\Sabre\\TagsPlugin' => $baseDir . '/../lib/Connector/Sabre/TagsPlugin.php',
+ 'OCA\\DAV\\DAV\\CustomPropertiesBackend' => $baseDir . '/../lib/DAV/CustomPropertiesBackend.php',
+ 'OCA\\DAV\\DAV\\GroupPrincipalBackend' => $baseDir . '/../lib/DAV/GroupPrincipalBackend.php',
+ 'OCA\\DAV\\DAV\\PublicAuth' => $baseDir . '/../lib/DAV/PublicAuth.php',
+ 'OCA\\DAV\\DAV\\Sharing\\Backend' => $baseDir . '/../lib/DAV/Sharing/Backend.php',
+ 'OCA\\DAV\\DAV\\Sharing\\IShareable' => $baseDir . '/../lib/DAV/Sharing/IShareable.php',
+ 'OCA\\DAV\\DAV\\Sharing\\Plugin' => $baseDir . '/../lib/DAV/Sharing/Plugin.php',
+ 'OCA\\DAV\\DAV\\Sharing\\Xml\\Invite' => $baseDir . '/../lib/DAV/Sharing/Xml/Invite.php',
+ 'OCA\\DAV\\DAV\\Sharing\\Xml\\ShareRequest' => $baseDir . '/../lib/DAV/Sharing/Xml/ShareRequest.php',
+ 'OCA\\DAV\\DAV\\SystemPrincipalBackend' => $baseDir . '/../lib/DAV/SystemPrincipalBackend.php',
+ 'OCA\\DAV\\Files\\BrowserErrorPagePlugin' => $baseDir . '/../lib/Files/BrowserErrorPagePlugin.php',
+ 'OCA\\DAV\\Files\\FileSearchBackend' => $baseDir . '/../lib/Files/FileSearchBackend.php',
+ 'OCA\\DAV\\Files\\FilesHome' => $baseDir . '/../lib/Files/FilesHome.php',
+ 'OCA\\DAV\\Files\\RootCollection' => $baseDir . '/../lib/Files/RootCollection.php',
+ 'OCA\\DAV\\Files\\Sharing\\FilesDropPlugin' => $baseDir . '/../lib/Files/Sharing/FilesDropPlugin.php',
+ 'OCA\\DAV\\Files\\Sharing\\PublicLinkCheckPlugin' => $baseDir . '/../lib/Files/Sharing/PublicLinkCheckPlugin.php',
+ 'OCA\\DAV\\HookManager' => $baseDir . '/../lib/HookManager.php',
+ 'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndex.php',
+ 'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
+ 'OCA\\DAV\\Migration\\CalDAVRemoveEmptyValue' => $baseDir . '/../lib/Migration/CalDAVRemoveEmptyValue.php',
+ 'OCA\\DAV\\Migration\\FixBirthdayCalendarComponent' => $baseDir . '/../lib/Migration/FixBirthdayCalendarComponent.php',
+ 'OCA\\DAV\\Migration\\Version1004Date20170825134824' => $baseDir . '/../lib/Migration/Version1004Date20170825134824.php',
+ 'OCA\\DAV\\Migration\\Version1004Date20170919104507' => $baseDir . '/../lib/Migration/Version1004Date20170919104507.php',
+ 'OCA\\DAV\\Migration\\Version1004Date20170924124212' => $baseDir . '/../lib/Migration/Version1004Date20170924124212.php',
+ 'OCA\\DAV\\Migration\\Version1004Date20170926103422' => $baseDir . '/../lib/Migration/Version1004Date20170926103422.php',
+ 'OCA\\DAV\\RootCollection' => $baseDir . '/../lib/RootCollection.php',
+ 'OCA\\DAV\\Server' => $baseDir . '/../lib/Server.php',
+ 'OCA\\DAV\\Settings\\CalDAVSettings' => $baseDir . '/../lib/Settings/CalDAVSettings.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagMappingNode' => $baseDir . '/../lib/SystemTag/SystemTagMappingNode.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagNode' => $baseDir . '/../lib/SystemTag/SystemTagNode.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagPlugin' => $baseDir . '/../lib/SystemTag/SystemTagPlugin.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagsByIdCollection' => $baseDir . '/../lib/SystemTag/SystemTagsByIdCollection.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagsObjectMappingCollection' => $baseDir . '/../lib/SystemTag/SystemTagsObjectMappingCollection.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagsObjectTypeCollection' => $baseDir . '/../lib/SystemTag/SystemTagsObjectTypeCollection.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagsRelationsCollection' => $baseDir . '/../lib/SystemTag/SystemTagsRelationsCollection.php',
+ 'OCA\\DAV\\Upload\\AssemblyStream' => $baseDir . '/../lib/Upload/AssemblyStream.php',
+ 'OCA\\DAV\\Upload\\FutureFile' => $baseDir . '/../lib/Upload/FutureFile.php',
+ 'OCA\\DAV\\Upload\\RootCollection' => $baseDir . '/../lib/Upload/RootCollection.php',
+ 'OCA\\DAV\\Upload\\UploadFolder' => $baseDir . '/../lib/Upload/UploadFolder.php',
+ 'OCA\\DAV\\Upload\\UploadHome' => $baseDir . '/../lib/Upload/UploadHome.php',
+);
diff --git a/apps/dav/composer/composer/autoload_namespaces.php b/apps/dav/composer/composer/autoload_namespaces.php
new file mode 100644
index 0000000000..71c9e91858
--- /dev/null
+++ b/apps/dav/composer/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+ array($baseDir . '/../lib'),
+);
diff --git a/apps/dav/composer/composer/autoload_real.php b/apps/dav/composer/composer/autoload_real.php
new file mode 100644
index 0000000000..cd699e0b4f
--- /dev/null
+++ b/apps/dav/composer/composer/autoload_real.php
@@ -0,0 +1,52 @@
+= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
+ if ($useStaticLoader) {
+ require_once __DIR__ . '/autoload_static.php';
+
+ call_user_func(\Composer\Autoload\ComposerStaticInitDAV::getInitializer($loader));
+ } else {
+ $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);
+ }
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php
new file mode 100644
index 0000000000..412666a8aa
--- /dev/null
+++ b/apps/dav/composer/composer/autoload_static.php
@@ -0,0 +1,171 @@
+
+ array (
+ 'OCA\\DAV\\' => 8,
+ ),
+ );
+
+ public static $prefixDirsPsr4 = array (
+ 'OCA\\DAV\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/../lib',
+ ),
+ );
+
+ public static $classMap = array (
+ 'OCA\\DAV\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
+ 'OCA\\DAV\\AppInfo\\PluginManager' => __DIR__ . '/..' . '/../lib/AppInfo/PluginManager.php',
+ 'OCA\\DAV\\Avatars\\AvatarHome' => __DIR__ . '/..' . '/../lib/Avatars/AvatarHome.php',
+ 'OCA\\DAV\\Avatars\\AvatarNode' => __DIR__ . '/..' . '/../lib/Avatars/AvatarNode.php',
+ 'OCA\\DAV\\Avatars\\RootCollection' => __DIR__ . '/..' . '/../lib/Avatars/RootCollection.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Backend' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Backend.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Filter\\Calendar' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Filter/Calendar.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Filter\\Todo' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Filter/Todo.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Provider\\Base' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Provider/Base.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Provider\\Calendar' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Provider/Calendar.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Provider\\Event' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Provider/Event.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Provider\\Todo' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Provider/Todo.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Setting\\Calendar' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Setting/Calendar.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Setting\\Event' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Setting/Event.php',
+ 'OCA\\DAV\\CalDAV\\Activity\\Setting\\Todo' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Setting/Todo.php',
+ 'OCA\\DAV\\CalDAV\\BirthdayService' => __DIR__ . '/..' . '/../lib/CalDAV/BirthdayService.php',
+ 'OCA\\DAV\\CalDAV\\CalDavBackend' => __DIR__ . '/..' . '/../lib/CalDAV/CalDavBackend.php',
+ 'OCA\\DAV\\CalDAV\\Calendar' => __DIR__ . '/..' . '/../lib/CalDAV/Calendar.php',
+ 'OCA\\DAV\\CalDAV\\CalendarHome' => __DIR__ . '/..' . '/../lib/CalDAV/CalendarHome.php',
+ 'OCA\\DAV\\CalDAV\\CalendarObject' => __DIR__ . '/..' . '/../lib/CalDAV/CalendarObject.php',
+ 'OCA\\DAV\\CalDAV\\CalendarRoot' => __DIR__ . '/..' . '/../lib/CalDAV/CalendarRoot.php',
+ 'OCA\\DAV\\CalDAV\\Plugin' => __DIR__ . '/..' . '/../lib/CalDAV/Plugin.php',
+ 'OCA\\DAV\\CalDAV\\PublicCalendar' => __DIR__ . '/..' . '/../lib/CalDAV/PublicCalendar.php',
+ 'OCA\\DAV\\CalDAV\\PublicCalendarObject' => __DIR__ . '/..' . '/../lib/CalDAV/PublicCalendarObject.php',
+ 'OCA\\DAV\\CalDAV\\PublicCalendarRoot' => __DIR__ . '/..' . '/../lib/CalDAV/PublicCalendarRoot.php',
+ 'OCA\\DAV\\CalDAV\\Publishing\\PublishPlugin' => __DIR__ . '/..' . '/../lib/CalDAV/Publishing/PublishPlugin.php',
+ 'OCA\\DAV\\CalDAV\\Publishing\\Xml\\Publisher' => __DIR__ . '/..' . '/../lib/CalDAV/Publishing/Xml/Publisher.php',
+ 'OCA\\DAV\\CalDAV\\Schedule\\IMipPlugin' => __DIR__ . '/..' . '/../lib/CalDAV/Schedule/IMipPlugin.php',
+ 'OCA\\DAV\\CalDAV\\Schedule\\Plugin' => __DIR__ . '/..' . '/../lib/CalDAV/Schedule/Plugin.php',
+ 'OCA\\DAV\\CalDAV\\Search\\SearchPlugin' => __DIR__ . '/..' . '/../lib/CalDAV/Search/SearchPlugin.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\CompFilter' => __DIR__ . '/..' . '/../lib/CalDAV/Search/Xml/Filter/CompFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\LimitFilter' => __DIR__ . '/..' . '/../lib/CalDAV/Search/Xml/Filter/LimitFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\OffsetFilter' => __DIR__ . '/..' . '/../lib/CalDAV/Search/Xml/Filter/OffsetFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\ParamFilter' => __DIR__ . '/..' . '/../lib/CalDAV/Search/Xml/Filter/ParamFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\PropFilter' => __DIR__ . '/..' . '/../lib/CalDAV/Search/Xml/Filter/PropFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Filter\\SearchTermFilter' => __DIR__ . '/..' . '/../lib/CalDAV/Search/Xml/Filter/SearchTermFilter.php',
+ 'OCA\\DAV\\CalDAV\\Search\\Xml\\Request\\CalendarSearchReport' => __DIR__ . '/..' . '/../lib/CalDAV/Search/Xml/Request/CalendarSearchReport.php',
+ 'OCA\\DAV\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php',
+ 'OCA\\DAV\\CardDAV\\AddressBook' => __DIR__ . '/..' . '/../lib/CardDAV/AddressBook.php',
+ 'OCA\\DAV\\CardDAV\\AddressBookImpl' => __DIR__ . '/..' . '/../lib/CardDAV/AddressBookImpl.php',
+ 'OCA\\DAV\\CardDAV\\AddressBookRoot' => __DIR__ . '/..' . '/../lib/CardDAV/AddressBookRoot.php',
+ 'OCA\\DAV\\CardDAV\\CardDavBackend' => __DIR__ . '/..' . '/../lib/CardDAV/CardDavBackend.php',
+ 'OCA\\DAV\\CardDAV\\ContactsManager' => __DIR__ . '/..' . '/../lib/CardDAV/ContactsManager.php',
+ 'OCA\\DAV\\CardDAV\\Converter' => __DIR__ . '/..' . '/../lib/CardDAV/Converter.php',
+ 'OCA\\DAV\\CardDAV\\ImageExportPlugin' => __DIR__ . '/..' . '/../lib/CardDAV/ImageExportPlugin.php',
+ 'OCA\\DAV\\CardDAV\\PhotoCache' => __DIR__ . '/..' . '/../lib/CardDAV/PhotoCache.php',
+ 'OCA\\DAV\\CardDAV\\Plugin' => __DIR__ . '/..' . '/../lib/CardDAV/Plugin.php',
+ 'OCA\\DAV\\CardDAV\\SyncJob' => __DIR__ . '/..' . '/../lib/CardDAV/SyncJob.php',
+ 'OCA\\DAV\\CardDAV\\SyncService' => __DIR__ . '/..' . '/../lib/CardDAV/SyncService.php',
+ 'OCA\\DAV\\CardDAV\\UserAddressBooks' => __DIR__ . '/..' . '/../lib/CardDAV/UserAddressBooks.php',
+ 'OCA\\DAV\\CardDAV\\Xml\\Groups' => __DIR__ . '/..' . '/../lib/CardDAV/Xml/Groups.php',
+ 'OCA\\DAV\\Command\\CreateAddressBook' => __DIR__ . '/..' . '/../lib/Command/CreateAddressBook.php',
+ 'OCA\\DAV\\Command\\CreateCalendar' => __DIR__ . '/..' . '/../lib/Command/CreateCalendar.php',
+ 'OCA\\DAV\\Command\\SyncBirthdayCalendar' => __DIR__ . '/..' . '/../lib/Command/SyncBirthdayCalendar.php',
+ 'OCA\\DAV\\Command\\SyncSystemAddressBook' => __DIR__ . '/..' . '/../lib/Command/SyncSystemAddressBook.php',
+ 'OCA\\DAV\\Comments\\CommentNode' => __DIR__ . '/..' . '/../lib/Comments/CommentNode.php',
+ 'OCA\\DAV\\Comments\\CommentsPlugin' => __DIR__ . '/..' . '/../lib/Comments/CommentsPlugin.php',
+ 'OCA\\DAV\\Comments\\EntityCollection' => __DIR__ . '/..' . '/../lib/Comments/EntityCollection.php',
+ 'OCA\\DAV\\Comments\\EntityTypeCollection' => __DIR__ . '/..' . '/../lib/Comments/EntityTypeCollection.php',
+ 'OCA\\DAV\\Comments\\RootCollection' => __DIR__ . '/..' . '/../lib/Comments/RootCollection.php',
+ 'OCA\\DAV\\Connector\\LegacyDAVACL' => __DIR__ . '/..' . '/../lib/Connector/LegacyDAVACL.php',
+ 'OCA\\DAV\\Connector\\PublicAuth' => __DIR__ . '/..' . '/../lib/Connector/PublicAuth.php',
+ 'OCA\\DAV\\Connector\\Sabre\\AppEnabledPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/AppEnabledPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Auth' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Auth.php',
+ 'OCA\\DAV\\Connector\\Sabre\\BearerAuth' => __DIR__ . '/..' . '/../lib/Connector/Sabre/BearerAuth.php',
+ 'OCA\\DAV\\Connector\\Sabre\\BlockLegacyClientPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/BlockLegacyClientPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\CachingTree' => __DIR__ . '/..' . '/../lib/Connector/Sabre/CachingTree.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ChecksumList' => __DIR__ . '/..' . '/../lib/Connector/Sabre/ChecksumList.php',
+ 'OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/CommentPropertiesPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\CopyEtagHeaderPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/CopyEtagHeaderPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\CustomPropertiesBackend' => __DIR__ . '/..' . '/../lib/Connector/Sabre/CustomPropertiesBackend.php',
+ 'OCA\\DAV\\Connector\\Sabre\\DavAclPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/DavAclPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Directory' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Directory.php',
+ 'OCA\\DAV\\Connector\\Sabre\\DummyGetResponsePlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/DummyGetResponsePlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ExceptionLoggerPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/ExceptionLoggerPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\EntityTooLarge' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Exception/EntityTooLarge.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\FileLocked' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Exception/FileLocked.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\Forbidden' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Exception/Forbidden.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\InvalidPath' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Exception/InvalidPath.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\PasswordLoginForbidden' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Exception/PasswordLoginForbidden.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Exception\\UnsupportedMediaType' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Exception/UnsupportedMediaType.php',
+ 'OCA\\DAV\\Connector\\Sabre\\FakeLockerPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/FakeLockerPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\File' => __DIR__ . '/..' . '/../lib/Connector/Sabre/File.php',
+ 'OCA\\DAV\\Connector\\Sabre\\FilesPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/FilesPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\FilesReportPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/FilesReportPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\LockPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/LockPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\MaintenancePlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/MaintenancePlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Node' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Node.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ObjectTree' => __DIR__ . '/..' . '/../lib/Connector/Sabre/ObjectTree.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Principal' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Principal.php',
+ 'OCA\\DAV\\Connector\\Sabre\\QuotaPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/QuotaPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\Server' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Server.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ServerFactory' => __DIR__ . '/..' . '/../lib/Connector/Sabre/ServerFactory.php',
+ 'OCA\\DAV\\Connector\\Sabre\\ShareTypeList' => __DIR__ . '/..' . '/../lib/Connector/Sabre/ShareTypeList.php',
+ 'OCA\\DAV\\Connector\\Sabre\\SharesPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/SharesPlugin.php',
+ 'OCA\\DAV\\Connector\\Sabre\\TagList' => __DIR__ . '/..' . '/../lib/Connector/Sabre/TagList.php',
+ 'OCA\\DAV\\Connector\\Sabre\\TagsPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/TagsPlugin.php',
+ 'OCA\\DAV\\DAV\\CustomPropertiesBackend' => __DIR__ . '/..' . '/../lib/DAV/CustomPropertiesBackend.php',
+ 'OCA\\DAV\\DAV\\GroupPrincipalBackend' => __DIR__ . '/..' . '/../lib/DAV/GroupPrincipalBackend.php',
+ 'OCA\\DAV\\DAV\\PublicAuth' => __DIR__ . '/..' . '/../lib/DAV/PublicAuth.php',
+ 'OCA\\DAV\\DAV\\Sharing\\Backend' => __DIR__ . '/..' . '/../lib/DAV/Sharing/Backend.php',
+ 'OCA\\DAV\\DAV\\Sharing\\IShareable' => __DIR__ . '/..' . '/../lib/DAV/Sharing/IShareable.php',
+ 'OCA\\DAV\\DAV\\Sharing\\Plugin' => __DIR__ . '/..' . '/../lib/DAV/Sharing/Plugin.php',
+ 'OCA\\DAV\\DAV\\Sharing\\Xml\\Invite' => __DIR__ . '/..' . '/../lib/DAV/Sharing/Xml/Invite.php',
+ 'OCA\\DAV\\DAV\\Sharing\\Xml\\ShareRequest' => __DIR__ . '/..' . '/../lib/DAV/Sharing/Xml/ShareRequest.php',
+ 'OCA\\DAV\\DAV\\SystemPrincipalBackend' => __DIR__ . '/..' . '/../lib/DAV/SystemPrincipalBackend.php',
+ 'OCA\\DAV\\Files\\BrowserErrorPagePlugin' => __DIR__ . '/..' . '/../lib/Files/BrowserErrorPagePlugin.php',
+ 'OCA\\DAV\\Files\\FileSearchBackend' => __DIR__ . '/..' . '/../lib/Files/FileSearchBackend.php',
+ 'OCA\\DAV\\Files\\FilesHome' => __DIR__ . '/..' . '/../lib/Files/FilesHome.php',
+ 'OCA\\DAV\\Files\\RootCollection' => __DIR__ . '/..' . '/../lib/Files/RootCollection.php',
+ 'OCA\\DAV\\Files\\Sharing\\FilesDropPlugin' => __DIR__ . '/..' . '/../lib/Files/Sharing/FilesDropPlugin.php',
+ 'OCA\\DAV\\Files\\Sharing\\PublicLinkCheckPlugin' => __DIR__ . '/..' . '/../lib/Files/Sharing/PublicLinkCheckPlugin.php',
+ 'OCA\\DAV\\HookManager' => __DIR__ . '/..' . '/../lib/HookManager.php',
+ 'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndex.php',
+ 'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
+ 'OCA\\DAV\\Migration\\CalDAVRemoveEmptyValue' => __DIR__ . '/..' . '/../lib/Migration/CalDAVRemoveEmptyValue.php',
+ 'OCA\\DAV\\Migration\\FixBirthdayCalendarComponent' => __DIR__ . '/..' . '/../lib/Migration/FixBirthdayCalendarComponent.php',
+ 'OCA\\DAV\\Migration\\Version1004Date20170825134824' => __DIR__ . '/..' . '/../lib/Migration/Version1004Date20170825134824.php',
+ 'OCA\\DAV\\Migration\\Version1004Date20170919104507' => __DIR__ . '/..' . '/../lib/Migration/Version1004Date20170919104507.php',
+ 'OCA\\DAV\\Migration\\Version1004Date20170924124212' => __DIR__ . '/..' . '/../lib/Migration/Version1004Date20170924124212.php',
+ 'OCA\\DAV\\Migration\\Version1004Date20170926103422' => __DIR__ . '/..' . '/../lib/Migration/Version1004Date20170926103422.php',
+ 'OCA\\DAV\\RootCollection' => __DIR__ . '/..' . '/../lib/RootCollection.php',
+ 'OCA\\DAV\\Server' => __DIR__ . '/..' . '/../lib/Server.php',
+ 'OCA\\DAV\\Settings\\CalDAVSettings' => __DIR__ . '/..' . '/../lib/Settings/CalDAVSettings.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagMappingNode' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagMappingNode.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagNode' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagNode.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagPlugin' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagPlugin.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagsByIdCollection' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagsByIdCollection.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagsObjectMappingCollection' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagsObjectMappingCollection.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagsObjectTypeCollection' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagsObjectTypeCollection.php',
+ 'OCA\\DAV\\SystemTag\\SystemTagsRelationsCollection' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagsRelationsCollection.php',
+ 'OCA\\DAV\\Upload\\AssemblyStream' => __DIR__ . '/..' . '/../lib/Upload/AssemblyStream.php',
+ 'OCA\\DAV\\Upload\\FutureFile' => __DIR__ . '/..' . '/../lib/Upload/FutureFile.php',
+ 'OCA\\DAV\\Upload\\RootCollection' => __DIR__ . '/..' . '/../lib/Upload/RootCollection.php',
+ 'OCA\\DAV\\Upload\\UploadFolder' => __DIR__ . '/..' . '/../lib/Upload/UploadFolder.php',
+ 'OCA\\DAV\\Upload\\UploadHome' => __DIR__ . '/..' . '/../lib/Upload/UploadHome.php',
+ );
+
+ public static function getInitializer(ClassLoader $loader)
+ {
+ return \Closure::bind(function () use ($loader) {
+ $loader->prefixLengthsPsr4 = ComposerStaticInitDAV::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInitDAV::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInitDAV::$classMap;
+
+ }, null, ClassLoader::class);
+ }
+}
diff --git a/apps/dav/l10n/bg.js b/apps/dav/l10n/bg.js
index 3f55af7812..85bbca23de 100644
--- a/apps/dav/l10n/bg.js
+++ b/apps/dav/l10n/bg.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Календар",
"Todos" : "Задачи",
+ "Personal" : "Личен",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Направихте календар {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} изтри календар {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "Календарно събитие беше променено",
"A calendar todo was modified" : "Календарна задача беше променена",
"Contact birthdays" : "Рождени дни на контакти",
- "Personal" : "Личен",
"Contacts" : "Контакти",
"Technical details" : "Технически детайли",
"Remote Address: %s" : "Отдалечен адрес: %s",
diff --git a/apps/dav/l10n/bg.json b/apps/dav/l10n/bg.json
index 03238418d1..cac7c6af18 100644
--- a/apps/dav/l10n/bg.json
+++ b/apps/dav/l10n/bg.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Календар",
"Todos" : "Задачи",
+ "Personal" : "Личен",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Направихте календар {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} изтри календар {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "Календарно събитие беше променено",
"A calendar todo was modified" : "Календарна задача беше променена",
"Contact birthdays" : "Рождени дни на контакти",
- "Personal" : "Личен",
"Contacts" : "Контакти",
"Technical details" : "Технически детайли",
"Remote Address: %s" : "Отдалечен адрес: %s",
diff --git a/apps/dav/l10n/ca.js b/apps/dav/l10n/ca.js
index 1b176c5d50..d59b3d88fd 100644
--- a/apps/dav/l10n/ca.js
+++ b/apps/dav/l10n/ca.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Calendari",
"Todos" : "Tots",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Vosté ha creat el calentari {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} ha esborrat el calendari {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "S'ha modificat un esdeveniment del calendari",
"A calendar todo was modified" : "Tot un calendari va ser modificat",
"Contact birthdays" : "Aniversaris dels contactes",
- "Personal" : "Personal",
"Contacts" : "Contactes",
"Technical details" : "Detalls tècnics",
"Remote Address: %s" : "Adreça remota: %s",
diff --git a/apps/dav/l10n/ca.json b/apps/dav/l10n/ca.json
index 7c30c4050a..04fec606da 100644
--- a/apps/dav/l10n/ca.json
+++ b/apps/dav/l10n/ca.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Calendari",
"Todos" : "Tots",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Vosté ha creat el calentari {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} ha esborrat el calendari {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "S'ha modificat un esdeveniment del calendari",
"A calendar todo was modified" : "Tot un calendari va ser modificat",
"Contact birthdays" : "Aniversaris dels contactes",
- "Personal" : "Personal",
"Contacts" : "Contactes",
"Technical details" : "Detalls tècnics",
"Remote Address: %s" : "Adreça remota: %s",
diff --git a/apps/dav/l10n/cs.js b/apps/dav/l10n/cs.js
index acd0b85b03..5c1b1a2b0f 100644
--- a/apps/dav/l10n/cs.js
+++ b/apps/dav/l10n/cs.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalendář",
"Todos" : "Úkoly",
+ "Personal" : "Osobní",
"{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}",
"You created calendar {calendar}" : "Vytvořil(a",
"{actor} deleted calendar {calendar}" : "{actor} smazal(a) kalendář {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "Událost v kalendáři byla změněna",
"A calendar todo was modified" : "Úkol v kalendáři byl změněn",
"Contact birthdays" : "Narozeniny kontaktů",
- "Personal" : "Osobní",
"Contacts" : "Kontakty",
"Technical details" : "Technické detaily",
"Remote Address: %s" : "Vzdálená adresa: %s",
diff --git a/apps/dav/l10n/cs.json b/apps/dav/l10n/cs.json
index c1a25b3401..0b21caa829 100644
--- a/apps/dav/l10n/cs.json
+++ b/apps/dav/l10n/cs.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalendář",
"Todos" : "Úkoly",
+ "Personal" : "Osobní",
"{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}",
"You created calendar {calendar}" : "Vytvořil(a",
"{actor} deleted calendar {calendar}" : "{actor} smazal(a) kalendář {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "Událost v kalendáři byla změněna",
"A calendar todo was modified" : "Úkol v kalendáři byl změněn",
"Contact birthdays" : "Narozeniny kontaktů",
- "Personal" : "Osobní",
"Contacts" : "Kontakty",
"Technical details" : "Technické detaily",
"Remote Address: %s" : "Vzdálená adresa: %s",
diff --git a/apps/dav/l10n/da.js b/apps/dav/l10n/da.js
index 868d906f58..b26fcb5151 100644
--- a/apps/dav/l10n/da.js
+++ b/apps/dav/l10n/da.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalender",
"Todos" : "Opgaver",
+ "Personal" : "Personligt",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} sletede kalenderen {calendar}",
@@ -40,10 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "En kalender begivenhed er blevet ændret",
"A calendar todo was modified" : "En kalender opgave blev ændret",
"Contact birthdays" : "Kontakt fødselsdag",
- "Personal" : "Personligt",
"Contacts" : "Kontakter",
"Technical details" : "Tekniske detaljer",
"Remote Address: %s" : "Fjernadresse: %s",
- "Request ID: %s" : "Forespørgsels-ID: %s"
+ "Request ID: %s" : "Forespørgsels-ID: %s",
+ "CalDAV server" : "CalDAV server",
+ "Send invitations to attendees" : "Send invitation til deltagere",
+ "Please make sure to properly set up the email settings above." : "Vær venligst sikker på at indstille email indstillingerne ovenover ordenligt."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/da.json b/apps/dav/l10n/da.json
index 3d9b3800b7..be5aa72d05 100644
--- a/apps/dav/l10n/da.json
+++ b/apps/dav/l10n/da.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalender",
"Todos" : "Opgaver",
+ "Personal" : "Personligt",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} sletede kalenderen {calendar}",
@@ -38,10 +39,12 @@
"A calendar event was modified" : "En kalender begivenhed er blevet ændret",
"A calendar todo was modified" : "En kalender opgave blev ændret",
"Contact birthdays" : "Kontakt fødselsdag",
- "Personal" : "Personligt",
"Contacts" : "Kontakter",
"Technical details" : "Tekniske detaljer",
"Remote Address: %s" : "Fjernadresse: %s",
- "Request ID: %s" : "Forespørgsels-ID: %s"
+ "Request ID: %s" : "Forespørgsels-ID: %s",
+ "CalDAV server" : "CalDAV server",
+ "Send invitations to attendees" : "Send invitation til deltagere",
+ "Please make sure to properly set up the email settings above." : "Vær venligst sikker på at indstille email indstillingerne ovenover ordenligt."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/de.js b/apps/dav/l10n/de.js
index 9bf57da3f9..30f3ae53e0 100644
--- a/apps/dav/l10n/de.js
+++ b/apps/dav/l10n/de.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalender",
"Todos" : "Aufgaben",
+ "Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt",
"{actor} deleted calendar {calendar}" : "{actor} hat den Kalender {calendar} gelöscht",
@@ -40,13 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Ein Kalender-Ereignis wurde bearbeitet",
"A calendar todo was modified" : "Eine Kalender-Aufgabe wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
- "Personal" : "Persönlich",
"Contacts" : "Kontakte",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Entfernte Adresse: %s",
"Request ID: %s" : "Anfragekennung: %s",
"CalDAV server" : "CalDAV-Server",
"Send invitations to attendees" : "Einladungen an die Teilnehmer versenden",
- "Please make sure to properly setup the email settings above." : "Stelle sicher, dass die obigen E-Mail-Einstellungen korrekt sind."
+ "Please make sure to properly set up the email settings above." : "Bitte sicherstellen, dass die E-Mail Einstellungen oben korrekt angegeben sind."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/de.json b/apps/dav/l10n/de.json
index 235edda405..401cab208d 100644
--- a/apps/dav/l10n/de.json
+++ b/apps/dav/l10n/de.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalender",
"Todos" : "Aufgaben",
+ "Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt",
"{actor} deleted calendar {calendar}" : "{actor} hat den Kalender {calendar} gelöscht",
@@ -38,13 +39,12 @@
"A calendar event was modified" : "Ein Kalender-Ereignis wurde bearbeitet",
"A calendar todo was modified" : "Eine Kalender-Aufgabe wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
- "Personal" : "Persönlich",
"Contacts" : "Kontakte",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Entfernte Adresse: %s",
"Request ID: %s" : "Anfragekennung: %s",
"CalDAV server" : "CalDAV-Server",
"Send invitations to attendees" : "Einladungen an die Teilnehmer versenden",
- "Please make sure to properly setup the email settings above." : "Stelle sicher, dass die obigen E-Mail-Einstellungen korrekt sind."
+ "Please make sure to properly set up the email settings above." : "Bitte sicherstellen, dass die E-Mail Einstellungen oben korrekt angegeben sind."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/de_DE.js b/apps/dav/l10n/de_DE.js
index 20d576b096..43b218dacc 100644
--- a/apps/dav/l10n/de_DE.js
+++ b/apps/dav/l10n/de_DE.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalender",
"Todos" : "Aufgaben",
+ "Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt",
"{actor} deleted calendar {calendar}" : "{actor} hat den Kalender {calendar} gelöscht",
@@ -40,13 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Ein Kalender-Ereignis wurde bearbeitet",
"A calendar todo was modified" : "Eine Kalender-Aufgabe wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
- "Personal" : "Persönlich",
"Contacts" : "Kontakte",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Entfernte Adresse: %s",
"Request ID: %s" : "Anfragekennung: %s",
"CalDAV server" : "CalDAV-Server",
"Send invitations to attendees" : "Einladungen an die Teilnehmer versenden",
- "Please make sure to properly setup the email settings above." : "Stellen Sie sicher, dass die obigen E-Mail-Einstellungen korrekt sind."
+ "Please make sure to properly set up the email settings above." : "Stellen Sie sicher, dass die obigen E-Mail-Einstellungen korrekt sind."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/de_DE.json b/apps/dav/l10n/de_DE.json
index 3ab9b304d3..9de0db6d70 100644
--- a/apps/dav/l10n/de_DE.json
+++ b/apps/dav/l10n/de_DE.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalender",
"Todos" : "Aufgaben",
+ "Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt",
"{actor} deleted calendar {calendar}" : "{actor} hat den Kalender {calendar} gelöscht",
@@ -38,13 +39,12 @@
"A calendar event was modified" : "Ein Kalender-Ereignis wurde bearbeitet",
"A calendar todo was modified" : "Eine Kalender-Aufgabe wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
- "Personal" : "Persönlich",
"Contacts" : "Kontakte",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Entfernte Adresse: %s",
"Request ID: %s" : "Anfragekennung: %s",
"CalDAV server" : "CalDAV-Server",
"Send invitations to attendees" : "Einladungen an die Teilnehmer versenden",
- "Please make sure to properly setup the email settings above." : "Stellen Sie sicher, dass die obigen E-Mail-Einstellungen korrekt sind."
+ "Please make sure to properly set up the email settings above." : "Stellen Sie sicher, dass die obigen E-Mail-Einstellungen korrekt sind."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/el.js b/apps/dav/l10n/el.js
index 8565fc2ce3..f64c83d2aa 100644
--- a/apps/dav/l10n/el.js
+++ b/apps/dav/l10n/el.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Ημερολόγιο",
"Todos" : "Εργασίες προς εκτέλεση",
+ "Personal" : "Προσωπικά",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
"{actor} deleted calendar {calendar}" : "{actor} διέγραψε το ημερολόγιο {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "Τροποποιήθηκε ένα γεγονός του ημερολογίου",
"A calendar todo was modified" : "Ενός ημερολογίου η εκκρεμότητα τροποποιήθηκε",
"Contact birthdays" : "Γενέθλια επαφών",
- "Personal" : "Προσωπικά",
"Contacts" : "Επαφές",
"Technical details" : "Τεχνικές λεπτομέρειες",
"Remote Address: %s" : "Απομακρυσμένη Διεύθυνση: %s",
diff --git a/apps/dav/l10n/el.json b/apps/dav/l10n/el.json
index c0a3f5369d..9f7a1ab926 100644
--- a/apps/dav/l10n/el.json
+++ b/apps/dav/l10n/el.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Ημερολόγιο",
"Todos" : "Εργασίες προς εκτέλεση",
+ "Personal" : "Προσωπικά",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
"{actor} deleted calendar {calendar}" : "{actor} διέγραψε το ημερολόγιο {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "Τροποποιήθηκε ένα γεγονός του ημερολογίου",
"A calendar todo was modified" : "Ενός ημερολογίου η εκκρεμότητα τροποποιήθηκε",
"Contact birthdays" : "Γενέθλια επαφών",
- "Personal" : "Προσωπικά",
"Contacts" : "Επαφές",
"Technical details" : "Τεχνικές λεπτομέρειες",
"Remote Address: %s" : "Απομακρυσμένη Διεύθυνση: %s",
diff --git a/apps/dav/l10n/en_GB.js b/apps/dav/l10n/en_GB.js
index 6dd47179e3..463fe47ea6 100644
--- a/apps/dav/l10n/en_GB.js
+++ b/apps/dav/l10n/en_GB.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Calendar",
"Todos" : "Todos",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} deleted calendar {calendar}",
@@ -40,10 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "A calendar event was modified",
"A calendar todo was modified" : "A calendar todo was modified",
"Contact birthdays" : "Contact birthdays",
- "Personal" : "Personal",
"Contacts" : "Contacts",
"Technical details" : "Technical details",
"Remote Address: %s" : "Remote Address: %s",
- "Request ID: %s" : "Request ID: %s"
+ "Request ID: %s" : "Request ID: %s",
+ "CalDAV server" : "CalDAV server",
+ "Send invitations to attendees" : "Send invitations to attendees",
+ "Please make sure to properly set up the email settings above." : "Please make sure to properly set up the email settings above."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/en_GB.json b/apps/dav/l10n/en_GB.json
index fb24096500..b5319c01a4 100644
--- a/apps/dav/l10n/en_GB.json
+++ b/apps/dav/l10n/en_GB.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Calendar",
"Todos" : "Todos",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} deleted calendar {calendar}",
@@ -38,10 +39,12 @@
"A calendar event was modified" : "A calendar event was modified",
"A calendar todo was modified" : "A calendar todo was modified",
"Contact birthdays" : "Contact birthdays",
- "Personal" : "Personal",
"Contacts" : "Contacts",
"Technical details" : "Technical details",
"Remote Address: %s" : "Remote Address: %s",
- "Request ID: %s" : "Request ID: %s"
+ "Request ID: %s" : "Request ID: %s",
+ "CalDAV server" : "CalDAV server",
+ "Send invitations to attendees" : "Send invitations to attendees",
+ "Please make sure to properly set up the email settings above." : "Please make sure to properly set up the email settings above."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/es.js b/apps/dav/l10n/es.js
index b518dfd0df..2a01abafcf 100644
--- a/apps/dav/l10n/es.js
+++ b/apps/dav/l10n/es.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Calendario",
"Todos" : "Todos",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} eliminó el calendario {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "Un evento del calendario fue modificado.",
"A calendar todo was modified" : "Una lista de tareas fue modificada",
"Contact birthdays" : "Cumpleaños del contacto",
- "Personal" : "Personal",
"Contacts" : "Contactos",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
diff --git a/apps/dav/l10n/es.json b/apps/dav/l10n/es.json
index 0503e24f25..20e33731a3 100644
--- a/apps/dav/l10n/es.json
+++ b/apps/dav/l10n/es.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Calendario",
"Todos" : "Todos",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} eliminó el calendario {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "Un evento del calendario fue modificado.",
"A calendar todo was modified" : "Una lista de tareas fue modificada",
"Contact birthdays" : "Cumpleaños del contacto",
- "Personal" : "Personal",
"Contacts" : "Contactos",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
diff --git a/apps/dav/l10n/es_AR.js b/apps/dav/l10n/es_AR.js
index d8753d65d3..7fac0070c8 100644
--- a/apps/dav/l10n/es_AR.js
+++ b/apps/dav/l10n/es_AR.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Calendario",
"Todos" : "Pendientes",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "Un evento de un calendario fue modificado",
"A calendar todo was modified" : "Un pendiente de un calendario fue modificado",
"Contact birthdays" : "Cumpleaños del contacto",
- "Personal" : "Personal",
"Contacts" : "Contactos",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
diff --git a/apps/dav/l10n/es_AR.json b/apps/dav/l10n/es_AR.json
index 1eb8d35975..542d1536fc 100644
--- a/apps/dav/l10n/es_AR.json
+++ b/apps/dav/l10n/es_AR.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Calendario",
"Todos" : "Pendientes",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "Un evento de un calendario fue modificado",
"A calendar todo was modified" : "Un pendiente de un calendario fue modificado",
"Contact birthdays" : "Cumpleaños del contacto",
- "Personal" : "Personal",
"Contacts" : "Contactos",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
diff --git a/apps/dav/l10n/es_CO.js b/apps/dav/l10n/es_CO.js
new file mode 100644
index 0000000000..50f6886dbc
--- /dev/null
+++ b/apps/dav/l10n/es_CO.js
@@ -0,0 +1,51 @@
+OC.L10N.register(
+ "dav",
+ {
+ "Calendar" : "Calendario",
+ "Todos" : "Pendientes",
+ "Personal" : "Personal",
+ "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
+ "You created calendar {calendar}" : "Creaste el calendario {calendar}",
+ "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
+ "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
+ "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
+ "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
+ "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
+ "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
+ "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
+ "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
+ "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
+ "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
+ "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
+ "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
+ "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
+ "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
+ "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
+ "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
+ "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
+ "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
+ "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
+ "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
+ "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
+ "A calendar was modified" : "Un calendario fue modificado",
+ "A calendar event was modified" : "Un evento de un calendario fue modificado",
+ "A calendar todo was modified" : "Un pendiente de un calendario fue modificado",
+ "Contact birthdays" : "Cumpleaños del contacto",
+ "Contacts" : "Contactos",
+ "Technical details" : "Detalles técnicos",
+ "Remote Address: %s" : "Dirección remota: %s",
+ "Request ID: %s" : "ID de solicitud: %s",
+ "CalDAV server" : "Servidor CalDAV",
+ "Send invitations to attendees" : "Enviar invitaciones a los asistentes"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_CO.json b/apps/dav/l10n/es_CO.json
new file mode 100644
index 0000000000..c151ef343f
--- /dev/null
+++ b/apps/dav/l10n/es_CO.json
@@ -0,0 +1,49 @@
+{ "translations": {
+ "Calendar" : "Calendario",
+ "Todos" : "Pendientes",
+ "Personal" : "Personal",
+ "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
+ "You created calendar {calendar}" : "Creaste el calendario {calendar}",
+ "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
+ "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
+ "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
+ "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
+ "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
+ "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
+ "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
+ "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
+ "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
+ "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
+ "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
+ "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
+ "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
+ "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
+ "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
+ "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
+ "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
+ "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
+ "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
+ "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
+ "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
+ "A calendar was modified" : "Un calendario fue modificado",
+ "A calendar event was modified" : "Un evento de un calendario fue modificado",
+ "A calendar todo was modified" : "Un pendiente de un calendario fue modificado",
+ "Contact birthdays" : "Cumpleaños del contacto",
+ "Contacts" : "Contactos",
+ "Technical details" : "Detalles técnicos",
+ "Remote Address: %s" : "Dirección remota: %s",
+ "Request ID: %s" : "ID de solicitud: %s",
+ "CalDAV server" : "Servidor CalDAV",
+ "Send invitations to attendees" : "Enviar invitaciones a los asistentes"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/apps/dav/l10n/es_MX.js b/apps/dav/l10n/es_MX.js
index 5730b78580..50f6886dbc 100644
--- a/apps/dav/l10n/es_MX.js
+++ b/apps/dav/l10n/es_MX.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Calendario",
"Todos" : "Pendientes",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Creaste el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
@@ -40,13 +41,11 @@ OC.L10N.register(
"A calendar event was modified" : "Un evento de un calendario fue modificado",
"A calendar todo was modified" : "Un pendiente de un calendario fue modificado",
"Contact birthdays" : "Cumpleaños del contacto",
- "Personal" : "Personal",
"Contacts" : "Contactos",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
"Request ID: %s" : "ID de solicitud: %s",
"CalDAV server" : "Servidor CalDAV",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Please make sure to properly setup the email settings above." : "Por favor asegúrate de establecer correctamente las configuraciones de correo electrónico de arriba."
+ "Send invitations to attendees" : "Enviar invitaciones a los asistentes"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_MX.json b/apps/dav/l10n/es_MX.json
index d9a339343e..c151ef343f 100644
--- a/apps/dav/l10n/es_MX.json
+++ b/apps/dav/l10n/es_MX.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Calendario",
"Todos" : "Pendientes",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Creaste el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
@@ -38,13 +39,11 @@
"A calendar event was modified" : "Un evento de un calendario fue modificado",
"A calendar todo was modified" : "Un pendiente de un calendario fue modificado",
"Contact birthdays" : "Cumpleaños del contacto",
- "Personal" : "Personal",
"Contacts" : "Contactos",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
"Request ID: %s" : "ID de solicitud: %s",
"CalDAV server" : "Servidor CalDAV",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Please make sure to properly setup the email settings above." : "Por favor asegúrate de establecer correctamente las configuraciones de correo electrónico de arriba."
+ "Send invitations to attendees" : "Enviar invitaciones a los asistentes"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/fi.js b/apps/dav/l10n/fi.js
index b498fe40ad..51e42b5d72 100644
--- a/apps/dav/l10n/fi.js
+++ b/apps/dav/l10n/fi.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalenteri",
"Todos" : "Tehtävät",
+ "Personal" : "Henkilökohtainen",
"{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}",
"You created calendar {calendar}" : "Loit kalenterin {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} poisti kalenterin {calendar}",
@@ -40,10 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Kalenterin tapahtumaa on muokattu",
"A calendar todo was modified" : "Kalenterin tehtävää on muokattu",
"Contact birthdays" : "Yhteystietojen syntymäpäivät",
- "Personal" : "Henkilökohtainen",
"Contacts" : "Yhteystiedot",
"Technical details" : "Tekniset yksityiskohdat",
"Remote Address: %s" : "Etäosoite: %s",
- "Request ID: %s" : "Pyynnön tunniste: %s"
+ "Request ID: %s" : "Pyynnön tunniste: %s",
+ "CalDAV server" : "CalDAV-palvelin",
+ "Send invitations to attendees" : "Lähetä kutsut osallistujille",
+ "Please make sure to properly set up the email settings above." : "Varmista, että määrität sähköpostiasetukset oikein yläpuolelle. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/fi.json b/apps/dav/l10n/fi.json
index 695752ebb0..6b3726a242 100644
--- a/apps/dav/l10n/fi.json
+++ b/apps/dav/l10n/fi.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalenteri",
"Todos" : "Tehtävät",
+ "Personal" : "Henkilökohtainen",
"{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}",
"You created calendar {calendar}" : "Loit kalenterin {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} poisti kalenterin {calendar}",
@@ -38,10 +39,12 @@
"A calendar event was modified" : "Kalenterin tapahtumaa on muokattu",
"A calendar todo was modified" : "Kalenterin tehtävää on muokattu",
"Contact birthdays" : "Yhteystietojen syntymäpäivät",
- "Personal" : "Henkilökohtainen",
"Contacts" : "Yhteystiedot",
"Technical details" : "Tekniset yksityiskohdat",
"Remote Address: %s" : "Etäosoite: %s",
- "Request ID: %s" : "Pyynnön tunniste: %s"
+ "Request ID: %s" : "Pyynnön tunniste: %s",
+ "CalDAV server" : "CalDAV-palvelin",
+ "Send invitations to attendees" : "Lähetä kutsut osallistujille",
+ "Please make sure to properly set up the email settings above." : "Varmista, että määrität sähköpostiasetukset oikein yläpuolelle. "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js
index 51409b980a..92ab671cd1 100644
--- a/apps/dav/l10n/fr.js
+++ b/apps/dav/l10n/fr.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Agenda",
"Todos" : "Tâches",
+ "Personal" : "Personnel",
"{actor} created calendar {calendar}" : "{actor} a créé l'agenda {calendar}",
"You created calendar {calendar}" : "Vous avez créé l'agenda {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} a supprimé l'agenda {calendar}",
@@ -40,12 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Un événement de l'agenda a été modifié",
"A calendar todo was modified" : "Une liste de tâches de l'agenda a été modifiée",
"Contact birthdays" : "Anniversaires des contacts",
- "Personal" : "Personnel",
"Contacts" : "Contacts",
"Technical details" : "Détails techniques",
"Remote Address: %s" : "Adresse distante : %s",
"Request ID: %s" : "ID de la requête : %s",
"CalDAV server" : "Serveur CalDAV",
- "Send invitations to attendees" : "Envoyer des invitations aux participants"
+ "Send invitations to attendees" : "Envoyer des invitations aux participants",
+ "Please make sure to properly set up the email settings above." : "Merci de vérifier d'avoir correctement configuré les paramètres de courriel ci-dessus"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json
index a256a383a4..65eba3c9ea 100644
--- a/apps/dav/l10n/fr.json
+++ b/apps/dav/l10n/fr.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Agenda",
"Todos" : "Tâches",
+ "Personal" : "Personnel",
"{actor} created calendar {calendar}" : "{actor} a créé l'agenda {calendar}",
"You created calendar {calendar}" : "Vous avez créé l'agenda {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} a supprimé l'agenda {calendar}",
@@ -38,12 +39,12 @@
"A calendar event was modified" : "Un événement de l'agenda a été modifié",
"A calendar todo was modified" : "Une liste de tâches de l'agenda a été modifiée",
"Contact birthdays" : "Anniversaires des contacts",
- "Personal" : "Personnel",
"Contacts" : "Contacts",
"Technical details" : "Détails techniques",
"Remote Address: %s" : "Adresse distante : %s",
"Request ID: %s" : "ID de la requête : %s",
"CalDAV server" : "Serveur CalDAV",
- "Send invitations to attendees" : "Envoyer des invitations aux participants"
+ "Send invitations to attendees" : "Envoyer des invitations aux participants",
+ "Please make sure to properly set up the email settings above." : "Merci de vérifier d'avoir correctement configuré les paramètres de courriel ci-dessus"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/hu.js b/apps/dav/l10n/hu.js
index caf0fe16c9..e1d8a950d0 100644
--- a/apps/dav/l10n/hu.js
+++ b/apps/dav/l10n/hu.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Naptár",
"Todos" : "Teendők",
+ "Personal" : "Személyes",
"{actor} created calendar {calendar}" : "{actor} létrehozta a naptárt: {calendar}",
"You created calendar {calendar}" : "Létrehoztad a naptárt: {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} törölte a naptárt: {calendar}",
@@ -40,13 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Egy naptár esemény megváltozott",
"A calendar todo was modified" : "Egy naptár teendő megváltozott",
"Contact birthdays" : "Születésnapok",
- "Personal" : "Személyes",
"Contacts" : "Névjegyek",
"Technical details" : "Technikai adatok",
"Remote Address: %s" : "Távoli cím: %s",
"Request ID: %s" : "Kérelem azonosító: %s",
"CalDAV server" : "CalDAV szerver",
"Send invitations to attendees" : "Meghívó küldése a résztvevőknek",
- "Please make sure to properly setup the email settings above." : "Kérlek győződj meg a fenti e-mail beállítások helyességéről."
+ "Please make sure to properly set up the email settings above." : "Győződj meg róla, hogy a fenti e-mail beállítások helyesek."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/hu.json b/apps/dav/l10n/hu.json
index 04a571549e..f1fd00091d 100644
--- a/apps/dav/l10n/hu.json
+++ b/apps/dav/l10n/hu.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Naptár",
"Todos" : "Teendők",
+ "Personal" : "Személyes",
"{actor} created calendar {calendar}" : "{actor} létrehozta a naptárt: {calendar}",
"You created calendar {calendar}" : "Létrehoztad a naptárt: {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} törölte a naptárt: {calendar}",
@@ -38,13 +39,12 @@
"A calendar event was modified" : "Egy naptár esemény megváltozott",
"A calendar todo was modified" : "Egy naptár teendő megváltozott",
"Contact birthdays" : "Születésnapok",
- "Personal" : "Személyes",
"Contacts" : "Névjegyek",
"Technical details" : "Technikai adatok",
"Remote Address: %s" : "Távoli cím: %s",
"Request ID: %s" : "Kérelem azonosító: %s",
"CalDAV server" : "CalDAV szerver",
"Send invitations to attendees" : "Meghívó küldése a résztvevőknek",
- "Please make sure to properly setup the email settings above." : "Kérlek győződj meg a fenti e-mail beállítások helyességéről."
+ "Please make sure to properly set up the email settings above." : "Győződj meg róla, hogy a fenti e-mail beállítások helyesek."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/is.js b/apps/dav/l10n/is.js
index 79b4275068..f333a74f7a 100644
--- a/apps/dav/l10n/is.js
+++ b/apps/dav/l10n/is.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Dagatal",
"Todos" : "Verkþættir",
+ "Personal" : "Einka",
"{actor} created calendar {calendar}" : "{actor} bjó til dagatalið {calendar}",
"You created calendar {calendar}" : "Þú bjóst til dagatalið {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} eyddi dagatalinu {calendar}",
@@ -40,10 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Atburði dagatals var breytt",
"A calendar todo was modified" : "Verkefnalista dagatals var breytt",
"Contact birthdays" : "Afmælisdagar tengiliðar",
- "Personal" : "Einka",
"Contacts" : "Tengiliðir",
"Technical details" : "Tæknilegar upplýsingar",
"Remote Address: %s" : "Fjartengt vistfang: %s",
- "Request ID: %s" : "Beiðni um auðkenni: %s"
+ "Request ID: %s" : "Beiðni um auðkenni: %s",
+ "CalDAV server" : "CalDAV-þjónn",
+ "Send invitations to attendees" : "Senda boð til þátttakenda",
+ "Please make sure to properly set up the email settings above." : "Gakktu úr skugga um að tölvupóststillingarnar hér fyrir ofan séu réttar."
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/dav/l10n/is.json b/apps/dav/l10n/is.json
index aba5a88917..13763d56f6 100644
--- a/apps/dav/l10n/is.json
+++ b/apps/dav/l10n/is.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Dagatal",
"Todos" : "Verkþættir",
+ "Personal" : "Einka",
"{actor} created calendar {calendar}" : "{actor} bjó til dagatalið {calendar}",
"You created calendar {calendar}" : "Þú bjóst til dagatalið {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} eyddi dagatalinu {calendar}",
@@ -38,10 +39,12 @@
"A calendar event was modified" : "Atburði dagatals var breytt",
"A calendar todo was modified" : "Verkefnalista dagatals var breytt",
"Contact birthdays" : "Afmælisdagar tengiliðar",
- "Personal" : "Einka",
"Contacts" : "Tengiliðir",
"Technical details" : "Tæknilegar upplýsingar",
"Remote Address: %s" : "Fjartengt vistfang: %s",
- "Request ID: %s" : "Beiðni um auðkenni: %s"
+ "Request ID: %s" : "Beiðni um auðkenni: %s",
+ "CalDAV server" : "CalDAV-þjónn",
+ "Send invitations to attendees" : "Senda boð til þátttakenda",
+ "Please make sure to properly set up the email settings above." : "Gakktu úr skugga um að tölvupóststillingarnar hér fyrir ofan séu réttar."
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/it.js b/apps/dav/l10n/it.js
index e58d3bd107..ae8ea0a1f5 100644
--- a/apps/dav/l10n/it.js
+++ b/apps/dav/l10n/it.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Calendario",
"Todos" : "Cose da fare",
+ "Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} ha creato il calendario {calendar}",
"You created calendar {calendar}" : "Hai creato il calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} ha eliminato il calendario {calendar}",
@@ -40,10 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Un evento del calendario è stato modificato",
"A calendar todo was modified" : "Una cosa da fare del calendario è stata modificata",
"Contact birthdays" : "Date di nascita dei contatti",
- "Personal" : "Personale",
"Contacts" : "Contatti",
"Technical details" : "Dettagli tecnici",
"Remote Address: %s" : "Indirizzo remoto: %s",
- "Request ID: %s" : "ID richiesta: %s"
+ "Request ID: %s" : "ID richiesta: %s",
+ "CalDAV server" : "Server CalDAV",
+ "Send invitations to attendees" : "Invia gli inviti ai partecipanti",
+ "Please make sure to properly set up the email settings above." : "Assicurati di configurare correttamente le impostazioni di posta sopra."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/it.json b/apps/dav/l10n/it.json
index 1f71eed7af..600ace4f2e 100644
--- a/apps/dav/l10n/it.json
+++ b/apps/dav/l10n/it.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Calendario",
"Todos" : "Cose da fare",
+ "Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} ha creato il calendario {calendar}",
"You created calendar {calendar}" : "Hai creato il calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} ha eliminato il calendario {calendar}",
@@ -38,10 +39,12 @@
"A calendar event was modified" : "Un evento del calendario è stato modificato",
"A calendar todo was modified" : "Una cosa da fare del calendario è stata modificata",
"Contact birthdays" : "Date di nascita dei contatti",
- "Personal" : "Personale",
"Contacts" : "Contatti",
"Technical details" : "Dettagli tecnici",
"Remote Address: %s" : "Indirizzo remoto: %s",
- "Request ID: %s" : "ID richiesta: %s"
+ "Request ID: %s" : "ID richiesta: %s",
+ "CalDAV server" : "Server CalDAV",
+ "Send invitations to attendees" : "Invia gli inviti ai partecipanti",
+ "Please make sure to properly set up the email settings above." : "Assicurati di configurare correttamente le impostazioni di posta sopra."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/ko.js b/apps/dav/l10n/ko.js
index af42950998..81a01556fb 100644
--- a/apps/dav/l10n/ko.js
+++ b/apps/dav/l10n/ko.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "달력",
"Todos" : "할 일",
+ "Personal" : "개인",
"{actor} created calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 생성함",
"You created calendar {calendar}" : "달력 {calendar}을(를) 생성함",
"{actor} deleted calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 삭제함",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "달력 행사가 수정됨",
"A calendar todo was modified" : "달력의 할 일이 수정됨",
"Contact birthdays" : "연락처에 등록된 생일",
- "Personal" : "개인",
"Contacts" : "연락처",
"Technical details" : "기술 정보",
"Remote Address: %s" : "원격 주소: %s",
diff --git a/apps/dav/l10n/ko.json b/apps/dav/l10n/ko.json
index 7731c7140a..e397a73b4b 100644
--- a/apps/dav/l10n/ko.json
+++ b/apps/dav/l10n/ko.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "달력",
"Todos" : "할 일",
+ "Personal" : "개인",
"{actor} created calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 생성함",
"You created calendar {calendar}" : "달력 {calendar}을(를) 생성함",
"{actor} deleted calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 삭제함",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "달력 행사가 수정됨",
"A calendar todo was modified" : "달력의 할 일이 수정됨",
"Contact birthdays" : "연락처에 등록된 생일",
- "Personal" : "개인",
"Contacts" : "연락처",
"Technical details" : "기술 정보",
"Remote Address: %s" : "원격 주소: %s",
diff --git a/apps/dav/l10n/lt_LT.js b/apps/dav/l10n/lt_LT.js
index 7fc9730915..ec20bcf7bc 100644
--- a/apps/dav/l10n/lt_LT.js
+++ b/apps/dav/l10n/lt_LT.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalendorius",
"Todos" : "Užduotys",
+ "Personal" : "Asmeniniai",
"{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
"You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} ištrynė kalendorių {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "Kalendoriaus įvykis buvo pakeistas",
"A calendar todo was modified" : "Kalendoriaus užduotis buvo pakeista",
"Contact birthdays" : "Kontaktų gimtadieniai",
- "Personal" : "Asmeniniai",
"Contacts" : "Kontaktai",
"Technical details" : "Techninė informacija",
"Remote Address: %s" : "Nuotolinis adresas: %s",
diff --git a/apps/dav/l10n/lt_LT.json b/apps/dav/l10n/lt_LT.json
index e328eef436..c0a8e43c7b 100644
--- a/apps/dav/l10n/lt_LT.json
+++ b/apps/dav/l10n/lt_LT.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalendorius",
"Todos" : "Užduotys",
+ "Personal" : "Asmeniniai",
"{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
"You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} ištrynė kalendorių {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "Kalendoriaus įvykis buvo pakeistas",
"A calendar todo was modified" : "Kalendoriaus užduotis buvo pakeista",
"Contact birthdays" : "Kontaktų gimtadieniai",
- "Personal" : "Asmeniniai",
"Contacts" : "Kontaktai",
"Technical details" : "Techninė informacija",
"Remote Address: %s" : "Nuotolinis adresas: %s",
diff --git a/apps/dav/l10n/nb.js b/apps/dav/l10n/nb.js
index e1985b743b..4a207c3cd5 100644
--- a/apps/dav/l10n/nb.js
+++ b/apps/dav/l10n/nb.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalender",
"Todos" : "Gjøremål",
+ "Personal" : "Personlig",
"{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}",
"You created calendar {calendar}" : "Du opprettet kalenderen {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} slettet kalenderen {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "En kalender hendelse ble endret",
"A calendar todo was modified" : "En kalende gjøremål ble endret",
"Contact birthdays" : "Kontakters fødelsdag",
- "Personal" : "Personlig",
"Contacts" : "Kontakter",
"Technical details" : "Tekniske detaljer",
"Remote Address: %s" : "Ekstern adresse: %s",
diff --git a/apps/dav/l10n/nb.json b/apps/dav/l10n/nb.json
index cce442b765..80ddcab2b5 100644
--- a/apps/dav/l10n/nb.json
+++ b/apps/dav/l10n/nb.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalender",
"Todos" : "Gjøremål",
+ "Personal" : "Personlig",
"{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}",
"You created calendar {calendar}" : "Du opprettet kalenderen {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} slettet kalenderen {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "En kalender hendelse ble endret",
"A calendar todo was modified" : "En kalende gjøremål ble endret",
"Contact birthdays" : "Kontakters fødelsdag",
- "Personal" : "Personlig",
"Contacts" : "Kontakter",
"Technical details" : "Tekniske detaljer",
"Remote Address: %s" : "Ekstern adresse: %s",
diff --git a/apps/dav/l10n/nl.js b/apps/dav/l10n/nl.js
index 15ad9285bd..094e621c92 100644
--- a/apps/dav/l10n/nl.js
+++ b/apps/dav/l10n/nl.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalender",
"Todos" : "Te doen",
+ "Personal" : "Persoonlijk",
"{actor} created calendar {calendar}" : "{actor} creëerde agenda {calendar}",
"You created calendar {calendar}" : "Jij creëerde agenda {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} verwijderde agenda {calendar}",
@@ -40,10 +41,11 @@ OC.L10N.register(
"A calendar event was modified" : "Een agenda gebeurtenis is aangepast",
"A calendar todo was modified" : "Een agenda Te doen was aangepast",
"Contact birthdays" : "Verjaardagen",
- "Personal" : "Persoonlijk",
"Contacts" : "Contactpersonen",
"Technical details" : "Technische details",
"Remote Address: %s" : "Extern adres: %s",
- "Request ID: %s" : "Aanvraag-ID: %s"
+ "Request ID: %s" : "Aanvraag-ID: %s",
+ "CalDAV server" : "CalDAV server",
+ "Send invitations to attendees" : "Verzend uitnodigingen naar deelnemers"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/nl.json b/apps/dav/l10n/nl.json
index e3a4071be0..f38a938cd2 100644
--- a/apps/dav/l10n/nl.json
+++ b/apps/dav/l10n/nl.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalender",
"Todos" : "Te doen",
+ "Personal" : "Persoonlijk",
"{actor} created calendar {calendar}" : "{actor} creëerde agenda {calendar}",
"You created calendar {calendar}" : "Jij creëerde agenda {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} verwijderde agenda {calendar}",
@@ -38,10 +39,11 @@
"A calendar event was modified" : "Een agenda gebeurtenis is aangepast",
"A calendar todo was modified" : "Een agenda Te doen was aangepast",
"Contact birthdays" : "Verjaardagen",
- "Personal" : "Persoonlijk",
"Contacts" : "Contactpersonen",
"Technical details" : "Technische details",
"Remote Address: %s" : "Extern adres: %s",
- "Request ID: %s" : "Aanvraag-ID: %s"
+ "Request ID: %s" : "Aanvraag-ID: %s",
+ "CalDAV server" : "CalDAV server",
+ "Send invitations to attendees" : "Verzend uitnodigingen naar deelnemers"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/pl.js b/apps/dav/l10n/pl.js
index 09366c978c..e371260fb5 100644
--- a/apps/dav/l10n/pl.js
+++ b/apps/dav/l10n/pl.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalendarz",
"Todos" : "Zadania",
+ "Personal" : "Osobiste",
"{actor} created calendar {calendar}" : "{actor} utworzył/-a kalendarz {calendar}",
"You created calendar {calendar}" : "Utworzyłeś/-aś kalendarz {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} usunął/-ęła kalendarz {calendar} .",
@@ -40,10 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Zdarzenie kalendarza zostało zmodyfikowane",
"A calendar todo was modified" : "Kalendarz zadań został zmieniony",
"Contact birthdays" : "Urodziny kontaktu",
- "Personal" : "Osobiste",
"Contacts" : "Kontakty",
"Technical details" : "Szczegóły techniczne",
"Remote Address: %s" : "Adres zdalny: %s",
- "Request ID: %s" : "ID żądania: %s"
+ "Request ID: %s" : "ID żądania: %s",
+ "CalDAV server" : "Serwer CalDAV",
+ "Send invitations to attendees" : "Wyślij uczestnikom zaproszenia",
+ "Please make sure to properly set up the email settings above." : "Upewnij się, że dobrze skonfigurowano powyżej ustawienia poczty e-mail."
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/dav/l10n/pl.json b/apps/dav/l10n/pl.json
index ec4af48211..9d707baedd 100644
--- a/apps/dav/l10n/pl.json
+++ b/apps/dav/l10n/pl.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalendarz",
"Todos" : "Zadania",
+ "Personal" : "Osobiste",
"{actor} created calendar {calendar}" : "{actor} utworzył/-a kalendarz {calendar}",
"You created calendar {calendar}" : "Utworzyłeś/-aś kalendarz {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} usunął/-ęła kalendarz {calendar} .",
@@ -38,10 +39,12 @@
"A calendar event was modified" : "Zdarzenie kalendarza zostało zmodyfikowane",
"A calendar todo was modified" : "Kalendarz zadań został zmieniony",
"Contact birthdays" : "Urodziny kontaktu",
- "Personal" : "Osobiste",
"Contacts" : "Kontakty",
"Technical details" : "Szczegóły techniczne",
"Remote Address: %s" : "Adres zdalny: %s",
- "Request ID: %s" : "ID żądania: %s"
+ "Request ID: %s" : "ID żądania: %s",
+ "CalDAV server" : "Serwer CalDAV",
+ "Send invitations to attendees" : "Wyślij uczestnikom zaproszenia",
+ "Please make sure to properly set up the email settings above." : "Upewnij się, że dobrze skonfigurowano powyżej ustawienia poczty e-mail."
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/pt_BR.js b/apps/dav/l10n/pt_BR.js
index 5c8cff9cf6..6d2745c12d 100644
--- a/apps/dav/l10n/pt_BR.js
+++ b/apps/dav/l10n/pt_BR.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Calendário",
"Todos" : "Tarefas",
+ "Personal" : "Pessoal",
"{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}",
"You created calendar {calendar}" : "Você criou o calendário {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} excluiu o calendário {calendar}",
@@ -40,13 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Um evento do calendário foi modificado",
"A calendar todo was modified" : "Uma tarefa do calendário foi modificada",
"Contact birthdays" : "Aniversário dos contatos",
- "Personal" : "Pessoal",
"Contacts" : "Contatos",
"Technical details" : "Detalhes técnicos",
"Remote Address: %s" : "Endereço remoto: %s",
"Request ID: %s" : "ID do solicitante: %s",
"CalDAV server" : "Servidor CalDAV",
"Send invitations to attendees" : "Envie convites aos participantes",
- "Please make sure to properly setup the email settings above." : "Certifique-se de configurar corretamente as configurações de email acima."
+ "Please make sure to properly set up the email settings above." : "Certifique-se de configurar corretamente o email acima."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/dav/l10n/pt_BR.json b/apps/dav/l10n/pt_BR.json
index 1aa53c3f2d..c3d954c7df 100644
--- a/apps/dav/l10n/pt_BR.json
+++ b/apps/dav/l10n/pt_BR.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Calendário",
"Todos" : "Tarefas",
+ "Personal" : "Pessoal",
"{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}",
"You created calendar {calendar}" : "Você criou o calendário {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} excluiu o calendário {calendar}",
@@ -38,13 +39,12 @@
"A calendar event was modified" : "Um evento do calendário foi modificado",
"A calendar todo was modified" : "Uma tarefa do calendário foi modificada",
"Contact birthdays" : "Aniversário dos contatos",
- "Personal" : "Pessoal",
"Contacts" : "Contatos",
"Technical details" : "Detalhes técnicos",
"Remote Address: %s" : "Endereço remoto: %s",
"Request ID: %s" : "ID do solicitante: %s",
"CalDAV server" : "Servidor CalDAV",
"Send invitations to attendees" : "Envie convites aos participantes",
- "Please make sure to properly setup the email settings above." : "Certifique-se de configurar corretamente as configurações de email acima."
+ "Please make sure to properly set up the email settings above." : "Certifique-se de configurar corretamente o email acima."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/ro.js b/apps/dav/l10n/ro.js
index 9f3f2fbf72..4c50660824 100644
--- a/apps/dav/l10n/ro.js
+++ b/apps/dav/l10n/ro.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Calendar",
"Todos" : "De făcut",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} a creat calendarul {calendar}",
"You created calendar {calendar}" : "Ai creat calendarul {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} a șters calendarul {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "Un eveniment din calendar a fost modificat",
"A calendar todo was modified" : "O listă din calendar a fost modificată",
"Contact birthdays" : "Zile de naștere ale persoanelor de contact",
- "Personal" : "Personal",
"Contacts" : "Persoane de contact",
"Technical details" : "Detalii tehnice",
"Remote Address: %s" : "Adresă la distanță: %s",
diff --git a/apps/dav/l10n/ro.json b/apps/dav/l10n/ro.json
index f93f03bd4d..f98340b4c2 100644
--- a/apps/dav/l10n/ro.json
+++ b/apps/dav/l10n/ro.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Calendar",
"Todos" : "De făcut",
+ "Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} a creat calendarul {calendar}",
"You created calendar {calendar}" : "Ai creat calendarul {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} a șters calendarul {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "Un eveniment din calendar a fost modificat",
"A calendar todo was modified" : "O listă din calendar a fost modificată",
"Contact birthdays" : "Zile de naștere ale persoanelor de contact",
- "Personal" : "Personal",
"Contacts" : "Persoane de contact",
"Technical details" : "Detalii tehnice",
"Remote Address: %s" : "Adresă la distanță: %s",
diff --git a/apps/dav/l10n/ru.js b/apps/dav/l10n/ru.js
index e6749e7fb1..fb515a5c4f 100644
--- a/apps/dav/l10n/ru.js
+++ b/apps/dav/l10n/ru.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Календарь",
"Todos" : "Задачи",
+ "Personal" : "Личное",
"{actor} created calendar {calendar}" : "{actor} создал календарь {calendar}",
"You created calendar {calendar}" : "Вы создали календарь {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} удалил календарь {calendar}",
@@ -40,10 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Событие календаря была изменена",
"A calendar todo was modified" : "Задача календаря была изменена",
"Contact birthdays" : "Дни рождения контакта",
- "Personal" : "Личное",
"Contacts" : "Контакты",
"Technical details" : "Технические подробности",
"Remote Address: %s" : "Удаленный адрес: %s",
- "Request ID: %s" : "ID запроса: %s"
+ "Request ID: %s" : "ID запроса: %s",
+ "CalDAV server" : "CalDAV сервер",
+ "Send invitations to attendees" : "Отправить приглашения",
+ "Please make sure to properly set up the email settings above." : "Пожалуйста проверьте правильность настройки почты выше."
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/dav/l10n/ru.json b/apps/dav/l10n/ru.json
index 538be85207..dbd0a71227 100644
--- a/apps/dav/l10n/ru.json
+++ b/apps/dav/l10n/ru.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Календарь",
"Todos" : "Задачи",
+ "Personal" : "Личное",
"{actor} created calendar {calendar}" : "{actor} создал календарь {calendar}",
"You created calendar {calendar}" : "Вы создали календарь {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} удалил календарь {calendar}",
@@ -38,10 +39,12 @@
"A calendar event was modified" : "Событие календаря была изменена",
"A calendar todo was modified" : "Задача календаря была изменена",
"Contact birthdays" : "Дни рождения контакта",
- "Personal" : "Личное",
"Contacts" : "Контакты",
"Technical details" : "Технические подробности",
"Remote Address: %s" : "Удаленный адрес: %s",
- "Request ID: %s" : "ID запроса: %s"
+ "Request ID: %s" : "ID запроса: %s",
+ "CalDAV server" : "CalDAV сервер",
+ "Send invitations to attendees" : "Отправить приглашения",
+ "Please make sure to properly set up the email settings above." : "Пожалуйста проверьте правильность настройки почты выше."
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/sk.js b/apps/dav/l10n/sk.js
index 2e1fc5d369..1eeee8b6e6 100644
--- a/apps/dav/l10n/sk.js
+++ b/apps/dav/l10n/sk.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalendár",
"Todos" : "Úlohy",
+ "Personal" : "Osobné",
"{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]",
"You created calendar {calendar}" : "Vytvorili ste kalendár [calendar]",
"{actor} deleted calendar {calendar}" : "[actor] zmazal kalendár [calendar]",
@@ -40,10 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Udalosť v kalendári bola upravená",
"A calendar todo was modified" : "<>",
"Contact birthdays" : "Narodeniny kontaktu",
- "Personal" : "Osobné",
"Contacts" : "Kontakty",
"Technical details" : "Technické podrobnosti",
"Remote Address: %s" : "Vzdialená adresa: %s",
- "Request ID: %s" : "ID požiadavky: %s"
+ "Request ID: %s" : "ID požiadavky: %s",
+ "CalDAV server" : "Server CalDAV",
+ "Send invitations to attendees" : "Odoslanie pozvánok účastníkom",
+ "Please make sure to properly set up the email settings above." : "Uistite sa, že máte správne nastavené vyššie uvedené nastavenia e-mailu."
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/dav/l10n/sk.json b/apps/dav/l10n/sk.json
index cac08a2ca4..d21f92e6f0 100644
--- a/apps/dav/l10n/sk.json
+++ b/apps/dav/l10n/sk.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalendár",
"Todos" : "Úlohy",
+ "Personal" : "Osobné",
"{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]",
"You created calendar {calendar}" : "Vytvorili ste kalendár [calendar]",
"{actor} deleted calendar {calendar}" : "[actor] zmazal kalendár [calendar]",
@@ -38,10 +39,12 @@
"A calendar event was modified" : "Udalosť v kalendári bola upravená",
"A calendar todo was modified" : "<>",
"Contact birthdays" : "Narodeniny kontaktu",
- "Personal" : "Osobné",
"Contacts" : "Kontakty",
"Technical details" : "Technické podrobnosti",
"Remote Address: %s" : "Vzdialená adresa: %s",
- "Request ID: %s" : "ID požiadavky: %s"
+ "Request ID: %s" : "ID požiadavky: %s",
+ "CalDAV server" : "Server CalDAV",
+ "Send invitations to attendees" : "Odoslanie pozvánok účastníkom",
+ "Please make sure to properly set up the email settings above." : "Uistite sa, že máte správne nastavené vyššie uvedené nastavenia e-mailu."
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/sq.js b/apps/dav/l10n/sq.js
index 2ced2eddcb..ecb7f350e0 100644
--- a/apps/dav/l10n/sq.js
+++ b/apps/dav/l10n/sq.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalendar",
"Todos" : "Për tu bërë",
+ "Personal" : "Personale",
"{actor} created calendar {calendar}" : "{aktori} krijoi kalendarin {kalendarin}",
"You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "Një event në kalendar u modifikua",
"A calendar todo was modified" : "Një kalendar todo u modifikua",
"Contact birthdays" : "Ditëlindjet e kontakteve",
- "Personal" : "Personale",
"Contacts" : "Kontaktet",
"Technical details" : "Detaje teknike",
"Remote Address: %s" : "Adresa remote: %s",
diff --git a/apps/dav/l10n/sq.json b/apps/dav/l10n/sq.json
index dea2472fa1..981ace9d18 100644
--- a/apps/dav/l10n/sq.json
+++ b/apps/dav/l10n/sq.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalendar",
"Todos" : "Për tu bërë",
+ "Personal" : "Personale",
"{actor} created calendar {calendar}" : "{aktori} krijoi kalendarin {kalendarin}",
"You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "Një event në kalendar u modifikua",
"A calendar todo was modified" : "Një kalendar todo u modifikua",
"Contact birthdays" : "Ditëlindjet e kontakteve",
- "Personal" : "Personale",
"Contacts" : "Kontaktet",
"Technical details" : "Detaje teknike",
"Remote Address: %s" : "Adresa remote: %s",
diff --git a/apps/dav/l10n/sr.js b/apps/dav/l10n/sr.js
index 23aadf71bc..90cb6003b8 100644
--- a/apps/dav/l10n/sr.js
+++ b/apps/dav/l10n/sr.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Календар",
"Todos" : "Подсетници",
+ "Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} је направио календар {calendar}",
"You created calendar {calendar}" : "Креирали сте календар {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} је обрисао календар {calendar}",
@@ -40,13 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Догађај из календара је измењен",
"A calendar todo was modified" : "Подсетник из календара је измењен",
"Contact birthdays" : "Рођендани контаката",
- "Personal" : "Лично",
"Contacts" : "Контакти",
"Technical details" : "Технички детаљи",
"Remote Address: %s" : "Удаљена адреса: %s",
"Request ID: %s" : "ИД захтева: %s",
"CalDAV server" : "CalDAV сервер",
"Send invitations to attendees" : "Пошаљи позивницу учесницима",
- "Please make sure to properly setup the email settings above." : "Пазите да правилно подесите поставке е-поште изнад."
+ "Please make sure to properly set up the email settings above." : "Пазите да правилно подесите поставке е-поште изнад."
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/dav/l10n/sr.json b/apps/dav/l10n/sr.json
index b6589cfd47..45b02431c7 100644
--- a/apps/dav/l10n/sr.json
+++ b/apps/dav/l10n/sr.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Календар",
"Todos" : "Подсетници",
+ "Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} је направио календар {calendar}",
"You created calendar {calendar}" : "Креирали сте календар {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} је обрисао календар {calendar}",
@@ -38,13 +39,12 @@
"A calendar event was modified" : "Догађај из календара је измењен",
"A calendar todo was modified" : "Подсетник из календара је измењен",
"Contact birthdays" : "Рођендани контаката",
- "Personal" : "Лично",
"Contacts" : "Контакти",
"Technical details" : "Технички детаљи",
"Remote Address: %s" : "Удаљена адреса: %s",
"Request ID: %s" : "ИД захтева: %s",
"CalDAV server" : "CalDAV сервер",
"Send invitations to attendees" : "Пошаљи позивницу учесницима",
- "Please make sure to properly setup the email settings above." : "Пазите да правилно подесите поставке е-поште изнад."
+ "Please make sure to properly set up the email settings above." : "Пазите да правилно подесите поставке е-поште изнад."
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/sv.js b/apps/dav/l10n/sv.js
index 25cd0d797c..aa8765c7dc 100644
--- a/apps/dav/l10n/sv.js
+++ b/apps/dav/l10n/sv.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalender",
"Todos" : "Uppgifter",
+ "Personal" : "Privat",
"{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}",
"You created calendar {calendar}" : "Du skapade kalender {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} raderade kalender {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "En kalender-händelse modifierades",
"A calendar todo was modified" : "En kalender uppgift modifierades",
"Contact birthdays" : "Födelsedagar",
- "Personal" : "Privat",
"Contacts" : "Kontakter",
"Technical details" : "Tekniska detaljer",
"Remote Address: %s" : "Extern adress: %s",
diff --git a/apps/dav/l10n/sv.json b/apps/dav/l10n/sv.json
index ba76ca5532..0c06957dcf 100644
--- a/apps/dav/l10n/sv.json
+++ b/apps/dav/l10n/sv.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Kalender",
"Todos" : "Uppgifter",
+ "Personal" : "Privat",
"{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}",
"You created calendar {calendar}" : "Du skapade kalender {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} raderade kalender {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "En kalender-händelse modifierades",
"A calendar todo was modified" : "En kalender uppgift modifierades",
"Contact birthdays" : "Födelsedagar",
- "Personal" : "Privat",
"Contacts" : "Kontakter",
"Technical details" : "Tekniska detaljer",
"Remote Address: %s" : "Extern adress: %s",
diff --git a/apps/dav/l10n/tr.js b/apps/dav/l10n/tr.js
index 4a2662121e..b14d1bd4d2 100644
--- a/apps/dav/l10n/tr.js
+++ b/apps/dav/l10n/tr.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Takvim",
"Todos" : "Yapılacak İşler",
+ "Personal" : "Kişisel",
"{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi",
"You created calendar {calendar}" : "{calendar} takvimini eklediniz",
"{actor} deleted calendar {calendar}" : "{actor}, {calendar} takvimini sildi",
@@ -40,13 +41,12 @@ OC.L10N.register(
"A calendar event was modified" : "Bir takvim etkinliği düzenlendi",
"A calendar todo was modified" : "Bir takvim yapılacak işi düzenlendi",
"Contact birthdays" : "Kişi doğum günleri",
- "Personal" : "Kişisel",
"Contacts" : "Kişiler",
"Technical details" : "Teknik ayrıntılar",
"Remote Address: %s" : "Uzak Adres: %s",
"Request ID: %s" : "İstek Kodu: %s",
"CalDAV server" : "CalDAV sunucusu",
"Send invitations to attendees" : "Katılımcılara çağrıları gönder",
- "Please make sure to properly setup the email settings above." : "Lütfen yukarıdaki e-posta ayarlarını doğru şekilde ayarladığınızdan emin olun."
+ "Please make sure to properly set up the email settings above." : "Lütfen yukarıdaki e-posta ayarlarını doğru olarak yaptığınızdan emin olun."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/dav/l10n/tr.json b/apps/dav/l10n/tr.json
index 956696cb73..23cbfbaac3 100644
--- a/apps/dav/l10n/tr.json
+++ b/apps/dav/l10n/tr.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "Takvim",
"Todos" : "Yapılacak İşler",
+ "Personal" : "Kişisel",
"{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi",
"You created calendar {calendar}" : "{calendar} takvimini eklediniz",
"{actor} deleted calendar {calendar}" : "{actor}, {calendar} takvimini sildi",
@@ -38,13 +39,12 @@
"A calendar event was modified" : "Bir takvim etkinliği düzenlendi",
"A calendar todo was modified" : "Bir takvim yapılacak işi düzenlendi",
"Contact birthdays" : "Kişi doğum günleri",
- "Personal" : "Kişisel",
"Contacts" : "Kişiler",
"Technical details" : "Teknik ayrıntılar",
"Remote Address: %s" : "Uzak Adres: %s",
"Request ID: %s" : "İstek Kodu: %s",
"CalDAV server" : "CalDAV sunucusu",
"Send invitations to attendees" : "Katılımcılara çağrıları gönder",
- "Please make sure to properly setup the email settings above." : "Lütfen yukarıdaki e-posta ayarlarını doğru şekilde ayarladığınızdan emin olun."
+ "Please make sure to properly set up the email settings above." : "Lütfen yukarıdaki e-posta ayarlarını doğru olarak yaptığınızdan emin olun."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}
\ No newline at end of file
diff --git a/apps/dav/l10n/zh_CN.js b/apps/dav/l10n/zh_CN.js
index 049c0e2b54..e0ee901540 100644
--- a/apps/dav/l10n/zh_CN.js
+++ b/apps/dav/l10n/zh_CN.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Calendar" : "日历",
"Todos" : "待办事项",
+ "Personal" : "个人",
"{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}",
"You created calendar {calendar}" : "您创建的日历 {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} 删除了日历 {calendar}",
@@ -40,7 +41,6 @@ OC.L10N.register(
"A calendar event was modified" : "日历中事件已经修改",
"A calendar todo was modified" : "列表中待办事项已经修改",
"Contact birthdays" : "联系人生日",
- "Personal" : "个人",
"Contacts" : "联系人",
"Technical details" : "技术细节",
"Remote Address: %s" : "远程地址: %s",
diff --git a/apps/dav/l10n/zh_CN.json b/apps/dav/l10n/zh_CN.json
index 7e215d624d..3041940955 100644
--- a/apps/dav/l10n/zh_CN.json
+++ b/apps/dav/l10n/zh_CN.json
@@ -1,6 +1,7 @@
{ "translations": {
"Calendar" : "日历",
"Todos" : "待办事项",
+ "Personal" : "个人",
"{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}",
"You created calendar {calendar}" : "您创建的日历 {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} 删除了日历 {calendar}",
@@ -38,7 +39,6 @@
"A calendar event was modified" : "日历中事件已经修改",
"A calendar todo was modified" : "列表中待办事项已经修改",
"Contact birthdays" : "联系人生日",
- "Personal" : "个人",
"Contacts" : "联系人",
"Technical details" : "技术细节",
"Remote Address: %s" : "远程地址: %s",
diff --git a/apps/dav/lib/CalDAV/Activity/Backend.php b/apps/dav/lib/CalDAV/Activity/Backend.php
index f8cc82407f..c1a68c1682 100644
--- a/apps/dav/lib/CalDAV/Activity/Backend.php
+++ b/apps/dav/lib/CalDAV/Activity/Backend.php
@@ -135,8 +135,12 @@ class Backend {
->setSubject(
$user === $currentUser ? $action . '_self' : $action,
[
- $currentUser,
- $calendarData['{DAV:}displayname'],
+ 'actor' => $currentUser,
+ 'calendar' => [
+ 'id' => (int) $calendarData['id'],
+ 'uri' => $calendarData['uri'],
+ 'name' => $calendarData['{DAV:}displayname'],
+ ],
]
);
$this->activityManager->publish($event);
@@ -187,8 +191,13 @@ class Backend {
if ($owner !== $principal[2]) {
$parameters = [
- $principal[2],
- $calendarData['{DAV:}displayname'],
+ 'actor' => $event->getAuthor(),
+ 'calendar' => [
+ 'id' => (int) $calendarData['id'],
+ 'uri' => $calendarData['uri'],
+ 'name' => $calendarData['{DAV:}displayname'],
+ ],
+ 'user' => $principal[2],
];
if ($owner === $event->getAuthor()) {
@@ -201,7 +210,6 @@ class Backend {
$this->activityManager->publish($event);
$subject = Calendar::SUBJECT_UNSHARE_USER . '_by';
- $parameters[] = $event->getAuthor();
}
$event->setAffectedUser($owner)
@@ -212,8 +220,13 @@ class Backend {
$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_UNSHARE_USER);
$parameters = [
- $principal[2],
- $calendarData['{DAV:}displayname'],
+ 'actor' => $event->getAuthor(),
+ 'calendar' => [
+ 'id' => (int) $calendarData['id'],
+ 'uri' => $calendarData['uri'],
+ 'name' => $calendarData['{DAV:}displayname'],
+ ],
+ 'group' => $principal[2],
];
if ($owner === $event->getAuthor()) {
@@ -224,7 +237,6 @@ class Backend {
$this->activityManager->publish($event);
$subject = Calendar::SUBJECT_UNSHARE_GROUP . '_by';
- $parameters[] = $event->getAuthor();
}
$event->setAffectedUser($owner)
@@ -250,8 +262,13 @@ class Backend {
if ($owner !== $principal[2]) {
$parameters = [
- $principal[2],
- $calendarData['{DAV:}displayname'],
+ 'actor' => $event->getAuthor(),
+ 'calendar' => [
+ 'id' => (int) $calendarData['id'],
+ 'uri' => $calendarData['uri'],
+ 'name' => $calendarData['{DAV:}displayname'],
+ ],
+ 'user' => $principal[2],
];
if ($owner === $event->getAuthor()) {
@@ -262,7 +279,6 @@ class Backend {
$this->activityManager->publish($event);
$subject = Calendar::SUBJECT_SHARE_USER . '_by';
- $parameters[] = $event->getAuthor();
}
$event->setAffectedUser($owner)
@@ -273,8 +289,13 @@ class Backend {
$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_SHARE_USER);
$parameters = [
- $principal[2],
- $calendarData['{DAV:}displayname'],
+ 'actor' => $event->getAuthor(),
+ 'calendar' => [
+ 'id' => (int) $calendarData['id'],
+ 'uri' => $calendarData['uri'],
+ 'name' => $calendarData['{DAV:}displayname'],
+ ],
+ 'group' => $principal[2],
];
if ($owner === $event->getAuthor()) {
@@ -285,7 +306,6 @@ class Backend {
$this->activityManager->publish($event);
$subject = Calendar::SUBJECT_SHARE_GROUP . '_by';
- $parameters[] = $event->getAuthor();
}
$event->setAffectedUser($owner)
@@ -347,8 +367,12 @@ class Backend {
->setSubject(
$user === $event->getAuthor() && $subjectSelf ? $subjectSelf : $subject,
[
- $event->getAuthor(),
- $properties['{DAV:}displayname'],
+ 'actor' => $event->getAuthor(),
+ 'calendar' => [
+ 'id' => (int) $properties['id'],
+ 'uri' => $properties['uri'],
+ 'name' => $properties['{DAV:}displayname'],
+ ],
]
);
@@ -401,9 +425,13 @@ class Backend {
->setSubject(
$user === $currentUser ? $action . '_self' : $action,
[
- $currentUser,
- $calendarData['{DAV:}displayname'],
- [
+ 'actor' => $event->getAuthor(),
+ 'calendar' => [
+ 'id' => (int) $calendarData['id'],
+ 'uri' => $calendarData['uri'],
+ 'name' => $calendarData['{DAV:}displayname'],
+ ],
+ 'object' => [
'id' => $object['id'],
'name' => $object['name'],
],
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Base.php b/apps/dav/lib/CalDAV/Activity/Provider/Base.php
index 72fdd681b8..983d05310a 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Base.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Base.php
@@ -21,8 +21,10 @@
namespace OCA\DAV\CalDAV\Activity\Provider;
+use OCA\DAV\CalDAV\CalDavBackend;
use OCP\Activity\IEvent;
use OCP\Activity\IProvider;
+use OCP\IL10N;
use OCP\IUser;
use OCP\IUserManager;
@@ -64,7 +66,7 @@ abstract class Base implements IProvider {
protected function generateObjectParameter($eventData) {
if (!is_array($eventData) || !isset($eventData['id']) || !isset($eventData['name'])) {
throw new \InvalidArgumentException();
- };
+ }
return [
'type' => 'calendar-event',
@@ -73,12 +75,34 @@ abstract class Base implements IProvider {
];
}
+ /**
+ * @param array $data
+ * @param IL10N $l
+ * @return array
+ */
+ protected function generateCalendarParameter($data, IL10N $l) {
+ if ($data['uri'] === CalDavBackend::PERSONAL_CALENDAR_URI &&
+ $data['name'] === CalDavBackend::PERSONAL_CALENDAR_NAME) {
+ return [
+ 'type' => 'calendar',
+ 'id' => $data['id'],
+ 'name' => $l->t('Personal'),
+ ];
+ }
+
+ return [
+ 'type' => 'calendar',
+ 'id' => $data['id'],
+ 'name' => $data['name'],
+ ];
+ }
+
/**
* @param int $id
* @param string $name
* @return array
*/
- protected function generateCalendarParameter($id, $name) {
+ protected function generateLegacyCalendarParameter($id, $name) {
return [
'type' => 'calendar',
'id' => $id,
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php b/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php
index 36d425ecf6..fb4a0ff45a 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php
@@ -156,6 +156,56 @@ class Calendar extends Base {
$subject = $event->getSubject();
$parameters = $event->getSubjectParameters();
+ // Nextcloud 13+
+ if (isset($parameters['calendar'])) {
+ switch ($subject) {
+ case self::SUBJECT_ADD:
+ case self::SUBJECT_ADD . '_self':
+ case self::SUBJECT_DELETE:
+ case self::SUBJECT_DELETE . '_self':
+ case self::SUBJECT_UPDATE:
+ case self::SUBJECT_UPDATE . '_self':
+ case self::SUBJECT_SHARE_USER:
+ case self::SUBJECT_UNSHARE_USER:
+ case self::SUBJECT_UNSHARE_USER . '_self':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ ];
+ case self::SUBJECT_SHARE_USER . '_you':
+ case self::SUBJECT_UNSHARE_USER . '_you':
+ return [
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ 'user' => $this->generateUserParameter($parameters['user']),
+ ];
+ case self::SUBJECT_SHARE_USER . '_by':
+ case self::SUBJECT_UNSHARE_USER . '_by':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ 'user' => $this->generateUserParameter($parameters['user']),
+ ];
+ case self::SUBJECT_SHARE_GROUP . '_you':
+ case self::SUBJECT_UNSHARE_GROUP . '_you':
+ return [
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ 'group' => $this->generateGroupParameter($parameters['group']),
+ ];
+ case self::SUBJECT_SHARE_GROUP . '_by':
+ case self::SUBJECT_UNSHARE_GROUP . '_by':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ 'group' => $this->generateGroupParameter($parameters['group']),
+ ];
+ }
+ }
+
+ // Legacy - Do NOT Remove unless necessary
+ // Removing this will break parsing of activities that were created on
+ // Nextcloud 12, so we should keep this as long as it's acceptable.
+ // Otherwise if people upgrade over multiple releases in a short period,
+ // they will get the dead entries in their stream.
switch ($subject) {
case self::SUBJECT_ADD:
case self::SUBJECT_ADD . '_self':
@@ -168,32 +218,32 @@ class Calendar extends Base {
case self::SUBJECT_UNSHARE_USER . '_self':
return [
'actor' => $this->generateUserParameter($parameters[0]),
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
];
case self::SUBJECT_SHARE_USER . '_you':
case self::SUBJECT_UNSHARE_USER . '_you':
return [
'user' => $this->generateUserParameter($parameters[0]),
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
];
case self::SUBJECT_SHARE_USER . '_by':
case self::SUBJECT_UNSHARE_USER . '_by':
return [
'user' => $this->generateUserParameter($parameters[0]),
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
'actor' => $this->generateUserParameter($parameters[2]),
];
case self::SUBJECT_SHARE_GROUP . '_you':
case self::SUBJECT_UNSHARE_GROUP . '_you':
return [
'group' => $this->generateGroupParameter($parameters[0]),
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
];
case self::SUBJECT_SHARE_GROUP . '_by':
case self::SUBJECT_UNSHARE_GROUP . '_by':
return [
'group' => $this->generateGroupParameter($parameters[0]),
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
'actor' => $this->generateUserParameter($parameters[2]),
];
}
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Event.php b/apps/dav/lib/CalDAV/Activity/Provider/Event.php
index 2c2e3d01c2..7b515d78b1 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Event.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Event.php
@@ -118,20 +118,46 @@ class Event extends Base {
$subject = $event->getSubject();
$parameters = $event->getSubjectParameters();
+ // Nextcloud 13+
+ if (isset($parameters['calendar'])) {
+ switch ($subject) {
+ case self::SUBJECT_OBJECT_ADD . '_event':
+ case self::SUBJECT_OBJECT_DELETE . '_event':
+ case self::SUBJECT_OBJECT_UPDATE . '_event':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ 'event' => $this->generateObjectParameter($parameters['object']),
+ ];
+ case self::SUBJECT_OBJECT_ADD . '_event_self':
+ case self::SUBJECT_OBJECT_DELETE . '_event_self':
+ case self::SUBJECT_OBJECT_UPDATE . '_event_self':
+ return [
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ 'event' => $this->generateObjectParameter($parameters['object']),
+ ];
+ }
+ }
+
+ // Legacy - Do NOT Remove unless necessary
+ // Removing this will break parsing of activities that were created on
+ // Nextcloud 12, so we should keep this as long as it's acceptable.
+ // Otherwise if people upgrade over multiple releases in a short period,
+ // they will get the dead entries in their stream.
switch ($subject) {
case self::SUBJECT_OBJECT_ADD . '_event':
case self::SUBJECT_OBJECT_DELETE . '_event':
case self::SUBJECT_OBJECT_UPDATE . '_event':
return [
'actor' => $this->generateUserParameter($parameters[0]),
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
'event' => $this->generateObjectParameter($parameters[2]),
];
case self::SUBJECT_OBJECT_ADD . '_event_self':
case self::SUBJECT_OBJECT_DELETE . '_event_self':
case self::SUBJECT_OBJECT_UPDATE . '_event_self':
return [
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
'event' => $this->generateObjectParameter($parameters[2]),
];
}
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
index a665caa0e6..20d7afef02 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
@@ -87,6 +87,36 @@ class Todo extends Event {
$subject = $event->getSubject();
$parameters = $event->getSubjectParameters();
+ // Nextcloud 13+
+ if (isset($parameters['calendar'])) {
+ switch ($subject) {
+ case self::SUBJECT_OBJECT_ADD . '_todo':
+ case self::SUBJECT_OBJECT_DELETE . '_todo':
+ case self::SUBJECT_OBJECT_UPDATE . '_todo':
+ case self::SUBJECT_OBJECT_UPDATE . '_todo_completed':
+ case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ 'todo' => $this->generateObjectParameter($parameters['object']),
+ ];
+ case self::SUBJECT_OBJECT_ADD . '_todo_self':
+ case self::SUBJECT_OBJECT_DELETE . '_todo_self':
+ case self::SUBJECT_OBJECT_UPDATE . '_todo_self':
+ case self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self':
+ case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self':
+ return [
+ 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
+ 'todo' => $this->generateObjectParameter($parameters['object']),
+ ];
+ }
+ }
+
+ // Legacy - Do NOT Remove unless necessary
+ // Removing this will break parsing of activities that were created on
+ // Nextcloud 12, so we should keep this as long as it's acceptable.
+ // Otherwise if people upgrade over multiple releases in a short period,
+ // they will get the dead entries in their stream.
switch ($subject) {
case self::SUBJECT_OBJECT_ADD . '_todo':
case self::SUBJECT_OBJECT_DELETE . '_todo':
@@ -95,7 +125,7 @@ class Todo extends Event {
case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action':
return [
'actor' => $this->generateUserParameter($parameters[0]),
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
'todo' => $this->generateObjectParameter($parameters[2]),
];
case self::SUBJECT_OBJECT_ADD . '_todo_self':
@@ -104,7 +134,7 @@ class Todo extends Event {
case self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self':
case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self':
return [
- 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
+ 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
'todo' => $this->generateObjectParameter($parameters[2]),
];
}
diff --git a/apps/dav/lib/CalDAV/CalendarObject.php b/apps/dav/lib/CalDAV/CalendarObject.php
index 86aa2c98e8..c268b7410c 100644
--- a/apps/dav/lib/CalDAV/CalendarObject.php
+++ b/apps/dav/lib/CalDAV/CalendarObject.php
@@ -37,10 +37,24 @@ class CalendarObject extends \Sabre\CalDAV\CalendarObject {
*/
function get() {
$data = parent::get();
- if ($this->isShared() && $this->objectData['classification'] === CalDavBackend::CLASSIFICATION_CONFIDENTIAL) {
- return $this->createConfidentialObject($data);
+
+ if (!$this->isShared()) {
+ return $data;
}
- return $data;
+
+ $vObject = Reader::read($data);
+
+ // remove VAlarms if calendar is shared read-only
+ if (!$this->canWrite()) {
+ $this->removeVAlarms($vObject);
+ }
+
+ // shows as busy if event is declared confidential
+ if ($this->objectData['classification'] === CalDavBackend::CLASSIFICATION_CONFIDENTIAL) {
+ $this->createConfidentialObject($vObject);
+ }
+
+ return $vObject->serialize();
}
protected function isShared() {
@@ -52,13 +66,10 @@ class CalendarObject extends \Sabre\CalDAV\CalendarObject {
}
/**
- * @param string $calData
- * @return string
+ * @param Component\VCalendar $vObject
+ * @return void
*/
- private static function createConfidentialObject($calData) {
-
- $vObject = Reader::read($calData);
-
+ private static function createConfidentialObject(Component\VCalendar $vObject) {
/** @var Component $vElement */
$vElement = null;
if(isset($vObject->VEVENT)) {
@@ -92,8 +103,27 @@ class CalendarObject extends \Sabre\CalDAV\CalendarObject {
}
}
}
-
- return $vObject->serialize();
}
+ /**
+ * @param Component\VCalendar $vObject
+ * @return void
+ */
+ private function removeVAlarms(Component\VCalendar $vObject) {
+ $subcomponents = $vObject->getComponents();
+
+ foreach($subcomponents as $subcomponent) {
+ unset($subcomponent->VALARM);
+ }
+ }
+
+ /**
+ * @return bool
+ */
+ private function canWrite() {
+ if (isset($this->calendarInfo['{http://owncloud.org/ns}read-only'])) {
+ return !$this->calendarInfo['{http://owncloud.org/ns}read-only'];
+ }
+ return true;
+ }
}
diff --git a/apps/dav/templates/settings-admin-caldav.php b/apps/dav/templates/settings-admin-caldav.php
index 34d3517e8d..8dbe5b3841 100644
--- a/apps/dav/templates/settings-admin-caldav.php
+++ b/apps/dav/templates/settings-admin-caldav.php
@@ -35,6 +35,6 @@ script('dav', [
/>
- t('Please make sure to properly setup the email settings above.')); ?>
+ t('Please make sure to properly set up the email settings above.')); ?>
diff --git a/apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php b/apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php
index 3f3b744e5a..eef69aadf4 100644
--- a/apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php
+++ b/apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php
@@ -66,7 +66,7 @@ abstract class AbstractCalDavBackend extends TestCase {
$this->userManager = $this->createMock(IUserManager::class);
$this->groupManager = $this->createMock(IGroupManager::class);
$this->dispatcher = $this->createMock(EventDispatcherInterface::class);
- $this->principal = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Principal')
+ $this->principal = $this->getMockBuilder(Principal::class)
->disableOriginalConstructor()
->setMethods(['getPrincipalByPath', 'getGroupMembership'])
->getMock();
diff --git a/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php b/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php
index d8d15e8f1f..dd48d8172d 100644
--- a/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php
+++ b/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php
@@ -108,11 +108,13 @@ class BackendTest extends TestCase {
[Calendar::SUBJECT_ADD, [
'principaluri' => 'principal/user/admin',
'id' => 42,
+ 'uri' => 'this-uri',
'{DAV:}displayname' => 'Name of calendar',
], [], [], '', 'admin', null, ['admin']],
[Calendar::SUBJECT_ADD, [
'principaluri' => 'principal/user/admin',
'id' => 42,
+ 'uri' => 'this-uri',
'{DAV:}displayname' => 'Name of calendar',
], [], [], 'test2', 'test2', null, ['admin']],
@@ -122,17 +124,20 @@ class BackendTest extends TestCase {
[Calendar::SUBJECT_UPDATE, [
'principaluri' => 'principal/user/admin',
'id' => 42,
+ 'uri' => 'this-uri',
'{DAV:}displayname' => 'Name of calendar',
], ['shares'], [], '', 'admin', null, ['admin']],
// Visible change
[Calendar::SUBJECT_UPDATE, [
'principaluri' => 'principal/user/admin',
'id' => 42,
+ 'uri' => 'this-uri',
'{DAV:}displayname' => 'Name of calendar',
], ['shares'], ['{DAV:}displayname' => 'Name'], '', 'admin', ['user1'], ['user1', 'admin']],
[Calendar::SUBJECT_UPDATE, [
'principaluri' => 'principal/user/admin',
'id' => 42,
+ 'uri' => 'this-uri',
'{DAV:}displayname' => 'Name of calendar',
], ['shares'], ['{DAV:}displayname' => 'Name'], 'test2', 'test2', ['user1'], ['user1', 'admin']],
@@ -141,16 +146,19 @@ class BackendTest extends TestCase {
[Calendar::SUBJECT_DELETE, [
'principaluri' => 'principal/user/admin',
'id' => 42,
+ 'uri' => 'this-uri',
'{DAV:}displayname' => 'Name of calendar',
], ['shares'], [], '', 'admin', [], ['admin']],
[Calendar::SUBJECT_DELETE, [
'principaluri' => 'principal/user/admin',
'id' => 42,
+ 'uri' => 'this-uri',
'{DAV:}displayname' => 'Name of calendar',
], ['shares'], [], '', 'admin', ['user1'], ['user1', 'admin']],
[Calendar::SUBJECT_DELETE, [
'principaluri' => 'principal/user/admin',
'id' => 42,
+ 'uri' => 'this-uri',
'{DAV:}displayname' => 'Name of calendar',
], ['shares'], [], 'test2', 'test2', ['user1'], ['user1', 'admin']],
];
diff --git a/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php b/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php
index 85eb439f10..adffaf27de 100644
--- a/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php
+++ b/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php
@@ -24,6 +24,7 @@ namespace OCA\DAV\Tests\unit\CalDAV\Activity\Provider;
use OCA\DAV\CalDAV\Activity\Provider\Base;
use OCP\Activity\IEvent;
use OCP\Activity\IProvider;
+use OCP\IL10N;
use OCP\IUser;
use OCP\IUserManager;
use Test\TestCase;
@@ -112,6 +113,35 @@ class BaseTest extends TestCase {
}
public function dataGenerateCalendarParameter() {
+ return [
+ [['id' => 23, 'uri' => 'foo', 'name' => 'bar'], 'bar'],
+ [['id' => 42, 'uri' => 'foo', 'name' => 'Personal'], 'Personal'],
+ [['id' => 42, 'uri' => 'personal', 'name' => 'bar'], 'bar'],
+ [['id' => 42, 'uri' => 'personal', 'name' => 'Personal'], 't(Personal)'],
+ ];
+ }
+
+ /**
+ * @dataProvider dataGenerateCalendarParameter
+ * @param array $data
+ * @param string $name
+ */
+ public function testGenerateCalendarParameter(array $data, $name) {
+ $l = $this->createMock(IL10N::class);
+ $l->expects($this->any())
+ ->method('t')
+ ->willReturnCallback(function($string, $args) {
+ return 't(' . vsprintf($string, $args) . ')';
+ });
+
+ $this->assertEquals([
+ 'type' => 'calendar',
+ 'id' => $data['id'],
+ 'name' => $name,
+ ], $this->invokePrivate($this->provider, 'generateCalendarParameter', [$data, $l]));
+ }
+
+ public function dataGenerateLegacyCalendarParameter() {
return [
[23, 'c1'],
[42, 'c2'],
@@ -119,16 +149,16 @@ class BaseTest extends TestCase {
}
/**
- * @dataProvider dataGenerateCalendarParameter
+ * @dataProvider dataGenerateLegacyCalendarParameter
* @param int $id
* @param string $name
*/
- public function testGenerateCalendarParameter($id, $name) {
+ public function testGenerateLegacyCalendarParameter($id, $name) {
$this->assertEquals([
'type' => 'calendar',
'id' => $id,
'name' => $name,
- ], $this->invokePrivate($this->provider, 'generateCalendarParameter', [$id, $name]));
+ ], $this->invokePrivate($this->provider, 'generateLegacyCalendarParameter', [$id, $name]));
}
public function dataGenerateGroupParameter() {
diff --git a/apps/dav/tests/unit/CalDAV/CalendarTest.php b/apps/dav/tests/unit/CalDAV/CalendarTest.php
index d9ea25b268..3fb29fd0c6 100644
--- a/apps/dav/tests/unit/CalDAV/CalendarTest.php
+++ b/apps/dav/tests/unit/CalDAV/CalendarTest.php
@@ -38,7 +38,7 @@ class CalendarTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->l10n = $this->getMockBuilder('\OCP\IL10N')
+ $this->l10n = $this->getMockBuilder(IL10N::class)
->disableOriginalConstructor()->getMock();
$this->l10n
->expects($this->any())
@@ -381,4 +381,184 @@ EOD;
[2, true]
];
}
+
+ public function testRemoveVAlarms() {
+ $publicObjectData = << 'event-0',
+ 'classification' => CalDavBackend::CLASSIFICATION_PUBLIC,
+ 'calendardata' => $publicObjectData];
+
+ $confidentialObject = ['uri' => 'event-1',
+ 'classification' => CalDavBackend::CLASSIFICATION_CONFIDENTIAL,
+ 'calendardata' => $confidentialObjectData];
+
+ /** @var \PHPUnit_Framework_MockObject_MockObject | CalDavBackend $backend */
+ $backend = $this->createMock(CalDavBackend::class);
+ $backend->expects($this->any())
+ ->method('getCalendarObjects')
+ ->willReturn([$publicObject, $confidentialObject]);
+
+ $backend->expects($this->any())
+ ->method('getMultipleCalendarObjects')
+ ->with(666, ['event-0', 'event-1'])
+ ->willReturn([$publicObject, $confidentialObject]);
+
+ $backend->expects($this->any())
+ ->method('getCalendarObject')
+ ->will($this->returnCallback(function($cId, $uri) use($publicObject, $confidentialObject) {
+ switch($uri) {
+ case 'event-0':
+ return $publicObject;
+
+ case 'event-1':
+ return $confidentialObject;
+
+ default:
+ throw new \Exception('unexpected uri');
+ }
+ }));
+
+ $backend->expects($this->any())
+ ->method('applyShareAcl')
+ ->willReturnArgument(1);
+
+ $calendarInfoOwner = [
+ '{http://owncloud.org/ns}owner-principal' => 'user1',
+ 'principaluri' => 'user1',
+ 'id' => 666,
+ 'uri' => 'cal',
+ ];
+ $calendarInfoSharedRW = [
+ '{http://owncloud.org/ns}owner-principal' => 'user1',
+ 'principaluri' => 'user2',
+ 'id' => 666,
+ 'uri' => 'cal',
+ ];
+ $calendarInfoSharedRO = [
+ '{http://owncloud.org/ns}owner-principal' => 'user1',
+ '{http://owncloud.org/ns}read-only' => true,
+ 'principaluri' => 'user2',
+ 'id' => 666,
+ 'uri' => 'cal',
+ ];
+
+ $ownerCalendar = new Calendar($backend, $calendarInfoOwner, $this->l10n);
+ $rwCalendar = new Calendar($backend, $calendarInfoSharedRW, $this->l10n);
+ $roCalendar = new Calendar($backend, $calendarInfoSharedRO, $this->l10n);
+
+ $this->assertEquals(count($ownerCalendar->getChildren()), 2);
+ $this->assertEquals(count($rwCalendar->getChildren()), 2);
+ $this->assertEquals(count($roCalendar->getChildren()), 2);
+
+ // calendar data shall not be altered for the owner
+ $this->assertEquals($ownerCalendar->getChild('event-0')->get(), $publicObjectData);
+ $this->assertEquals($ownerCalendar->getChild('event-1')->get(), $confidentialObjectData);
+
+ // valarms shall not be removed for read-write shares
+ $this->assertEquals(
+ $this->fixLinebreak($rwCalendar->getChild('event-0')->get()),
+ $this->fixLinebreak($publicObjectData));
+ $this->assertEquals(
+ $this->fixLinebreak($rwCalendar->getChild('event-1')->get()),
+ $this->fixLinebreak($confidentialObjectCleaned));
+
+ // valarms shall be removed for read-only shares
+ $this->assertEquals(
+ $this->fixLinebreak($roCalendar->getChild('event-0')->get()),
+ $this->fixLinebreak($publicObjectDataWithoutVAlarm));
+ $this->assertEquals(
+ $this->fixLinebreak($roCalendar->getChild('event-1')->get()),
+ $this->fixLinebreak($confidentialObjectCleaned));
+
+ }
+
+ private function fixLinebreak($str) {
+ return preg_replace('~(*BSR_ANYCRLF)\R~', "\r\n", $str);
+ }
}
diff --git a/apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php b/apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php
index ec767f3dbd..29ab503e08 100644
--- a/apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php
+++ b/apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php
@@ -65,7 +65,7 @@ class PublicCalendarRootTest extends TestCase {
$this->publicCalendarRoot = new PublicCalendarRoot($this->backend);
- $this->l10n = $this->getMockBuilder('\OCP\IL10N')
+ $this->l10n = $this->getMockBuilder(IL10N::class)
->disableOriginalConstructor()->getMock();
}
diff --git a/apps/dav/tests/unit/CalDAV/Publishing/PublishingTest.php b/apps/dav/tests/unit/CalDAV/Publishing/PublishingTest.php
index 69de507dac..b60c567e9f 100644
--- a/apps/dav/tests/unit/CalDAV/Publishing/PublishingTest.php
+++ b/apps/dav/tests/unit/CalDAV/Publishing/PublishingTest.php
@@ -29,14 +29,14 @@ class PluginTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->config = $this->getMockBuilder('\OCP\IConfig')->
+ $this->config = $this->getMockBuilder(IConfig::class)->
disableOriginalConstructor()->
getMock();
$this->config->expects($this->any())->method('getSystemValue')
->with($this->equalTo('secret'))
->willReturn('mysecret');
- $this->urlGenerator = $this->getMockBuilder('OCP\IURLGenerator')->
+ $this->urlGenerator = $this->getMockBuilder(IURLGenerator::class)->
disableOriginalConstructor()->
getMock();
@@ -46,7 +46,7 @@ class PluginTest extends TestCase {
$root = new SimpleCollection('calendars');
$this->server = new Server($root);
/** @var SimpleCollection $node */
- $this->book = $this->getMockBuilder('OCA\DAV\CalDAV\Calendar')->
+ $this->book = $this->getMockBuilder(Calendar::class)->
disableOriginalConstructor()->
getMock();
$this->book->method('getName')->willReturn('cal1');
diff --git a/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php b/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php
index 56eb00406d..894617781b 100644
--- a/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php
+++ b/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php
@@ -38,11 +38,11 @@ class IMipPluginTest extends TestCase {
public function testDelivery() {
$mailMessage = new \OC\Mail\Message(new \Swift_Message());
/** @var Mailer | \PHPUnit_Framework_MockObject_MockObject $mailer */
- $mailer = $this->getMockBuilder('OC\Mail\Mailer')->disableOriginalConstructor()->getMock();
+ $mailer = $this->getMockBuilder(Mailer::class)->disableOriginalConstructor()->getMock();
$mailer->method('createMessage')->willReturn($mailMessage);
$mailer->expects($this->once())->method('send');
/** @var ILogger | \PHPUnit_Framework_MockObject_MockObject $logger */
- $logger = $this->getMockBuilder('OC\Log')->disableOriginalConstructor()->getMock();
+ $logger = $this->getMockBuilder(ILogger::class)->disableOriginalConstructor()->getMock();
$timeFactory = $this->getMockBuilder(ITimeFactory::class)->disableOriginalConstructor()->getMock();
$timeFactory->method('getTime')->willReturn(1);
@@ -70,11 +70,11 @@ class IMipPluginTest extends TestCase {
public function testFailedDelivery() {
$mailMessage = new \OC\Mail\Message(new \Swift_Message());
/** @var Mailer | \PHPUnit_Framework_MockObject_MockObject $mailer */
- $mailer = $this->getMockBuilder('OC\Mail\Mailer')->disableOriginalConstructor()->getMock();
+ $mailer = $this->getMockBuilder(Mailer::class)->disableOriginalConstructor()->getMock();
$mailer->method('createMessage')->willReturn($mailMessage);
$mailer->method('send')->willThrowException(new \Exception());
/** @var ILogger | \PHPUnit_Framework_MockObject_MockObject $logger */
- $logger = $this->getMockBuilder('OC\Log')->disableOriginalConstructor()->getMock();
+ $logger = $this->getMockBuilder(ILogger::class)->disableOriginalConstructor()->getMock();
$timeFactory = $this->getMockBuilder(ITimeFactory::class)->disableOriginalConstructor()->getMock();
$timeFactory->method('getTime')->willReturn(1);
@@ -105,7 +105,7 @@ class IMipPluginTest extends TestCase {
public function testNoMessageSendForPastEvents($veventParams, $expectsMail) {
$mailMessage = new \OC\Mail\Message(new \Swift_Message());
/** @var Mailer | \PHPUnit_Framework_MockObject_MockObject $mailer */
- $mailer = $this->getMockBuilder('OC\Mail\Mailer')->disableOriginalConstructor()->getMock();
+ $mailer = $this->getMockBuilder(Mailer::class)->disableOriginalConstructor()->getMock();
$mailer->method('createMessage')->willReturn($mailMessage);
if ($expectsMail) {
$mailer->expects($this->once())->method('send');
@@ -113,7 +113,7 @@ class IMipPluginTest extends TestCase {
$mailer->expects($this->never())->method('send');
}
/** @var ILogger | \PHPUnit_Framework_MockObject_MockObject $logger */
- $logger = $this->getMockBuilder('OC\Log')->disableOriginalConstructor()->getMock();
+ $logger = $this->getMockBuilder(ILogger::class)->disableOriginalConstructor()->getMock();
$timeFactory = $this->getMockBuilder(ITimeFactory::class)->disableOriginalConstructor()->getMock();
$timeFactory->method('getTime')->willReturn(1496912528);
diff --git a/apps/dav/tests/unit/CardDAV/AddressBookTest.php b/apps/dav/tests/unit/CardDAV/AddressBookTest.php
index 132fa4796d..0e3d7c6f9b 100644
--- a/apps/dav/tests/unit/CardDAV/AddressBookTest.php
+++ b/apps/dav/tests/unit/CardDAV/AddressBookTest.php
@@ -33,7 +33,7 @@ class AddressBookTest extends TestCase {
public function testDelete() {
/** @var \PHPUnit_Framework_MockObject_MockObject | CardDavBackend $backend */
- $backend = $this->getMockBuilder('OCA\DAV\CardDAV\CardDavBackend')->disableOriginalConstructor()->getMock();
+ $backend = $this->getMockBuilder(CardDavBackend::class)->disableOriginalConstructor()->getMock();
$backend->expects($this->once())->method('updateShares');
$backend->expects($this->any())->method('getShares')->willReturn([
['href' => 'principal:user2']
@@ -55,7 +55,7 @@ class AddressBookTest extends TestCase {
*/
public function testDeleteFromGroup() {
/** @var \PHPUnit_Framework_MockObject_MockObject | CardDavBackend $backend */
- $backend = $this->getMockBuilder('OCA\DAV\CardDAV\CardDavBackend')->disableOriginalConstructor()->getMock();
+ $backend = $this->getMockBuilder(CardDavBackend::class)->disableOriginalConstructor()->getMock();
$backend->expects($this->never())->method('updateShares');
$backend->expects($this->any())->method('getShares')->willReturn([
['href' => 'principal:group2']
@@ -77,7 +77,7 @@ class AddressBookTest extends TestCase {
*/
public function testPropPatch() {
/** @var \PHPUnit_Framework_MockObject_MockObject | CardDavBackend $backend */
- $backend = $this->getMockBuilder('OCA\DAV\CardDAV\CardDavBackend')->disableOriginalConstructor()->getMock();
+ $backend = $this->getMockBuilder(CardDavBackend::class)->disableOriginalConstructor()->getMock();
$calendarInfo = [
'{http://owncloud.org/ns}owner-principal' => 'user1',
'{DAV:}displayname' => 'Test address book',
@@ -95,7 +95,7 @@ class AddressBookTest extends TestCase {
*/
public function testAcl($expectsWrite, $readOnlyValue, $hasOwnerSet) {
/** @var \PHPUnit_Framework_MockObject_MockObject | CardDavBackend $backend */
- $backend = $this->getMockBuilder('OCA\DAV\CardDAV\CardDavBackend')->disableOriginalConstructor()->getMock();
+ $backend = $this->getMockBuilder(CardDavBackend::class)->disableOriginalConstructor()->getMock();
$backend->expects($this->any())->method('applyShareAcl')->willReturnArgument(1);
$calendarInfo = [
'{DAV:}displayname' => 'Test address book',
diff --git a/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php b/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
index 992445392d..a8c0ce9d9c 100644
--- a/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
+++ b/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
@@ -85,7 +85,7 @@ class CardDavBackendTest extends TestCase {
$this->userManager = $this->createMock(IUserManager::class);
$this->groupManager = $this->createMock(IGroupManager::class);
- $this->principal = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Principal')
+ $this->principal = $this->getMockBuilder(Principal::class)
->disableOriginalConstructor()
->setMethods(['getPrincipalByPath', 'getGroupMembership'])
->getMock();
diff --git a/apps/dav/tests/unit/CardDAV/ContactsManagerTest.php b/apps/dav/tests/unit/CardDAV/ContactsManagerTest.php
index a6f0384cc3..7a773ac999 100644
--- a/apps/dav/tests/unit/CardDAV/ContactsManagerTest.php
+++ b/apps/dav/tests/unit/CardDAV/ContactsManagerTest.php
@@ -28,16 +28,17 @@ use OCA\DAV\CardDAV\CardDavBackend;
use OCA\DAV\CardDAV\ContactsManager;
use OCP\Contacts\IManager;
use OCP\IL10N;
+use OCP\IURLGenerator;
use Test\TestCase;
class ContactsManagerTest extends TestCase {
public function test() {
/** @var IManager | \PHPUnit_Framework_MockObject_MockObject $cm */
- $cm = $this->getMockBuilder('OCP\Contacts\IManager')->disableOriginalConstructor()->getMock();
+ $cm = $this->getMockBuilder(IManager::class)->disableOriginalConstructor()->getMock();
$cm->expects($this->exactly(2))->method('registerAddressBook');
- $urlGenerator = $this->getMockBuilder('OCP\IUrlGenerator')->disableOriginalConstructor()->getMock();
+ $urlGenerator = $this->getMockBuilder(IURLGenerator::class)->disableOriginalConstructor()->getMock();
/** @var CardDavBackend | \PHPUnit_Framework_MockObject_MockObject $backEnd */
- $backEnd = $this->getMockBuilder('OCA\DAV\CardDAV\CardDavBackend')->disableOriginalConstructor()->getMock();
+ $backEnd = $this->getMockBuilder(CardDavBackend::class)->disableOriginalConstructor()->getMock();
$backEnd->method('getAddressBooksForUser')->willReturn([
['{DAV:}displayname' => 'Test address book', 'uri' => 'default'],
]);
diff --git a/apps/dav/tests/unit/CardDAV/ConverterTest.php b/apps/dav/tests/unit/CardDAV/ConverterTest.php
index 39853cfd5c..9ab0631e93 100644
--- a/apps/dav/tests/unit/CardDAV/ConverterTest.php
+++ b/apps/dav/tests/unit/CardDAV/ConverterTest.php
@@ -46,15 +46,15 @@ class ConverterTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->databaseConnection = $this->getMockBuilder('OCP\IDBConnection')->getMock();
- $this->eventDispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
+ $this->databaseConnection = $this->getMockBuilder(IDBConnection::class)->getMock();
+ $this->eventDispatcher = $this->getMockBuilder(EventDispatcher::class)
->disableOriginalConstructor()->getMock();
- $this->accountManager = $this->getMockBuilder('OC\Accounts\AccountManager')
+ $this->accountManager = $this->getMockBuilder(AccountManager::class)
->disableOriginalConstructor()->getMock();
}
public function getAccountManager(IUser $user) {
- $accountManager = $this->getMockBuilder('OC\Accounts\AccountManager')
+ $accountManager = $this->getMockBuilder(AccountManager::class)
->disableOriginalConstructor()->getMock();
$accountManager->expects($this->any())->method('getUser')->willReturn(
[
diff --git a/apps/dav/tests/unit/CardDAV/Sharing/PluginTest.php b/apps/dav/tests/unit/CardDAV/Sharing/PluginTest.php
index 0004907586..4d4070511b 100644
--- a/apps/dav/tests/unit/CardDAV/Sharing/PluginTest.php
+++ b/apps/dav/tests/unit/CardDAV/Sharing/PluginTest.php
@@ -47,17 +47,17 @@ class PluginTest extends TestCase {
parent::setUp();
/** @var Auth | \PHPUnit_Framework_MockObject_MockObject $authBackend */
- $authBackend = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Auth')->disableOriginalConstructor()->getMock();
+ $authBackend = $this->getMockBuilder(Auth::class)->disableOriginalConstructor()->getMock();
$authBackend->method('isDavAuthenticated')->willReturn(true);
/** @var IRequest $request */
- $request = $this->getMockBuilder('OCP\IRequest')->disableOriginalConstructor()->getMock();
+ $request = $this->getMockBuilder(IRequest::class)->disableOriginalConstructor()->getMock();
$this->plugin = new Plugin($authBackend, $request);
$root = new SimpleCollection('root');
$this->server = new \Sabre\DAV\Server($root);
/** @var SimpleCollection $node */
- $this->book = $this->getMockBuilder('OCA\DAV\DAV\Sharing\IShareable')->disableOriginalConstructor()->getMock();
+ $this->book = $this->getMockBuilder(IShareable::class)->disableOriginalConstructor()->getMock();
$this->book->method('getName')->willReturn('addressbook1.vcf');
$root->addChild($this->book);
$this->plugin->initialize($this->server);
diff --git a/apps/dav/tests/unit/CardDAV/SyncServiceTest.php b/apps/dav/tests/unit/CardDAV/SyncServiceTest.php
index 32f8a2424b..debc923806 100644
--- a/apps/dav/tests/unit/CardDAV/SyncServiceTest.php
+++ b/apps/dav/tests/unit/CardDAV/SyncServiceTest.php
@@ -28,6 +28,7 @@ namespace OCA\DAV\Tests\unit\CardDAV;
use OC\Accounts\AccountManager;
use OCA\DAV\CardDAV\CardDavBackend;
use OCA\DAV\CardDAV\SyncService;
+use OCP\ILogger;
use OCP\IUser;
use OCP\IUserManager;
use Test\TestCase;
@@ -75,9 +76,9 @@ class SyncServiceTest extends TestCase {
$backend->expects($this->at(1))->method('getAddressBooksByUri')->willReturn([]);
/** @var IUserManager $userManager */
- $userManager = $this->getMockBuilder('OCP\IUserManager')->disableOriginalConstructor()->getMock();
- $logger = $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock();
- $accountManager = $this->getMockBuilder('OC\Accounts\AccountManager')->disableOriginalConstructor()->getMock();
+ $userManager = $this->getMockBuilder(IUserManager::class)->disableOriginalConstructor()->getMock();
+ $logger = $this->getMockBuilder(ILogger::class)->disableOriginalConstructor()->getMock();
+ $accountManager = $this->getMockBuilder(AccountManager::class)->disableOriginalConstructor()->getMock();
$ss = new SyncService($backend, $userManager, $logger, $accountManager);
$book = $ss->ensureSystemAddressBookExists('principals/users/adam', 'contacts', []);
}
@@ -85,7 +86,7 @@ class SyncServiceTest extends TestCase {
public function testUpdateAndDeleteUser() {
/** @var CardDavBackend | \PHPUnit_Framework_MockObject_MockObject $backend */
$backend = $this->getMockBuilder(CardDavBackend::class)->disableOriginalConstructor()->getMock();
- $logger = $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock();
+ $logger = $this->getMockBuilder(ILogger::class)->disableOriginalConstructor()->getMock();
$backend->expects($this->once())->method('createCard');
$backend->expects($this->once())->method('updateCard');
@@ -96,15 +97,15 @@ class SyncServiceTest extends TestCase {
]);
/** @var IUserManager | \PHPUnit_Framework_MockObject_MockObject $userManager */
- $userManager = $this->getMockBuilder('OCP\IUserManager')->disableOriginalConstructor()->getMock();
+ $userManager = $this->getMockBuilder(IUserManager::class)->disableOriginalConstructor()->getMock();
/** @var IUser | \PHPUnit_Framework_MockObject_MockObject $user */
- $user = $this->getMockBuilder('OCP\IUser')->disableOriginalConstructor()->getMock();
+ $user = $this->getMockBuilder(IUser::class)->disableOriginalConstructor()->getMock();
$user->method('getBackendClassName')->willReturn('unittest');
$user->method('getUID')->willReturn('test-user');
$user->method('getCloudId')->willReturn('cloudId');
$user->method('getDisplayName')->willReturn('test-user');
- $accountManager = $this->getMockBuilder('OC\Accounts\AccountManager')->disableOriginalConstructor()->getMock();
+ $accountManager = $this->getMockBuilder(AccountManager::class)->disableOriginalConstructor()->getMock();
$accountManager->expects($this->any())->method('getUser')
->willReturn([
AccountManager::PROPERTY_DISPLAYNAME =>
@@ -174,9 +175,9 @@ class SyncServiceTest extends TestCase {
* @return SyncService|\PHPUnit_Framework_MockObject_MockObject
*/
private function getSyncServiceMock($backend, $response) {
- $userManager = $this->getMockBuilder('OCP\IUserManager')->disableOriginalConstructor()->getMock();
- $logger = $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock();
- $accountManager = $this->getMockBuilder('OC\Accounts\AccountManager')->disableOriginalConstructor()->getMock();
+ $userManager = $this->getMockBuilder(IUserManager::class)->disableOriginalConstructor()->getMock();
+ $logger = $this->getMockBuilder(ILogger::class)->disableOriginalConstructor()->getMock();
+ $accountManager = $this->getMockBuilder(AccountManager::class)->disableOriginalConstructor()->getMock();
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $ss */
$ss = $this->getMockBuilder(SyncService::class)
->setMethods(['ensureSystemAddressBookExists', 'requestSyncReport', 'download', 'getCertPath'])
diff --git a/apps/dav/tests/unit/Comments/CommentsNodeTest.php b/apps/dav/tests/unit/Comments/CommentsNodeTest.php
index 226aa57598..a0ff029efa 100644
--- a/apps/dav/tests/unit/Comments/CommentsNodeTest.php
+++ b/apps/dav/tests/unit/Comments/CommentsNodeTest.php
@@ -26,8 +26,14 @@
namespace OCA\DAV\Tests\unit\Comments;
use OCA\DAV\Comments\CommentNode;
+use OCP\Comments\IComment;
use OCP\Comments\ICommentsManager;
use OCP\Comments\MessageTooLongException;
+use OCP\ILogger;
+use OCP\IUser;
+use OCP\IUserManager;
+use OCP\IUserSession;
+use Sabre\DAV\PropPatch;
class CommentsNodeTest extends \Test\TestCase {
@@ -43,19 +49,19 @@ class CommentsNodeTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->commentsManager = $this->getMockBuilder('\OCP\Comments\ICommentsManager')
+ $this->commentsManager = $this->getMockBuilder(ICommentsManager::class)
->disableOriginalConstructor()
->getMock();
- $this->comment = $this->getMockBuilder('\OCP\Comments\IComment')
+ $this->comment = $this->getMockBuilder(IComment::class)
->disableOriginalConstructor()
->getMock();
- $this->userManager = $this->getMockBuilder('\OCP\IUserManager')
+ $this->userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $this->userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
- $this->logger = $this->getMockBuilder('\OCP\ILogger')
+ $this->logger = $this->getMockBuilder(ILogger::class)
->disableOriginalConstructor()
->getMock();
@@ -69,7 +75,7 @@ class CommentsNodeTest extends \Test\TestCase {
}
public function testDelete() {
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
@@ -104,7 +110,7 @@ class CommentsNodeTest extends \Test\TestCase {
* @expectedException \Sabre\DAV\Exception\Forbidden
*/
public function testDeleteForbidden() {
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
@@ -156,7 +162,7 @@ class CommentsNodeTest extends \Test\TestCase {
public function testUpdateComment() {
$msg = 'Hello Earth';
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
@@ -188,13 +194,13 @@ class CommentsNodeTest extends \Test\TestCase {
}
/**
- * @expectedException Exception
+ * @expectedException \Exception
* @expectedExceptionMessage buh!
*/
public function testUpdateCommentLogException() {
$msg = null;
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
@@ -233,7 +239,7 @@ class CommentsNodeTest extends \Test\TestCase {
* @expectedExceptionMessage Message exceeds allowed character limit of
*/
public function testUpdateCommentMessageTooLongException() {
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
@@ -273,7 +279,7 @@ class CommentsNodeTest extends \Test\TestCase {
public function testUpdateForbiddenByUser() {
$msg = 'HaXX0r';
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
@@ -308,7 +314,7 @@ class CommentsNodeTest extends \Test\TestCase {
public function testUpdateForbiddenByType() {
$msg = 'HaXX0r';
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
@@ -356,7 +362,7 @@ class CommentsNodeTest extends \Test\TestCase {
}
public function testPropPatch() {
- $propPatch = $this->getMockBuilder('Sabre\DAV\PropPatch')
+ $propPatch = $this->getMockBuilder(PropPatch::class)
->disableOriginalConstructor()
->getMock();
@@ -461,7 +467,7 @@ class CommentsNodeTest extends \Test\TestCase {
->method('getObjectId')
->will($this->returnValue($expected[$ns . 'objectId']));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->once())
@@ -515,7 +521,7 @@ class CommentsNodeTest extends \Test\TestCase {
$this->userSession->expects($this->once())
->method('getUser')
->will($this->returnValue(
- $this->getMockBuilder('\OCP\IUser')
+ $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock()
));
diff --git a/apps/dav/tests/unit/Comments/CommentsPluginTest.php b/apps/dav/tests/unit/Comments/CommentsPluginTest.php
index 265afad96c..e0f7a09a50 100644
--- a/apps/dav/tests/unit/Comments/CommentsPluginTest.php
+++ b/apps/dav/tests/unit/Comments/CommentsPluginTest.php
@@ -27,19 +27,27 @@ namespace OCA\DAV\Tests\unit\Comments;
use OC\Comments\Comment;
use OCA\DAV\Comments\CommentsPlugin as CommentsPluginImplementation;
+use OCA\DAV\Comments\EntityCollection;
use OCP\Comments\IComment;
+use OCP\Comments\ICommentsManager;
+use OCP\IUser;
+use OCP\IUserSession;
+use Sabre\DAV\INode;
+use Sabre\DAV\Tree;
+use Sabre\HTTP\RequestInterface;
+use Sabre\HTTP\ResponseInterface;
class CommentsPluginTest extends \Test\TestCase {
/** @var \Sabre\DAV\Server */
private $server;
- /** @var \Sabre\DAV\Tree */
+ /** @var Tree */
private $tree;
- /** @var \OCP\Comments\ICommentsManager */
+ /** @var ICommentsManager */
private $commentsManager;
- /** @var \OCP\IUserSession */
+ /** @var IUserSession */
private $userSession;
/** @var CommentsPluginImplementation */
@@ -47,7 +55,7 @@ class CommentsPluginTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
+ $this->tree = $this->getMockBuilder(Tree::class)
->disableOriginalConstructor()
->getMock();
@@ -56,10 +64,10 @@ class CommentsPluginTest extends \Test\TestCase {
->setMethods(['getRequestUri'])
->getMock();
- $this->commentsManager = $this->getMockBuilder('\OCP\Comments\ICommentsManager')
+ $this->commentsManager = $this->getMockBuilder(ICommentsManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $this->userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
@@ -85,14 +93,14 @@ class CommentsPluginTest extends \Test\TestCase {
$requestData = json_encode($commentData);
- $user = $this->getMockBuilder('OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->once())
->method('getUID')
->will($this->returnValue('alice'));
- $node = $this->getMockBuilder('\OCA\DAV\Comments\EntityCollection')
+ $node = $this->getMockBuilder(EntityCollection::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -124,11 +132,11 @@ class CommentsPluginTest extends \Test\TestCase {
->with('/' . $path)
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -181,13 +189,13 @@ class CommentsPluginTest extends \Test\TestCase {
$path = 'comments/files/666';
- $user = $this->getMockBuilder('OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->never())
->method('getUID');
- $node = $this->getMockBuilder('\OCA\DAV\Comments\EntityCollection')
+ $node = $this->getMockBuilder(EntityCollection::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->never())
@@ -210,11 +218,11 @@ class CommentsPluginTest extends \Test\TestCase {
->with('/' . $path)
->will($this->throwException(new \Sabre\DAV\Exception\NotFound()));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -265,13 +273,13 @@ class CommentsPluginTest extends \Test\TestCase {
$requestData = json_encode($commentData);
- $user = $this->getMockBuilder('OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->never())
->method('getUID');
- $node = $this->getMockBuilder('\OCA\DAV\Comments\EntityCollection')
+ $node = $this->getMockBuilder(EntityCollection::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -296,11 +304,11 @@ class CommentsPluginTest extends \Test\TestCase {
->with('/' . $path)
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -353,13 +361,13 @@ class CommentsPluginTest extends \Test\TestCase {
$requestData = json_encode($commentData);
- $user = $this->getMockBuilder('OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->never())
->method('getUID');
- $node = $this->getMockBuilder('\OCA\DAV\Comments\EntityCollection')
+ $node = $this->getMockBuilder(EntityCollection::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -384,11 +392,11 @@ class CommentsPluginTest extends \Test\TestCase {
->with('/' . $path)
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -443,14 +451,14 @@ class CommentsPluginTest extends \Test\TestCase {
$requestData = json_encode($commentData);
- $user = $this->getMockBuilder('OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->once())
->method('getUID')
->will($this->returnValue('alice'));
- $node = $this->getMockBuilder('\OCA\DAV\Comments\EntityCollection')
+ $node = $this->getMockBuilder(EntityCollection::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -478,11 +486,11 @@ class CommentsPluginTest extends \Test\TestCase {
->with('/' . $path)
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -537,14 +545,14 @@ class CommentsPluginTest extends \Test\TestCase {
$requestData = json_encode($commentData);
- $user = $this->getMockBuilder('OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->once())
->method('getUID')
->will($this->returnValue('alice'));
- $node = $this->getMockBuilder('\OCA\DAV\Comments\EntityCollection')
+ $node = $this->getMockBuilder(EntityCollection::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -575,11 +583,11 @@ class CommentsPluginTest extends \Test\TestCase {
->with('/' . $path)
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -617,7 +625,7 @@ class CommentsPluginTest extends \Test\TestCase {
->method('getNodeForPath')
->with('/' . $path)
->will($this->returnValue(
- $this->getMockBuilder('\Sabre\DAV\INode')
+ $this->getMockBuilder(INode::class)
->disableOriginalConstructor()
->getMock()
));
@@ -640,7 +648,7 @@ class CommentsPluginTest extends \Test\TestCase {
->method('getNodeForPath')
->with('/' . $path)
->will($this->returnValue(
- $this->getMockBuilder('\Sabre\DAV\INode')
+ $this->getMockBuilder(INode::class)
->disableOriginalConstructor()
->getMock()
));
@@ -671,7 +679,7 @@ class CommentsPluginTest extends \Test\TestCase {
]
];
- $node = $this->getMockBuilder('\OCA\DAV\Comments\EntityCollection')
+ $node = $this->getMockBuilder(EntityCollection::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -679,7 +687,7 @@ class CommentsPluginTest extends \Test\TestCase {
->with(5, 10, null)
->will($this->returnValue([]));
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -726,7 +734,7 @@ class CommentsPluginTest extends \Test\TestCase {
]
];
- $node = $this->getMockBuilder('\OCA\DAV\Comments\EntityCollection')
+ $node = $this->getMockBuilder(EntityCollection::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -734,7 +742,7 @@ class CommentsPluginTest extends \Test\TestCase {
->with(5, 10, new \DateTime($parameters[2]['value']))
->will($this->returnValue([]));
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/Comments/EntityCollectionTest.php b/apps/dav/tests/unit/Comments/EntityCollectionTest.php
index c4e343d49d..0cac135843 100644
--- a/apps/dav/tests/unit/Comments/EntityCollectionTest.php
+++ b/apps/dav/tests/unit/Comments/EntityCollectionTest.php
@@ -24,32 +24,39 @@
namespace OCA\DAV\Tests\unit\Comments;
+use OCA\DAV\Comments\EntityCollection;
+use OCP\Comments\IComment;
+use OCP\Comments\ICommentsManager;
+use OCP\ILogger;
+use OCP\IUserManager;
+use OCP\IUserSession;
+
class EntityCollectionTest extends \Test\TestCase {
/** @var \OCP\Comments\ICommentsManager|\PHPUnit_Framework_MockObject_MockObject */
protected $commentsManager;
- /** @var \OCP\IUserManager|\PHPUnit_Framework_MockObject_MockObject */
+ /** @var IUserManager|\PHPUnit_Framework_MockObject_MockObject */
protected $userManager;
- /** @var \OCP\ILogger|\PHPUnit_Framework_MockObject_MockObject */
+ /** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */
protected $logger;
- /** @var \OCA\DAV\Comments\EntityCollection */
+ /** @var EntityCollection */
protected $collection;
- /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */
+ /** @var IUserSession|\PHPUnit_Framework_MockObject_MockObject */
protected $userSession;
public function setUp() {
parent::setUp();
- $this->commentsManager = $this->getMockBuilder('\OCP\Comments\ICommentsManager')
+ $this->commentsManager = $this->getMockBuilder(ICommentsManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userManager = $this->getMockBuilder('\OCP\IUserManager')
+ $this->userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $this->userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
- $this->logger = $this->getMockBuilder('\OCP\ILogger')
+ $this->logger = $this->getMockBuilder(ILogger::class)
->disableOriginalConstructor()
->getMock();
@@ -72,7 +79,7 @@ class EntityCollectionTest extends \Test\TestCase {
->method('get')
->with('55')
->will($this->returnValue(
- $this->getMockBuilder('\OCP\Comments\IComment')
+ $this->getMockBuilder(IComment::class)
->disableOriginalConstructor()
->getMock()
));
@@ -98,7 +105,7 @@ class EntityCollectionTest extends \Test\TestCase {
->method('getForObject')
->with('files', '19')
->will($this->returnValue([
- $this->getMockBuilder('\OCP\Comments\IComment')
+ $this->getMockBuilder(IComment::class)
->disableOriginalConstructor()
->getMock()
]));
@@ -115,7 +122,7 @@ class EntityCollectionTest extends \Test\TestCase {
->method('getForObject')
->with('files', '19', 5, 15, $dt)
->will($this->returnValue([
- $this->getMockBuilder('\OCP\Comments\IComment')
+ $this->getMockBuilder(IComment::class)
->disableOriginalConstructor()
->getMock()
]));
diff --git a/apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php b/apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php
index 17c4f70fa7..c63d95ad53 100644
--- a/apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php
+++ b/apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php
@@ -25,10 +25,14 @@
namespace OCA\DAV\Tests\unit\Comments;
use OCA\DAV\Comments\EntityCollection as EntityCollectionImplemantation;
+use OCP\Comments\ICommentsManager;
+use OCP\ILogger;
+use OCP\IUserManager;
+use OCP\IUserSession;
class EntityTypeCollectionTest extends \Test\TestCase {
- /** @var \OCP\Comments\ICommentsManager|\PHPUnit_Framework_MockObject_MockObject */
+ /** @var ICommentsManager|\PHPUnit_Framework_MockObject_MockObject */
protected $commentsManager;
/** @var \OCP\IUserManager|\PHPUnit_Framework_MockObject_MockObject */
protected $userManager;
@@ -36,7 +40,7 @@ class EntityTypeCollectionTest extends \Test\TestCase {
protected $logger;
/** @var \OCA\DAV\Comments\EntityTypeCollection */
protected $collection;
- /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */
+ /** @var IUserSession|\PHPUnit_Framework_MockObject_MockObject */
protected $userSession;
protected $childMap = [];
@@ -44,16 +48,16 @@ class EntityTypeCollectionTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->commentsManager = $this->getMockBuilder('\OCP\Comments\ICommentsManager')
+ $this->commentsManager = $this->getMockBuilder(ICommentsManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userManager = $this->getMockBuilder('\OCP\IUserManager')
+ $this->userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $this->userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
- $this->logger = $this->getMockBuilder('\OCP\ILogger')
+ $this->logger = $this->getMockBuilder(ILogger::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/Comments/RootCollectionTest.php b/apps/dav/tests/unit/Comments/RootCollectionTest.php
index 95afc42a91..05fb94239b 100644
--- a/apps/dav/tests/unit/Comments/RootCollectionTest.php
+++ b/apps/dav/tests/unit/Comments/RootCollectionTest.php
@@ -26,6 +26,11 @@ namespace OCA\DAV\Tests\unit\Comments;
use OCA\DAV\Comments\EntityTypeCollection as EntityTypeCollectionImplementation;
use OCP\Comments\CommentsEntityEvent;
+use OCP\Comments\ICommentsManager;
+use OCP\ILogger;
+use OCP\IUser;
+use OCP\IUserManager;
+use OCP\IUserSession;
use Symfony\Component\EventDispatcher\EventDispatcher;
class RootCollectionTest extends \Test\TestCase {
@@ -48,21 +53,21 @@ class RootCollectionTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->user = $this->getMockBuilder('\OCP\IUser')
+ $this->user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
- $this->commentsManager = $this->getMockBuilder('\OCP\Comments\ICommentsManager')
+ $this->commentsManager = $this->getMockBuilder(ICommentsManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userManager = $this->getMockBuilder('\OCP\IUserManager')
+ $this->userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $this->userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
$this->dispatcher = new EventDispatcher();
- $this->logger = $this->getMockBuilder('\OCP\ILogger')
+ $this->logger = $this->getMockBuilder(ILogger::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/Connector/PublicAuthTest.php b/apps/dav/tests/unit/Connector/PublicAuthTest.php
index 41cfc0f8ce..dbb39bac6d 100644
--- a/apps/dav/tests/unit/Connector/PublicAuthTest.php
+++ b/apps/dav/tests/unit/Connector/PublicAuthTest.php
@@ -28,6 +28,7 @@ use OCP\IRequest;
use OCP\ISession;
use OCP\Share\Exceptions\ShareNotFound;
use OCP\Share\IManager;
+use OCP\Share\IShare;
/**
* Class PublicAuthTest
@@ -53,13 +54,13 @@ class PublicAuthTest extends \Test\TestCase {
protected function setUp() {
parent::setUp();
- $this->session = $this->getMockBuilder('\OCP\ISession')
+ $this->session = $this->getMockBuilder(ISession::class)
->disableOriginalConstructor()
->getMock();
- $this->request = $this->getMockBuilder('\OCP\IRequest')
+ $this->request = $this->getMockBuilder(IRequest::class)
->disableOriginalConstructor()
->getMock();
- $this->shareManager = $this->getMockBuilder('\OCP\Share\IManager')
+ $this->shareManager = $this->getMockBuilder(IManager::class)
->disableOriginalConstructor()
->getMock();
@@ -94,7 +95,7 @@ class PublicAuthTest extends \Test\TestCase {
}
public function testShareNoPassword() {
- $share = $this->getMockBuilder('OCP\Share\IShare')
+ $share = $this->getMockBuilder(IShare::class)
->disableOriginalConstructor()
->getMock();
$share->method('getPassword')->willReturn(null);
@@ -109,7 +110,7 @@ class PublicAuthTest extends \Test\TestCase {
}
public function testSharePasswordFancyShareType() {
- $share = $this->getMockBuilder('OCP\Share\IShare')
+ $share = $this->getMockBuilder(IShare::class)
->disableOriginalConstructor()
->getMock();
$share->method('getPassword')->willReturn('password');
@@ -126,7 +127,7 @@ class PublicAuthTest extends \Test\TestCase {
public function testSharePasswordRemote() {
- $share = $this->getMockBuilder('OCP\Share\IShare')
+ $share = $this->getMockBuilder(IShare::class)
->disableOriginalConstructor()
->getMock();
$share->method('getPassword')->willReturn('password');
@@ -142,7 +143,7 @@ class PublicAuthTest extends \Test\TestCase {
}
public function testSharePasswordLinkValidPassword() {
- $share = $this->getMockBuilder('OCP\Share\IShare')
+ $share = $this->getMockBuilder(IShare::class)
->disableOriginalConstructor()
->getMock();
$share->method('getPassword')->willReturn('password');
@@ -164,7 +165,7 @@ class PublicAuthTest extends \Test\TestCase {
}
public function testSharePasswordMailValidPassword() {
- $share = $this->getMockBuilder('OCP\Share\IShare')
+ $share = $this->getMockBuilder(IShare::class)
->disableOriginalConstructor()
->getMock();
$share->method('getPassword')->willReturn('password');
@@ -186,7 +187,7 @@ class PublicAuthTest extends \Test\TestCase {
}
public function testSharePasswordLinkValidSession() {
- $share = $this->getMockBuilder('OCP\Share\IShare')
+ $share = $this->getMockBuilder(IShare::class)
->disableOriginalConstructor()
->getMock();
$share->method('getPassword')->willReturn('password');
@@ -212,7 +213,7 @@ class PublicAuthTest extends \Test\TestCase {
}
public function testSharePasswordLinkInvalidSession() {
- $share = $this->getMockBuilder('OCP\Share\IShare')
+ $share = $this->getMockBuilder(IShare::class)
->disableOriginalConstructor()
->getMock();
$share->method('getPassword')->willReturn('password');
@@ -239,7 +240,7 @@ class PublicAuthTest extends \Test\TestCase {
public function testSharePasswordMailInvalidSession() {
- $share = $this->getMockBuilder('OCP\Share\IShare')
+ $share = $this->getMockBuilder(IShare::class)
->disableOriginalConstructor()
->getMock();
$share->method('getPassword')->willReturn('password');
diff --git a/apps/dav/tests/unit/Connector/Sabre/AuthTest.php b/apps/dav/tests/unit/Connector/Sabre/AuthTest.php
index dfcb793979..34998745f7 100644
--- a/apps/dav/tests/unit/Connector/Sabre/AuthTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/AuthTest.php
@@ -34,6 +34,7 @@ use OC\User\Session;
use OCP\IRequest;
use OCP\ISession;
use OCP\IUser;
+use Sabre\DAV\Server;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
use Test\TestCase;
@@ -60,16 +61,16 @@ class AuthTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->session = $this->getMockBuilder('\OCP\ISession')
+ $this->session = $this->getMockBuilder(ISession::class)
->disableOriginalConstructor()->getMock();
- $this->userSession = $this->getMockBuilder('\OC\User\Session')
+ $this->userSession = $this->getMockBuilder(Session::class)
->disableOriginalConstructor()->getMock();
- $this->request = $this->getMockBuilder('\OCP\IRequest')
+ $this->request = $this->getMockBuilder(IRequest::class)
->disableOriginalConstructor()->getMock();
- $this->twoFactorManager = $this->getMockBuilder('\OC\Authentication\TwoFactorAuth\Manager')
+ $this->twoFactorManager = $this->getMockBuilder(Manager::class)
->disableOriginalConstructor()
->getMock();
- $this->throttler = $this->getMockBuilder('\OC\Security\Bruteforce\Throttler')
+ $this->throttler = $this->getMockBuilder(Throttler::class)
->disableOriginalConstructor()
->getMock();
$this->auth = new \OCA\DAV\Connector\Sabre\Auth(
@@ -112,7 +113,7 @@ class AuthTest extends TestCase {
}
public function testValidateUserPassOfAlreadyDAVAuthenticatedUser() {
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->exactly(2))
@@ -139,7 +140,7 @@ class AuthTest extends TestCase {
}
public function testValidateUserPassOfInvalidDAVAuthenticatedUser() {
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->once())
@@ -166,7 +167,7 @@ class AuthTest extends TestCase {
}
public function testValidateUserPassOfInvalidDAVAuthenticatedUserWithValidPassword() {
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->exactly(3))
@@ -258,7 +259,7 @@ class AuthTest extends TestCase {
->method('get')
->with('AUTHENTICATED_TO_DAV_BACKEND')
->will($this->returnValue(null));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->any())
@@ -310,7 +311,7 @@ class AuthTest extends TestCase {
->method('get')
->with('AUTHENTICATED_TO_DAV_BACKEND')
->will($this->returnValue('LoggedInUser'));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->any())
@@ -360,7 +361,7 @@ class AuthTest extends TestCase {
->method('get')
->with('AUTHENTICATED_TO_DAV_BACKEND')
->will($this->returnValue('LoggedInUser'));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->any())
@@ -414,7 +415,7 @@ class AuthTest extends TestCase {
->method('get')
->with('AUTHENTICATED_TO_DAV_BACKEND')
->will($this->returnValue('AnotherUser'));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->any())
@@ -460,7 +461,7 @@ class AuthTest extends TestCase {
->method('get')
->with('AUTHENTICATED_TO_DAV_BACKEND')
->will($this->returnValue(null));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->any())
@@ -494,7 +495,7 @@ class AuthTest extends TestCase {
->method('get')
->with('AUTHENTICATED_TO_DAV_BACKEND')
->will($this->returnValue(null));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->any())
@@ -529,7 +530,7 @@ class AuthTest extends TestCase {
->method('get')
->with('AUTHENTICATED_TO_DAV_BACKEND')
->will($this->returnValue(null));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->any())
@@ -549,7 +550,7 @@ class AuthTest extends TestCase {
}
public function testAuthenticateNoBasicAuthenticateHeadersProvided() {
- $server = $this->getMockBuilder('\Sabre\DAV\Server')
+ $server = $this->getMockBuilder(Server::class)
->disableOriginalConstructor()
->getMock();
$server->httpRequest = $this->getMockBuilder(RequestInterface::class)
@@ -597,7 +598,7 @@ class AuthTest extends TestCase {
->disableOriginalConstructor()
->getMock();
/** @var IUser */
- $user = $this->getMockBuilder('OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->method('getUID')->willReturn('MyTestUser');
@@ -630,7 +631,7 @@ class AuthTest extends TestCase {
}
public function testAuthenticateValidCredentials() {
- $server = $this->getMockBuilder('\Sabre\DAV\Server')
+ $server = $this->getMockBuilder(Server::class)
->disableOriginalConstructor()
->getMock();
$server->httpRequest = $this->getMockBuilder(RequestInterface::class)
@@ -654,7 +655,7 @@ class AuthTest extends TestCase {
->method('logClientIn')
->with('username', 'password')
->will($this->returnValue(true));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->exactly(3))
@@ -669,7 +670,7 @@ class AuthTest extends TestCase {
}
public function testAuthenticateInvalidCredentials() {
- $server = $this->getMockBuilder('\Sabre\DAV\Server')
+ $server = $this->getMockBuilder(Server::class)
->disableOriginalConstructor()
->getMock();
$server->httpRequest = $this->getMockBuilder(RequestInterface::class)
diff --git a/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php
index eb1689089a..e80d12979e 100644
--- a/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php
@@ -44,7 +44,7 @@ class BlockLegacyClientPluginTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->config = $this->getMockBuilder('\OCP\IConfig')
+ $this->config = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()
->getMock();
$this->blockLegacyClientVersionPlugin = new BlockLegacyClientPlugin($this->config);
diff --git a/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php
index 13e10476a4..c31a3af980 100644
--- a/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php
@@ -25,6 +25,11 @@
namespace OCA\DAV\Tests\unit\Connector\Sabre;
use \OCA\DAV\Connector\Sabre\CommentPropertiesPlugin as CommentPropertiesPluginImplementation;
+use OCA\DAV\Connector\Sabre\File;
+use OCP\Comments\ICommentsManager;
+use OCP\IUser;
+use OCP\IUserSession;
+use Sabre\DAV\PropFind;
class CommentsPropertiesPluginTest extends \Test\TestCase {
@@ -37,10 +42,10 @@ class CommentsPropertiesPluginTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->commentsManager = $this->getMockBuilder('\OCP\Comments\ICommentsManager')
+ $this->commentsManager = $this->getMockBuilder(ICommentsManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $this->userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
@@ -73,7 +78,7 @@ class CommentsPropertiesPluginTest extends \Test\TestCase {
* @param $expectedSuccessful
*/
public function testHandleGetProperties($node, $expectedSuccessful) {
- $propFind = $this->getMockBuilder('\Sabre\DAV\PropFind')
+ $propFind = $this->getMockBuilder(PropFind::class)
->disableOriginalConstructor()
->getMock();
@@ -103,7 +108,7 @@ class CommentsPropertiesPluginTest extends \Test\TestCase {
* @param $expectedHref
*/
public function testGetCommentsLink($baseUri, $fid, $expectedHref) {
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $node = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -121,7 +126,7 @@ class CommentsPropertiesPluginTest extends \Test\TestCase {
public function userProvider() {
return [
[
- $this->getMockBuilder('\OCP\IUser')
+ $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock()
],
@@ -134,7 +139,7 @@ class CommentsPropertiesPluginTest extends \Test\TestCase {
* @param $user
*/
public function testGetUnreadCount($user) {
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $node = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
diff --git a/apps/dav/tests/unit/Connector/Sabre/CopyEtagHeaderPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/CopyEtagHeaderPluginTest.php
index 773d5d7f98..f44a4abf63 100644
--- a/apps/dav/tests/unit/Connector/Sabre/CopyEtagHeaderPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/CopyEtagHeaderPluginTest.php
@@ -24,7 +24,9 @@
namespace OCA\DAV\Tests\unit\Connector\Sabre;
use OCA\DAV\Connector\Sabre\CopyEtagHeaderPlugin;
+use OCA\DAV\Connector\Sabre\File;
use Sabre\DAV\Server;
+use Sabre\DAV\Tree;
use Test\TestCase;
/**
@@ -68,13 +70,13 @@ class CopyEtagHeaderPluginTest extends TestCase {
}
public function testAfterMove() {
- $node = $this->getMockBuilder('OCA\DAV\Connector\Sabre\File')
+ $node = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
->method('getETag')
->willReturn('123456');
- $tree = $this->getMockBuilder('Sabre\DAV\Tree')
+ $tree = $this->getMockBuilder(Tree::class)
->disableOriginalConstructor()
->getMock();
$tree->expects($this->once())
diff --git a/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php b/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php
index f0f4caa07a..c96915244f 100644
--- a/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php
@@ -31,6 +31,11 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre;
* See the COPYING-README file.
*/
+use OCA\DAV\Connector\Sabre\Directory;
+use OCA\DAV\Connector\Sabre\File;
+use OCP\IUser;
+use Sabre\DAV\Tree;
+
/**
* Class CustomPropertiesBackend
*
@@ -63,13 +68,13 @@ class CustomPropertiesBackendTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
$this->server = new \Sabre\DAV\Server();
- $this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
+ $this->tree = $this->getMockBuilder(Tree::class)
->disableOriginalConstructor()
->getMock();
$userId = $this->getUniqueID('testcustompropertiesuser');
- $this->user = $this->getMockBuilder('\OCP\IUser')
+ $this->user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$this->user->expects($this->any())
@@ -175,7 +180,7 @@ class CustomPropertiesBackendTest extends \Test\TestCase {
* Test setting/getting properties
*/
public function testSetGetPropertiesForFile() {
- $node = $this->createTestNode('\OCA\DAV\Connector\Sabre\File');
+ $node = $this->createTestNode(File::class);
$this->tree->expects($this->any())
->method('getNodeForPath')
->with('/dummypath')
@@ -207,9 +212,9 @@ class CustomPropertiesBackendTest extends \Test\TestCase {
* Test getting properties from directory
*/
public function testGetPropertiesForDirectory() {
- $rootNode = $this->createTestNode('\OCA\DAV\Connector\Sabre\Directory');
+ $rootNode = $this->createTestNode(Directory::class);
- $nodeSub = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $nodeSub = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$nodeSub->expects($this->any())
@@ -291,7 +296,7 @@ class CustomPropertiesBackendTest extends \Test\TestCase {
* Test delete property
*/
public function testDeleteProperty() {
- $node = $this->createTestNode('\OCA\DAV\Connector\Sabre\File');
+ $node = $this->createTestNode(File::class);
$this->tree->expects($this->any())
->method('getNodeForPath')
->with('/dummypath')
diff --git a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
index f27f67b0aa..d5da0dce0d 100644
--- a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
@@ -26,6 +26,7 @@
namespace OCA\DAV\Tests\Unit\Connector\Sabre;
+use OC\Files\Storage\Wrapper\Quota;
use OCP\Files\ForbiddenException;
use OC\Files\FileInfo;
use OCA\DAV\Connector\Sabre\Directory;
@@ -179,10 +180,10 @@ class DirectoryTest extends \Test\TestCase {
}
public function testGetChildren() {
- $info1 = $this->getMockBuilder('OC\Files\FileInfo')
+ $info1 = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()
->getMock();
- $info2 = $this->getMockBuilder('OC\Files\FileInfo')
+ $info2 = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()
->getMock();
$info1->expects($this->any())
@@ -269,7 +270,7 @@ class DirectoryTest extends \Test\TestCase {
}
public function testGetQuotaInfoUnlimited() {
- $storage = $this->getMockBuilder('\OC\Files\Storage\Wrapper\Quota')
+ $storage = $this->getMockBuilder(Quota::class)
->disableOriginalConstructor()
->getMock();
@@ -300,7 +301,7 @@ class DirectoryTest extends \Test\TestCase {
}
public function testGetQuotaInfoSpecific() {
- $storage = $this->getMockBuilder('\OC\Files\Storage\Wrapper\Quota')
+ $storage = $this->getMockBuilder(Quota::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/Connector/Sabre/DummyGetResponsePluginTest.php b/apps/dav/tests/unit/Connector/Sabre/DummyGetResponsePluginTest.php
index 1c2e249e8c..fa6f849f12 100644
--- a/apps/dav/tests/unit/Connector/Sabre/DummyGetResponsePluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/DummyGetResponsePluginTest.php
@@ -26,6 +26,9 @@
namespace OCA\DAV\Tests\unit\Connector\Sabre;
use OCA\DAV\Connector\Sabre\DummyGetResponsePlugin;
+use Sabre\DAV\Server;
+use Sabre\HTTP\RequestInterface;
+use Sabre\HTTP\ResponseInterface;
use Test\TestCase;
/**
@@ -44,8 +47,8 @@ class DummyGetResponsePluginTest extends TestCase {
}
public function testInitialize() {
- /** @var \Sabre\DAV\Server $server */
- $server = $this->getMockBuilder('\Sabre\DAV\Server')
+ /** @var Server $server */
+ $server = $this->getMockBuilder(Server::class)
->disableOriginalConstructor()
->getMock();
$server
@@ -59,11 +62,11 @@ class DummyGetResponsePluginTest extends TestCase {
public function testHttpGet() {
/** @var \Sabre\HTTP\RequestInterface $request */
- $request = $this->getMockBuilder('\Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
/** @var \Sabre\HTTP\ResponseInterface $response */
- $response = $server = $this->getMockBuilder('\Sabre\HTTP\ResponseInterface')
+ $response = $server = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
$response
diff --git a/apps/dav/tests/unit/Connector/Sabre/FakeLockerPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FakeLockerPluginTest.php
index abf6e5cf18..e42bb1704f 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FakeLockerPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FakeLockerPluginTest.php
@@ -25,7 +25,12 @@
namespace OCA\DAV\Tests\unit\Connector\Sabre;
use OCA\DAV\Connector\Sabre\FakeLockerPlugin;
+use Sabre\DAV\INode;
+use Sabre\DAV\PropFind;
+use Sabre\DAV\Server;
+use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\Response;
+use Sabre\HTTP\ResponseInterface;
use Test\TestCase;
/**
@@ -43,8 +48,8 @@ class FakeLockerPluginTest extends TestCase {
}
public function testInitialize() {
- /** @var \Sabre\DAV\Server $server */
- $server = $this->getMockBuilder('\Sabre\DAV\Server')
+ /** @var Server $server */
+ $server = $this->getMockBuilder(Server::class)
->disableOriginalConstructor()
->getMock();
$server
@@ -83,10 +88,10 @@ class FakeLockerPluginTest extends TestCase {
}
public function testPropFind() {
- $propFind = $this->getMockBuilder('\Sabre\DAV\PropFind')
+ $propFind = $this->getMockBuilder(PropFind::class)
->disableOriginalConstructor()
->getMock();
- $node = $this->getMockBuilder('\Sabre\DAV\INode')
+ $node = $this->getMockBuilder(INode::class)
->disableOriginalConstructor()
->getMock();
@@ -143,7 +148,7 @@ class FakeLockerPluginTest extends TestCase {
* @param array $expected
*/
public function testValidateTokens(array $input, array $expected) {
- $request = $this->getMockBuilder('\Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
$this->fakeLockerPlugin->validateTokens($request, $input);
@@ -151,11 +156,11 @@ class FakeLockerPluginTest extends TestCase {
}
public function testFakeLockProvider() {
- $request = $this->getMockBuilder('\Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
$response = new Response();
- $server = $this->getMockBuilder('\Sabre\DAV\Server')
+ $server = $this->getMockBuilder(Server::class)
->getMock();
$this->fakeLockerPlugin->initialize($server);
@@ -171,10 +176,10 @@ class FakeLockerPluginTest extends TestCase {
}
public function testFakeUnlockProvider() {
- $request = $this->getMockBuilder('\Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('\Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/Connector/Sabre/FileTest.php b/apps/dav/tests/unit/Connector/Sabre/FileTest.php
index e2666d0de2..bf9daebdc5 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FileTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FileTest.php
@@ -27,7 +27,9 @@
namespace OCA\DAV\Tests\unit\Connector\Sabre;
use OC\Files\Storage\Local;
+use OC\Files\View;
use OCP\Files\ForbiddenException;
+use OCP\Files\Storage;
use Test\HookHelper;
use OC\Files\Filesystem;
use OCP\Lock\ILockingProvider;
@@ -70,7 +72,7 @@ class FileTest extends \Test\TestCase {
}
private function getMockStorage() {
- $storage = $this->getMockBuilder('\OCP\Files\Storage')
+ $storage = $this->getMockBuilder(Storage::class)
->disableOriginalConstructor()
->getMock();
$storage->expects($this->any())
@@ -151,12 +153,12 @@ class FileTest extends \Test\TestCase {
*/
public function testSimplePutFails($thrownException, $expectedException, $checkPreviousClass = true) {
// setup
- $storage = $this->getMockBuilder('\OC\Files\Storage\Local')
+ $storage = $this->getMockBuilder(Local::class)
->setMethods(['fopen'])
->setConstructorArgs([['datadir' => \OC::$server->getTempManager()->getTemporaryFolder()]])
->getMock();
\OC\Files\Filesystem::mount($storage, [], $this->user . '/');
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['getRelativePath', 'resolvePath'])
->getMock();
$view->expects($this->atLeastOnce())
@@ -210,12 +212,12 @@ class FileTest extends \Test\TestCase {
*/
public function testChunkedPutFails($thrownException, $expectedException, $checkPreviousClass = false) {
// setup
- $storage = $this->getMockBuilder('\OC\Files\Storage\Local')
+ $storage = $this->getMockBuilder(Local::class)
->setMethods(['fopen'])
->setConstructorArgs([['datadir' => \OC::$server->getTempManager()->getTemporaryFolder()]])
->getMock();
\OC\Files\Filesystem::mount($storage, [], $this->user . '/');
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['getRelativePath', 'resolvePath'])
->getMock();
$view->expects($this->atLeastOnce())
@@ -535,7 +537,7 @@ class FileTest extends \Test\TestCase {
*/
public function testSimplePutFailsSizeCheck() {
// setup
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['rename', 'getRelativePath', 'filesize'])
->getMock();
$view->expects($this->any())
@@ -653,7 +655,7 @@ class FileTest extends \Test\TestCase {
*/
public function testSimplePutInvalidChars() {
// setup
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['getRelativePath'])
->getMock();
$view->expects($this->any())
@@ -690,7 +692,7 @@ class FileTest extends \Test\TestCase {
*/
public function testSetNameInvalidChars() {
// setup
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['getRelativePath'])
->getMock();
@@ -709,7 +711,7 @@ class FileTest extends \Test\TestCase {
*/
public function testUploadAbort() {
// setup
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['rename', 'getRelativePath', 'filesize'])
->getMock();
$view->expects($this->any())
@@ -755,7 +757,7 @@ class FileTest extends \Test\TestCase {
*/
public function testDeleteWhenAllowed() {
// setup
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->getMock();
$view->expects($this->once())
@@ -777,7 +779,7 @@ class FileTest extends \Test\TestCase {
*/
public function testDeleteThrowsWhenDeletionNotAllowed() {
// setup
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->getMock();
$info = new \OC\Files\FileInfo('/test.txt', $this->getMockStorage(), null, array(
@@ -795,7 +797,7 @@ class FileTest extends \Test\TestCase {
*/
public function testDeleteThrowsWhenDeletionFailed() {
// setup
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->getMock();
// but fails
@@ -818,7 +820,7 @@ class FileTest extends \Test\TestCase {
*/
public function testDeleteThrowsWhenDeletionThrows() {
// setup
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->getMock();
// but fails
@@ -880,7 +882,7 @@ class FileTest extends \Test\TestCase {
$wasLockedPre = false;
$wasLockedPost = false;
- $eventHandler = $this->getMockBuilder('\stdclass')
+ $eventHandler = $this->getMockBuilder(\stdclass::class)
->setMethods(['writeCallback', 'postWriteCallback'])
->getMock();
@@ -968,7 +970,7 @@ class FileTest extends \Test\TestCase {
* @expectedException \Sabre\DAV\Exception\ServiceUnavailable
*/
public function testGetFopenFails() {
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['fopen'])
->getMock();
$view->expects($this->atLeastOnce())
@@ -988,7 +990,7 @@ class FileTest extends \Test\TestCase {
* @expectedException \OCA\DAV\Connector\Sabre\Exception\Forbidden
*/
public function testGetFopenThrows() {
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['fopen'])
->getMock();
$view->expects($this->atLeastOnce())
@@ -1008,7 +1010,7 @@ class FileTest extends \Test\TestCase {
* @expectedException \Sabre\DAV\Exception\NotFound
*/
public function testGetThrowsIfNoPermission() {
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['fopen'])
->getMock();
$view->expects($this->never())
diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
index 885f3c23c2..e3cf1ff445 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
@@ -25,10 +25,18 @@
*/
namespace OCA\DAV\Tests\unit\Connector\Sabre;
+use OC\User\User;
+use OCA\DAV\Connector\Sabre\File;
use OCA\DAV\Connector\Sabre\FilesPlugin;
+use OCA\DAV\Connector\Sabre\Node;
use OCP\Files\StorageNotAvailableException;
+use OCP\IConfig;
+use OCP\IPreview;
+use OCP\IRequest;
use Sabre\DAV\PropFind;
use Sabre\DAV\PropPatch;
+use Sabre\DAV\Server;
+use Sabre\DAV\Tree;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
use Test\TestCase;
@@ -87,20 +95,20 @@ class FilesPluginTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->server = $this->getMockBuilder('\Sabre\DAV\Server')
+ $this->server = $this->getMockBuilder(Server::class)
->disableOriginalConstructor()
->getMock();
- $this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
+ $this->tree = $this->getMockBuilder(Tree::class)
->disableOriginalConstructor()
->getMock();
- $this->config = $this->createMock('\OCP\IConfig');
+ $this->config = $this->createMock(IConfig::class);
$this->config->expects($this->any())->method('getSystemValue')
->with($this->equalTo('data-fingerprint'), $this->equalTo(''))
->willReturn('my_fingerprint');
- $this->request = $this->getMockBuilder('\OCP\IRequest')
+ $this->request = $this->getMockBuilder(IRequest::class)
->disableOriginalConstructor()
->getMock();
- $this->previewManager = $this->getMockBuilder('\OCP\IPreview')
+ $this->previewManager = $this->getMockBuilder(IPreview::class)
->disableOriginalConstructor()
->getMock();
@@ -182,7 +190,7 @@ class FilesPluginTest extends TestCase {
0
);
- $user = $this->getMockBuilder('\OC\User\User')
+ $user = $this->getMockBuilder(User::class)
->disableOriginalConstructor()->getMock();
$user
->expects($this->once())
@@ -245,7 +253,7 @@ class FilesPluginTest extends TestCase {
$this->plugin = new FilesPlugin(
$this->tree,
$this->config,
- $this->getMockBuilder('\OCP\IRequest')
+ $this->getMockBuilder(IRequest::class)
->disableOriginalConstructor()
->getMock(),
$this->previewManager,
@@ -311,7 +319,7 @@ class FilesPluginTest extends TestCase {
public function testGetPropertiesForRootDirectory() {
/** @var \OCA\DAV\Connector\Sabre\Directory | \PHPUnit_Framework_MockObject_MockObject $node */
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $node = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())->method('getPath')->willReturn('/');
@@ -347,7 +355,7 @@ class FilesPluginTest extends TestCase {
// $this->expectException(\Sabre\DAV\Exception\NotFound::class);
/** @var \OCA\DAV\Connector\Sabre\Directory|\PHPUnit_Framework_MockObject_MockObject $node */
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $node = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())->method('getPath')->willReturn('/');
@@ -451,14 +459,14 @@ class FilesPluginTest extends TestCase {
* @expectedExceptionMessage FolderA/test.txt cannot be deleted
*/
public function testMoveSrcNotDeletable() {
- $fileInfoFolderATestTXT = $this->getMockBuilder('\OCP\Files\FileInfo')
+ $fileInfoFolderATestTXT = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()
->getMock();
$fileInfoFolderATestTXT->expects($this->once())
->method('isDeletable')
->willReturn(false);
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node')
+ $node = $this->getMockBuilder(Node::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -472,14 +480,14 @@ class FilesPluginTest extends TestCase {
}
public function testMoveSrcDeletable() {
- $fileInfoFolderATestTXT = $this->getMockBuilder('\OCP\Files\FileInfo')
+ $fileInfoFolderATestTXT = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()
->getMock();
$fileInfoFolderATestTXT->expects($this->once())
->method('isDeletable')
->willReturn(true);
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node')
+ $node = $this->getMockBuilder(Node::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -497,7 +505,7 @@ class FilesPluginTest extends TestCase {
* @expectedExceptionMessage FolderA/test.txt does not exist
*/
public function testMoveSrcNotExist() {
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node')
+ $node = $this->getMockBuilder(Node::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->once())
@@ -539,7 +547,7 @@ class FilesPluginTest extends TestCase {
->method('getPath')
->will($this->returnValue('test/somefile.xml'));
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $node = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$node
diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
index 3ca131dbf6..c46e4b1480 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
@@ -24,10 +24,16 @@
namespace OCA\DAV\Tests\unit\Connector\Sabre;
+use OCA\DAV\Connector\Sabre\Directory;
use OCA\DAV\Connector\Sabre\FilesReportPlugin as FilesReportPluginImplementation;
+use OCP\Files\File;
+use OCP\IConfig;
use OCP\IPreview;
+use OCP\IRequest;
use OCP\ITagManager;
+use OCP\IUser;
use OCP\IUserSession;
+use OCP\SystemTag\ISystemTag;
use OCP\SystemTag\ISystemTagObjectMapper;
use OC\Files\View;
use OCP\Files\Folder;
@@ -35,6 +41,9 @@ use OCP\IGroupManager;
use OCP\SystemTag\ISystemTagManager;
use OCP\ITags;
use OCP\Files\FileInfo;
+use Sabre\DAV\INode;
+use Sabre\DAV\Tree;
+use Sabre\HTTP\ResponseInterface;
class FilesReportPluginTest extends \Test\TestCase {
/** @var \Sabre\DAV\Server|\PHPUnit_Framework_MockObject_MockObject */
@@ -72,11 +81,11 @@ class FilesReportPluginTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
+ $this->tree = $this->getMockBuilder(Tree::class)
->disableOriginalConstructor()
->getMock();
- $this->view = $this->getMockBuilder('\OC\Files\View')
+ $this->view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()
->getMock();
@@ -89,15 +98,15 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('getBaseUri')
->will($this->returnValue('http://example.com/owncloud/remote.php/dav'));
- $this->groupManager = $this->getMockBuilder('\OCP\IGroupManager')
+ $this->groupManager = $this->getMockBuilder(IGroupManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userFolder = $this->getMockBuilder('\OCP\Files\Folder')
+ $this->userFolder = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->getMock();
- $this->previewManager = $this->getMockBuilder('\OCP\IPreview')
+ $this->previewManager = $this->getMockBuilder(IPreview::class)
->disableOriginalConstructor()
->getMock();
@@ -111,7 +120,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->with('files')
->will($this->returnValue($this->privateTags));
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->any())
@@ -140,7 +149,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('getNodeForPath')
->with('/' . $path)
->will($this->returnValue(
- $this->getMockBuilder('\Sabre\DAV\INode')
+ $this->getMockBuilder(INode::class)
->disableOriginalConstructor()
->getMock()
));
@@ -160,7 +169,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('getNodeForPath')
->with('/' . $path)
->will($this->returnValue(
- $this->getMockBuilder('\Sabre\DAV\INode')
+ $this->getMockBuilder(INode::class)
->disableOriginalConstructor()
->getMock()
));
@@ -206,11 +215,11 @@ class FilesReportPluginTest extends \Test\TestCase {
->with('456', 'files')
->will($this->returnValue(['111', '222', '333']));
- $reportTargetNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $reportTargetNode = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -230,10 +239,10 @@ class FilesReportPluginTest extends \Test\TestCase {
->with('/' . $path)
->will($this->returnValue($reportTargetNode));
- $filesNode1 = $this->getMockBuilder('\OCP\Files\Folder')
+ $filesNode1 = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->getMock();
- $filesNode2 = $this->getMockBuilder('\OCP\Files\File')
+ $filesNode2 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
@@ -256,21 +265,21 @@ class FilesReportPluginTest extends \Test\TestCase {
}
public function testFindNodesByFileIdsRoot() {
- $filesNode1 = $this->getMockBuilder('\OCP\Files\Folder')
+ $filesNode1 = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->getMock();
$filesNode1->expects($this->once())
->method('getName')
->will($this->returnValue('first node'));
- $filesNode2 = $this->getMockBuilder('\OCP\Files\File')
+ $filesNode2 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$filesNode2->expects($this->once())
->method('getName')
->will($this->returnValue('second node'));
- $reportTargetNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $reportTargetNode = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
$reportTargetNode->expects($this->any())
@@ -297,21 +306,21 @@ class FilesReportPluginTest extends \Test\TestCase {
}
public function testFindNodesByFileIdsSubDir() {
- $filesNode1 = $this->getMockBuilder('\OCP\Files\Folder')
+ $filesNode1 = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->getMock();
$filesNode1->expects($this->once())
->method('getName')
->will($this->returnValue('first node'));
- $filesNode2 = $this->getMockBuilder('\OCP\Files\File')
+ $filesNode2 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$filesNode2->expects($this->once())
->method('getName')
->will($this->returnValue('second node'));
- $reportTargetNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $reportTargetNode = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
$reportTargetNode->expects($this->any())
@@ -319,7 +328,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->will($this->returnValue('/sub1/sub2'));
- $subNode = $this->getMockBuilder('\OCP\Files\Folder')
+ $subNode = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->getMock();
@@ -353,10 +362,10 @@ class FilesReportPluginTest extends \Test\TestCase {
$fileInfo = $this->createMock(FileInfo::class);
$fileInfo->method('isReadable')->willReturn(true);
- $node1 = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $node1 = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
- $node2 = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $node2 = $this->getMockBuilder(\OCA\DAV\Connector\Sabre\File::class)
->disableOriginalConstructor()
->getMock();
@@ -378,7 +387,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->will($this->returnValue('/sub/node2'));
$node2->method('getFileInfo')->willReturn($fileInfo);
- $config = $this->getMockBuilder('\OCP\IConfig')
+ $config = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()
->getMock();
@@ -386,7 +395,7 @@ class FilesReportPluginTest extends \Test\TestCase {
new \OCA\DAV\Connector\Sabre\FilesPlugin(
$this->tree,
$config,
- $this->getMockBuilder('\OCP\IRequest')
+ $this->getMockBuilder(IRequest::class)
->disableOriginalConstructor()
->getMock(),
$this->previewManager
@@ -542,7 +551,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('isAdmin')
->will($this->returnValue(true));
- $tag1 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag')
+ $tag1 = $this->getMockBuilder(ISystemTag::class)
->disableOriginalConstructor()
->getMock();
$tag1->expects($this->any())
@@ -552,7 +561,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('isUserVisible')
->will($this->returnValue(true));
- $tag2 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag')
+ $tag2 = $this->getMockBuilder(ISystemTag::class)
->disableOriginalConstructor()
->getMock();
$tag2->expects($this->any())
@@ -591,7 +600,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('isAdmin')
->will($this->returnValue(false));
- $tag1 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag')
+ $tag1 = $this->getMockBuilder(ISystemTag::class)
->disableOriginalConstructor()
->getMock();
$tag1->expects($this->any())
@@ -601,7 +610,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('isUserVisible')
->will($this->returnValue(true));
- $tag2 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag')
+ $tag2 = $this->getMockBuilder(ISystemTag::class)
->disableOriginalConstructor()
->getMock();
$tag2->expects($this->any())
@@ -629,7 +638,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('isAdmin')
->will($this->returnValue(false));
- $tag1 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag')
+ $tag1 = $this->getMockBuilder(ISystemTag::class)
->disableOriginalConstructor()
->getMock();
$tag1->expects($this->any())
@@ -639,7 +648,7 @@ class FilesReportPluginTest extends \Test\TestCase {
->method('isUserVisible')
->will($this->returnValue(true));
- $tag2 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag')
+ $tag2 = $this->getMockBuilder(ISystemTag::class)
->disableOriginalConstructor()
->getMock();
$tag2->expects($this->any())
diff --git a/apps/dav/tests/unit/Connector/Sabre/MaintenancePluginTest.php b/apps/dav/tests/unit/Connector/Sabre/MaintenancePluginTest.php
index 43c3229952..b028cb8e6a 100644
--- a/apps/dav/tests/unit/Connector/Sabre/MaintenancePluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/MaintenancePluginTest.php
@@ -42,7 +42,7 @@ class MaintenancePluginTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock();
+ $this->config = $this->getMockBuilder(IConfig::class)->getMock();
$this->maintenancePlugin = new MaintenancePlugin($this->config);
}
diff --git a/apps/dav/tests/unit/Connector/Sabre/NodeTest.php b/apps/dav/tests/unit/Connector/Sabre/NodeTest.php
index 0aa3fe6101..fe6cbd9782 100644
--- a/apps/dav/tests/unit/Connector/Sabre/NodeTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/NodeTest.php
@@ -25,6 +25,12 @@
*/
namespace OCA\DAV\Tests\unit\Connector\Sabre;
+use OC\Files\FileInfo;
+use OC\Files\View;
+use OCP\Files\Mount\IMountPoint;
+use OCP\Files\Storage;
+use OCP\Share\IManager;
+use OCP\Share\IShare;
/**
* Class NodeTest
@@ -51,7 +57,7 @@ class NodeTest extends \Test\TestCase {
* @dataProvider davPermissionsProvider
*/
public function testDavPermissions($permissions, $type, $shared, $mounted, $expected) {
- $info = $this->getMockBuilder('\OC\Files\FileInfo')
+ $info = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()
->setMethods(array('getPermissions', 'isShared', 'isMounted', 'getType'))
->getMock();
@@ -67,7 +73,7 @@ class NodeTest extends \Test\TestCase {
$info->expects($this->any())
->method('getType')
->will($this->returnValue($type));
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()
->getMock();
@@ -119,17 +125,17 @@ class NodeTest extends \Test\TestCase {
* @dataProvider sharePermissionsProvider
*/
public function testSharePermissions($type, $user, $permissions, $expected) {
- $storage = $this->getMockBuilder('\OCP\Files\Storage')
+ $storage = $this->getMockBuilder(Storage::class)
->disableOriginalConstructor()
->getMock();
$storage->method('getPermissions')->willReturn($permissions);
- $mountpoint = $this->getMockBuilder('\OCP\Files\Mount\IMountPoint')
+ $mountpoint = $this->getMockBuilder(IMountPoint::class)
->disableOriginalConstructor()
->getMock();
$mountpoint->method('getMountPoint')->willReturn('myPath');
- $shareManager = $this->getMockBuilder('OCP\Share\IManager')->disableOriginalConstructor()->getMock();
- $share = $this->getMockBuilder('OCP\Share\IShare')->disableOriginalConstructor()->getMock();
+ $shareManager = $this->getMockBuilder(IManager::class)->disableOriginalConstructor()->getMock();
+ $share = $this->getMockBuilder(IShare::class)->disableOriginalConstructor()->getMock();
if ($user === null) {
$shareManager->expects($this->never())->method('getShareByToken');
@@ -140,7 +146,7 @@ class NodeTest extends \Test\TestCase {
$share->expects($this->once())->method('getPermissions')->willReturn($permissions);
}
- $info = $this->getMockBuilder('\OC\Files\FileInfo')
+ $info = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()
->setMethods(['getStorage', 'getType', 'getMountPoint'])
->getMock();
@@ -149,7 +155,7 @@ class NodeTest extends \Test\TestCase {
$info->method('getType')->willReturn($type);
$info->method('getMountPoint')->willReturn($mountpoint);
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php b/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php
index 53f60bd0f1..d1b37541dc 100644
--- a/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php
@@ -31,6 +31,7 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre;
use OC\Files\FileInfo;
use OC\Files\Filesystem;
+use OC\Files\Mount\Manager;
use OC\Files\Storage\Temporary;
use OC\Files\View;
use OCA\DAV\Connector\Sabre\Directory;
@@ -156,16 +157,16 @@ class ObjectTreeTest extends \Test\TestCase {
$_SERVER['HTTP_OC_CHUNKED'] = true;
}
- $rootNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $rootNode = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
- $mountManager = $this->getMockBuilder('\OC\Files\Mount\Manager')
+ $mountManager = $this->getMockBuilder(Manager::class)
->disableOriginalConstructor()
->getMock();
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()
->getMock();
- $fileInfo = $this->getMockBuilder('\OCP\Files\FileInfo')
+ $fileInfo = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()
->getMock();
$fileInfo->expects($this->once())
@@ -275,7 +276,7 @@ class ObjectTreeTest extends \Test\TestCase {
$storage = new Temporary([]);
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['resolvePath'])
->getMock();
$view->expects($this->once())
@@ -284,10 +285,10 @@ class ObjectTreeTest extends \Test\TestCase {
return [$storage, ltrim($path, '/')];
}));
- $rootNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $rootNode = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
- $mountManager = $this->getMockBuilder('\OC\Files\Mount\Manager')
+ $mountManager = $this->getMockBuilder(Manager::class)
->getMock();
$tree = new \OCA\DAV\Connector\Sabre\ObjectTree();
@@ -302,7 +303,7 @@ class ObjectTreeTest extends \Test\TestCase {
$storage = new Temporary([]);
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->setMethods(['resolvePath'])
->getMock();
$view->expects($this->any())
@@ -311,10 +312,10 @@ class ObjectTreeTest extends \Test\TestCase {
return [$storage, ltrim($path, '/')];
}));
- $rootNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $rootNode = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
- $mountManager = $this->getMockBuilder('\OC\Files\Mount\Manager')
+ $mountManager = $this->getMockBuilder(Manager::class)
->getMock();
$tree = new \OCA\DAV\Connector\Sabre\ObjectTree();
diff --git a/apps/dav/tests/unit/Connector/Sabre/QuotaPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/QuotaPluginTest.php
index d29080539e..927178996c 100644
--- a/apps/dav/tests/unit/Connector/Sabre/QuotaPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/QuotaPluginTest.php
@@ -176,7 +176,7 @@ class QuotaPluginTest extends TestCase {
public function testCheckQuotaChunkedOk($quota, $chunkTotalSize, $headers) {
$this->init($quota, 'sub/test.txt');
- $mockChunking = $this->getMockBuilder('\OC_FileChunking')
+ $mockChunking = $this->getMockBuilder(\OC_FileChunking::class)
->disableOriginalConstructor()
->getMock();
$mockChunking->expects($this->once())
@@ -212,7 +212,7 @@ class QuotaPluginTest extends TestCase {
public function testCheckQuotaChunkedFail($quota, $chunkTotalSize, $headers) {
$this->init($quota, 'sub/test.txt');
- $mockChunking = $this->getMockBuilder('\OC_FileChunking')
+ $mockChunking = $this->getMockBuilder(\OC_FileChunking::class)
->disableOriginalConstructor()
->getMock();
$mockChunking->expects($this->once())
diff --git a/apps/dav/tests/unit/Connector/Sabre/RequestTest/PartFileInRootUploadTest.php b/apps/dav/tests/unit/Connector/Sabre/RequestTest/PartFileInRootUploadTest.php
index 3f3bf16a42..ec4652a3af 100644
--- a/apps/dav/tests/unit/Connector/Sabre/RequestTest/PartFileInRootUploadTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/RequestTest/PartFileInRootUploadTest.php
@@ -24,6 +24,8 @@
namespace OCA\DAV\Tests\unit\Connector\Sabre\RequestTest;
+use OCP\IConfig;
+
/**
* Class PartFileInRootUploadTest
*
@@ -34,7 +36,7 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre\RequestTest;
class PartFileInRootUploadTest extends UploadTest {
protected function setUp() {
$config = \OC::$server->getConfig();
- $mockConfig = $this->getMockBuilder('\OCP\IConfig')
+ $mockConfig = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()
->getMock();
$mockConfig->expects($this->any())
diff --git a/apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php b/apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php
index 58a729e18e..aec467dd50 100644
--- a/apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php
+++ b/apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php
@@ -29,6 +29,7 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre\RequestTest;
use OCA\DAV\Connector\Sabre\Server;
use OCA\DAV\Connector\Sabre\ServerFactory;
use OC\Files\View;
+use OCP\IRequest;
use Sabre\HTTP\Request;
use Test\TestCase;
use Test\Traits\MountProviderTrait;
@@ -62,7 +63,7 @@ abstract class RequestTestCase extends TestCase {
\OC::$server->getUserSession(),
\OC::$server->getMountManager(),
\OC::$server->getTagManager(),
- $this->getMockBuilder('\OCP\IRequest')
+ $this->getMockBuilder(IRequest::class)
->disableOriginalConstructor()
->getMock(),
\OC::$server->getPreviewManager()
diff --git a/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php
index 2b4a886050..57be6e5a9e 100644
--- a/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php
@@ -23,6 +23,16 @@
*/
namespace OCA\DAV\Tests\unit\Connector\Sabre;
+use OCA\DAV\Connector\Sabre\Directory;
+use OCA\DAV\Connector\Sabre\File;
+use OCA\DAV\Connector\Sabre\Node;
+use OCP\Files\Folder;
+use OCP\IUser;
+use OCP\IUserSession;
+use OCP\Share\IManager;
+use OCP\Share\IShare;
+use Sabre\DAV\Tree;
+
class SharesPluginTest extends \Test\TestCase {
const SHARETYPES_PROPERTYNAME = \OCA\DAV\Connector\Sabre\SharesPlugin::SHARETYPES_PROPERTYNAME;
@@ -55,26 +65,26 @@ class SharesPluginTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
$this->server = new \Sabre\DAV\Server();
- $this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
+ $this->tree = $this->getMockBuilder(Tree::class)
->disableOriginalConstructor()
->getMock();
- $this->shareManager = $this->getMockBuilder('\OCP\Share\IManager')
+ $this->shareManager = $this->getMockBuilder(IManager::class)
->disableOriginalConstructor()
->getMock();
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
$user->expects($this->once())
->method('getUID')
->will($this->returnValue('user1'));
- $userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
$userSession->expects($this->once())
->method('getUser')
->will($this->returnValue($user));
- $this->userFolder = $this->getMockBuilder('\OCP\Files\Folder')
+ $this->userFolder = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->getMock();
@@ -91,7 +101,7 @@ class SharesPluginTest extends \Test\TestCase {
* @dataProvider sharesGetPropertiesDataProvider
*/
public function testGetProperties($shareTypes) {
- $sabreNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node')
+ $sabreNode = $this->getMockBuilder(Node::class)
->disableOriginalConstructor()
->getMock();
$sabreNode->expects($this->any())
@@ -102,7 +112,7 @@ class SharesPluginTest extends \Test\TestCase {
->will($this->returnValue('/subdir'));
// node API nodes
- $node = $this->getMockBuilder('\OCP\Files\Folder')
+ $node = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->getMock();
@@ -149,7 +159,7 @@ class SharesPluginTest extends \Test\TestCase {
* @dataProvider sharesGetPropertiesDataProvider
*/
public function testPreloadThenGetProperties($shareTypes) {
- $sabreNode1 = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $sabreNode1 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$sabreNode1->expects($this->any())
@@ -157,7 +167,7 @@ class SharesPluginTest extends \Test\TestCase {
->will($this->returnValue(111));
$sabreNode1->expects($this->any())
->method('getPath');
- $sabreNode2 = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $sabreNode2 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$sabreNode2->expects($this->any())
@@ -167,7 +177,7 @@ class SharesPluginTest extends \Test\TestCase {
->method('getPath')
->will($this->returnValue('/subdir/foo'));
- $sabreNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $sabreNode = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
$sabreNode->expects($this->any())
@@ -181,19 +191,19 @@ class SharesPluginTest extends \Test\TestCase {
->will($this->returnValue('/subdir'));
// node API nodes
- $node = $this->getMockBuilder('\OCP\Files\Folder')
+ $node = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
->method('getId')
->will($this->returnValue(123));
- $node1 = $this->getMockBuilder('\OCP\Files\File')
+ $node1 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$node1->expects($this->any())
->method('getId')
->will($this->returnValue(111));
- $node2 = $this->getMockBuilder('\OCP\Files\File')
+ $node2 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$node2->expects($this->any())
@@ -206,7 +216,7 @@ class SharesPluginTest extends \Test\TestCase {
->will($this->returnValue($node));
$dummyShares = array_map(function($type) {
- $share = $this->getMockBuilder('\OCP\Share\IShare')->getMock();
+ $share = $this->getMockBuilder(IShare::class)->getMock();
$share->expects($this->any())
->method('getShareType')
->will($this->returnValue($type));
diff --git a/apps/dav/tests/unit/Connector/Sabre/TagsPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/TagsPluginTest.php
index 9189a73f77..af15631088 100644
--- a/apps/dav/tests/unit/Connector/Sabre/TagsPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/TagsPluginTest.php
@@ -24,6 +24,13 @@
*/
namespace OCA\DAV\Tests\unit\Connector\Sabre;
+use OCA\DAV\Connector\Sabre\Directory;
+use OCA\DAV\Connector\Sabre\File;
+use OCA\DAV\Connector\Sabre\Node;
+use OCP\ITagManager;
+use OCP\ITags;
+use Sabre\DAV\Tree;
+
/**
* Copyright (c) 2014 Vincent Petry
* This file is licensed under the Affero General Public License version 3 or
@@ -42,7 +49,7 @@ class TagsPluginTest extends \Test\TestCase {
private $server;
/**
- * @var \Sabre\DAV\Tree
+ * @var Tree
*/
private $tree;
@@ -64,13 +71,13 @@ class TagsPluginTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
$this->server = new \Sabre\DAV\Server();
- $this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
+ $this->tree = $this->getMockBuilder(Tree::class)
->disableOriginalConstructor()
->getMock();
- $this->tagger = $this->getMockBuilder('\OCP\ITags')
+ $this->tagger = $this->getMockBuilder(ITags::class)
->disableOriginalConstructor()
->getMock();
- $this->tagManager = $this->getMockBuilder('\OCP\ITagManager')
+ $this->tagManager = $this->getMockBuilder(ITagManager::class)
->disableOriginalConstructor()
->getMock();
$this->tagManager->expects($this->any())
@@ -85,7 +92,7 @@ class TagsPluginTest extends \Test\TestCase {
* @dataProvider tagsGetPropertiesDataProvider
*/
public function testGetProperties($tags, $requestedProperties, $expectedProperties) {
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node')
+ $node = $this->getMockBuilder(Node::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -124,13 +131,13 @@ class TagsPluginTest extends \Test\TestCase {
* @dataProvider tagsGetPropertiesDataProvider
*/
public function testPreloadThenGetProperties($tags, $requestedProperties, $expectedProperties) {
- $node1 = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $node1 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$node1->expects($this->any())
->method('getId')
->will($this->returnValue(111));
- $node2 = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
+ $node2 = $this->getMockBuilder(File::class)
->disableOriginalConstructor()
->getMock();
$node2->expects($this->any())
@@ -145,7 +152,7 @@ class TagsPluginTest extends \Test\TestCase {
$expectedCallCount = 1;
}
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
+ $node = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -260,7 +267,7 @@ class TagsPluginTest extends \Test\TestCase {
public function testUpdateTags() {
// this test will replace the existing tags "tagremove" with "tag1" and "tag2"
// and keep "tagkeep"
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node')
+ $node = $this->getMockBuilder(Node::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -311,7 +318,7 @@ class TagsPluginTest extends \Test\TestCase {
}
public function testUpdateTagsFromScratch() {
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node')
+ $node = $this->getMockBuilder(Node::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -359,7 +366,7 @@ class TagsPluginTest extends \Test\TestCase {
public function testUpdateFav() {
// this test will replace the existing tags "tagremove" with "tag1" and "tag2"
// and keep "tagkeep"
- $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node')
+ $node = $this->getMockBuilder(Node::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
diff --git a/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php b/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php
index cdeaceefed..32f19e9ddb 100644
--- a/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php
+++ b/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php
@@ -26,6 +26,7 @@ namespace OCA\DAV\Tests\unit\DAV;
use OCA\DAV\Files\BrowserErrorPagePlugin;
use PHPUnit_Framework_MockObject_MockObject;
use Sabre\DAV\Exception\NotFound;
+use Sabre\HTTP\Response;
class BrowserErrorPagePluginTest extends \Test\TestCase {
@@ -36,13 +37,13 @@ class BrowserErrorPagePluginTest extends \Test\TestCase {
*/
public function test($expectedCode, $exception) {
/** @var BrowserErrorPagePlugin | PHPUnit_Framework_MockObject_MockObject $plugin */
- $plugin = $this->getMockBuilder('OCA\DAV\Files\BrowserErrorPagePlugin')->setMethods(['sendResponse', 'generateBody'])->getMock();
+ $plugin = $this->getMockBuilder(BrowserErrorPagePlugin::class)->setMethods(['sendResponse', 'generateBody'])->getMock();
$plugin->expects($this->once())->method('generateBody')->willReturn(':boom:');
$plugin->expects($this->once())->method('sendResponse');
/** @var \Sabre\DAV\Server | PHPUnit_Framework_MockObject_MockObject $server */
$server = $this->getMockBuilder('Sabre\DAV\Server')->disableOriginalConstructor()->getMock();
$server->expects($this->once())->method('on');
- $httpResponse = $this->getMockBuilder('Sabre\HTTP\Response')->disableOriginalConstructor()->getMock();
+ $httpResponse = $this->getMockBuilder(Response::class)->disableOriginalConstructor()->getMock();
$httpResponse->expects($this->once())->method('addHeaders');
$httpResponse->expects($this->once())->method('setStatus')->with($expectedCode);
$httpResponse->expects($this->once())->method('setBody')->with(':boom:');
diff --git a/apps/dav/tests/unit/DAV/HookManagerTest.php b/apps/dav/tests/unit/DAV/HookManagerTest.php
index a78ffea5af..3296d550a6 100644
--- a/apps/dav/tests/unit/DAV/HookManagerTest.php
+++ b/apps/dav/tests/unit/DAV/HookManagerTest.php
@@ -42,7 +42,7 @@ class HookManagerTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->eventDispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')->disableOriginalConstructor()->getMock();
+ $this->eventDispatcher = $this->getMockBuilder(EventDispatcher::class)->disableOriginalConstructor()->getMock();
$this->l10n = $this->createMock(IL10N::class);
$this->l10n
->expects($this->any())
diff --git a/apps/dav/tests/unit/DAV/Sharing/PluginTest.php b/apps/dav/tests/unit/DAV/Sharing/PluginTest.php
index c4dae96e52..d6291467e4 100644
--- a/apps/dav/tests/unit/DAV/Sharing/PluginTest.php
+++ b/apps/dav/tests/unit/DAV/Sharing/PluginTest.php
@@ -47,17 +47,17 @@ class PluginTest extends TestCase {
parent::setUp();
/** @var Auth | \PHPUnit_Framework_MockObject_MockObject $authBackend */
- $authBackend = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Auth')->disableOriginalConstructor()->getMock();
+ $authBackend = $this->getMockBuilder(Auth::class)->disableOriginalConstructor()->getMock();
$authBackend->method('isDavAuthenticated')->willReturn(true);
/** @var IRequest $request */
- $request = $this->getMockBuilder('OCP\IRequest')->disableOriginalConstructor()->getMock();
+ $request = $this->getMockBuilder(IRequest::class)->disableOriginalConstructor()->getMock();
$this->plugin = new Plugin($authBackend, $request);
$root = new SimpleCollection('root');
$this->server = new \Sabre\DAV\Server($root);
/** @var SimpleCollection $node */
- $this->book = $this->getMockBuilder('OCA\DAV\DAV\Sharing\IShareable')->
+ $this->book = $this->getMockBuilder(IShareable::class)->
disableOriginalConstructor()->
getMock();
$this->book->method('getName')->willReturn('addressbook1.vcf');
diff --git a/apps/dav/tests/unit/SystemTag/SystemTagMappingNodeTest.php b/apps/dav/tests/unit/SystemTag/SystemTagMappingNodeTest.php
index 1831210546..f67160af8d 100644
--- a/apps/dav/tests/unit/SystemTag/SystemTagMappingNodeTest.php
+++ b/apps/dav/tests/unit/SystemTag/SystemTagMappingNodeTest.php
@@ -25,6 +25,9 @@
namespace OCA\DAV\Tests\unit\SystemTag;
use OC\SystemTag\SystemTag;
+use OCP\IUser;
+use OCP\SystemTag\ISystemTagManager;
+use OCP\SystemTag\ISystemTagObjectMapper;
use OCP\SystemTag\TagNotFoundException;
use OCP\SystemTag\ISystemTag;
@@ -48,11 +51,11 @@ class SystemTagMappingNodeTest extends \Test\TestCase {
protected function setUp() {
parent::setUp();
- $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager')
+ $this->tagManager = $this->getMockBuilder(ISystemTagManager::class)
->getMock();
- $this->tagMapper = $this->getMockBuilder('\OCP\SystemTag\ISystemTagObjectMapper')
+ $this->tagMapper = $this->getMockBuilder(ISystemTagObjectMapper::class)
->getMock();
- $this->user = $this->getMockBuilder('\OCP\IUser')
+ $this->user = $this->getMockBuilder(IUser::class)
->getMock();
}
diff --git a/apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php b/apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php
index 3722bd9d25..dd6892fe6e 100644
--- a/apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php
+++ b/apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php
@@ -26,6 +26,8 @@ namespace OCA\DAV\Tests\unit\SystemTag;
use OC\SystemTag\SystemTag;
+use OCP\IUser;
+use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\TagNotFoundException;
use OCP\SystemTag\TagAlreadyExistsException;
use OCP\SystemTag\ISystemTag;
@@ -46,9 +48,9 @@ class SystemTagNodeTest extends \Test\TestCase {
protected function setUp() {
parent::setUp();
- $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager')
+ $this->tagManager = $this->getMockBuilder(ISystemTagManager::class)
->getMock();
- $this->user = $this->getMockBuilder('\OCP\IUser')
+ $this->user = $this->getMockBuilder(IUser::class)
->getMock();
}
diff --git a/apps/dav/tests/unit/SystemTag/SystemTagPluginTest.php b/apps/dav/tests/unit/SystemTag/SystemTagPluginTest.php
index fcfa528ac6..b231577845 100644
--- a/apps/dav/tests/unit/SystemTag/SystemTagPluginTest.php
+++ b/apps/dav/tests/unit/SystemTag/SystemTagPluginTest.php
@@ -27,11 +27,18 @@
namespace OCA\DAV\Tests\unit\SystemTag;
use OC\SystemTag\SystemTag;
+use OCA\DAV\SystemTag\SystemTagNode;
+use OCA\DAV\SystemTag\SystemTagsByIdCollection;
+use OCA\DAV\SystemTag\SystemTagsObjectMappingCollection;
use OCP\IGroupManager;
use OCP\IUserSession;
+use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\TagAlreadyExistsException;
use OCP\IUser;
use OCP\SystemTag\ISystemTag;
+use Sabre\DAV\Tree;
+use Sabre\HTTP\RequestInterface;
+use Sabre\HTTP\ResponseInterface;
class SystemTagPluginTest extends \Test\TestCase {
@@ -79,19 +86,19 @@ class SystemTagPluginTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
+ $this->tree = $this->getMockBuilder(Tree::class)
->disableOriginalConstructor()
->getMock();
$this->server = new \Sabre\DAV\Server($this->tree);
- $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager')
+ $this->tagManager = $this->getMockBuilder(ISystemTagManager::class)
->getMock();
- $this->groupManager = $this->getMockBuilder('\OCP\IGroupManager')
+ $this->groupManager = $this->getMockBuilder(IGroupManager::class)
->getMock();
- $this->user = $this->getMockBuilder('\OCP\IUser')
+ $this->user = $this->getMockBuilder(IUser::class)
->getMock();
- $this->userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $this->userSession = $this->getMockBuilder(IUserSession::class)
->getMock();
$this->userSession
->expects($this->any())
@@ -189,7 +196,7 @@ class SystemTagPluginTest extends \Test\TestCase {
->with('admin')
->willReturn(true);
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagNode')
+ $node = $this->getMockBuilder(SystemTagNode::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -244,7 +251,7 @@ class SystemTagPluginTest extends \Test\TestCase {
->with('admin')
->willReturn(false);
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagNode')
+ $node = $this->getMockBuilder(SystemTagNode::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -279,7 +286,7 @@ class SystemTagPluginTest extends \Test\TestCase {
->with('admin')
->willReturn(true);
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagNode')
+ $node = $this->getMockBuilder(SystemTagNode::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -337,7 +344,7 @@ class SystemTagPluginTest extends \Test\TestCase {
->with('admin')
->willReturn(false);
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagNode')
+ $node = $this->getMockBuilder(SystemTagNode::class)
->disableOriginalConstructor()
->getMock();
$node->expects($this->any())
@@ -400,7 +407,7 @@ class SystemTagPluginTest extends \Test\TestCase {
}
$requestData = json_encode($requestData);
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsByIdCollection')
+ $node = $this->getMockBuilder(SystemTagsByIdCollection::class)
->disableOriginalConstructor()
->getMock();
$this->tagManager->expects($this->never())
@@ -413,10 +420,10 @@ class SystemTagPluginTest extends \Test\TestCase {
->with('/systemtags')
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -445,7 +452,7 @@ class SystemTagPluginTest extends \Test\TestCase {
'userAssignable' => true,
]);
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsByIdCollection')
+ $node = $this->getMockBuilder(SystemTagsByIdCollection::class)
->disableOriginalConstructor()
->getMock();
$this->tagManager->expects($this->once())
@@ -458,10 +465,10 @@ class SystemTagPluginTest extends \Test\TestCase {
->with('/systemtags')
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -522,7 +529,7 @@ class SystemTagPluginTest extends \Test\TestCase {
}
$requestData = json_encode($requestData);
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsByIdCollection')
+ $node = $this->getMockBuilder(SystemTagsByIdCollection::class)
->disableOriginalConstructor()
->getMock();
$this->tagManager->expects($this->once())
@@ -545,10 +552,10 @@ class SystemTagPluginTest extends \Test\TestCase {
->with('/systemtags')
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -601,7 +608,7 @@ class SystemTagPluginTest extends \Test\TestCase {
'userAssignable' => false,
]);
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsObjectMappingCollection')
+ $node = $this->getMockBuilder(SystemTagsObjectMappingCollection::class)
->disableOriginalConstructor()
->getMock();
@@ -619,10 +626,10 @@ class SystemTagPluginTest extends \Test\TestCase {
->method('createFile')
->with(1);
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -654,7 +661,7 @@ class SystemTagPluginTest extends \Test\TestCase {
* @expectedException \Sabre\DAV\Exception\NotFound
*/
public function testCreateTagToUnknownNode() {
- $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsObjectMappingCollection')
+ $node = $this->getMockBuilder(SystemTagsObjectMappingCollection::class)
->disableOriginalConstructor()
->getMock();
@@ -668,10 +675,10 @@ class SystemTagPluginTest extends \Test\TestCase {
$node->expects($this->never())
->method('createFile');
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
@@ -715,10 +722,10 @@ class SystemTagPluginTest extends \Test\TestCase {
->with('/systemtags')
->will($this->returnValue($node));
- $request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
+ $request = $this->getMockBuilder(RequestInterface::class)
->disableOriginalConstructor()
->getMock();
- $response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')
+ $response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/SystemTag/SystemTagsByIdCollectionTest.php b/apps/dav/tests/unit/SystemTag/SystemTagsByIdCollectionTest.php
index 7343139307..ec52de0536 100644
--- a/apps/dav/tests/unit/SystemTag/SystemTagsByIdCollectionTest.php
+++ b/apps/dav/tests/unit/SystemTag/SystemTagsByIdCollectionTest.php
@@ -26,6 +26,10 @@ namespace OCA\DAV\Tests\unit\SystemTag;
use OC\SystemTag\SystemTag;
+use OCP\IGroupManager;
+use OCP\IUser;
+use OCP\IUserSession;
+use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\TagNotFoundException;
class SystemTagsByIdCollectionTest extends \Test\TestCase {
@@ -43,22 +47,22 @@ class SystemTagsByIdCollectionTest extends \Test\TestCase {
protected function setUp() {
parent::setUp();
- $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager')
+ $this->tagManager = $this->getMockBuilder(ISystemTagManager::class)
->getMock();
}
public function getNode($isAdmin = true) {
- $this->user = $this->getMockBuilder('\OCP\IUser')
+ $this->user = $this->getMockBuilder(IUser::class)
->getMock();
$this->user->expects($this->any())
->method('getUID')
->will($this->returnValue('testuser'));
- $userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $userSession = $this->getMockBuilder(IUserSession::class)
->getMock();
$userSession->expects($this->any())
->method('getUser')
->will($this->returnValue($this->user));
- $groupManager = $this->getMockBuilder('\OCP\IGroupManager')
+ $groupManager = $this->getMockBuilder(IGroupManager::class)
->getMock();
$groupManager->expects($this->any())
->method('isAdmin')
diff --git a/apps/dav/tests/unit/SystemTag/SystemTagsObjectMappingCollectionTest.php b/apps/dav/tests/unit/SystemTag/SystemTagsObjectMappingCollectionTest.php
index 9aa35c2ab2..f99e4df1f6 100644
--- a/apps/dav/tests/unit/SystemTag/SystemTagsObjectMappingCollectionTest.php
+++ b/apps/dav/tests/unit/SystemTag/SystemTagsObjectMappingCollectionTest.php
@@ -26,6 +26,9 @@ namespace OCA\DAV\Tests\unit\SystemTag;
use OC\SystemTag\SystemTag;
+use OCP\IUser;
+use OCP\SystemTag\ISystemTagManager;
+use OCP\SystemTag\ISystemTagObjectMapper;
use OCP\SystemTag\TagNotFoundException;
class SystemTagsObjectMappingCollectionTest extends \Test\TestCase {
@@ -48,12 +51,12 @@ class SystemTagsObjectMappingCollectionTest extends \Test\TestCase {
protected function setUp() {
parent::setUp();
- $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager')
+ $this->tagManager = $this->getMockBuilder(ISystemTagManager::class)
->getMock();
- $this->tagMapper = $this->getMockBuilder('\OCP\SystemTag\ISystemTagObjectMapper')
+ $this->tagMapper = $this->getMockBuilder(ISystemTagObjectMapper::class)
->getMock();
- $this->user = $this->getMockBuilder('\OCP\IUser')
+ $this->user = $this->getMockBuilder(IUser::class)
->getMock();
}
diff --git a/apps/dav/tests/unit/SystemTag/SystemTagsObjectTypeCollectionTest.php b/apps/dav/tests/unit/SystemTag/SystemTagsObjectTypeCollectionTest.php
index 0c065d3451..0dc7ace2b8 100644
--- a/apps/dav/tests/unit/SystemTag/SystemTagsObjectTypeCollectionTest.php
+++ b/apps/dav/tests/unit/SystemTag/SystemTagsObjectTypeCollectionTest.php
@@ -24,6 +24,13 @@
namespace OCA\DAV\Tests\unit\SystemTag;
+use OCP\Files\Folder;
+use OCP\IGroupManager;
+use OCP\IUser;
+use OCP\IUserSession;
+use OCP\SystemTag\ISystemTagManager;
+use OCP\SystemTag\ISystemTagObjectMapper;
+
class SystemTagsObjectTypeCollectionTest extends \Test\TestCase {
/**
@@ -49,29 +56,29 @@ class SystemTagsObjectTypeCollectionTest extends \Test\TestCase {
protected function setUp() {
parent::setUp();
- $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager')
+ $this->tagManager = $this->getMockBuilder(ISystemTagManager::class)
->getMock();
- $this->tagMapper = $this->getMockBuilder('\OCP\SystemTag\ISystemTagObjectMapper')
+ $this->tagMapper = $this->getMockBuilder(ISystemTagObjectMapper::class)
->getMock();
- $user = $this->getMockBuilder('\OCP\IUser')
+ $user = $this->getMockBuilder(IUser::class)
->getMock();
$user->expects($this->any())
->method('getUID')
->will($this->returnValue('testuser'));
- $userSession = $this->getMockBuilder('\OCP\IUserSession')
+ $userSession = $this->getMockBuilder(IUserSession::class)
->getMock();
$userSession->expects($this->any())
->method('getUser')
->will($this->returnValue($user));
- $groupManager = $this->getMockBuilder('\OCP\IGroupManager')
+ $groupManager = $this->getMockBuilder(IGroupManager::class)
->getMock();
$groupManager->expects($this->any())
->method('isAdmin')
->with('testuser')
->will($this->returnValue(true));
- $this->userFolder = $this->getMockBuilder('\OCP\Files\Folder')
+ $this->userFolder = $this->getMockBuilder(Folder::class)
->getMock();
$userFolder = $this->userFolder;
diff --git a/apps/dav/tests/unit/Upload/AssemblyStreamTest.php b/apps/dav/tests/unit/Upload/AssemblyStreamTest.php
index 69ee52299e..0396f80c9f 100644
--- a/apps/dav/tests/unit/Upload/AssemblyStreamTest.php
+++ b/apps/dav/tests/unit/Upload/AssemblyStreamTest.php
@@ -23,6 +23,8 @@
*/
namespace OCA\DAV\Tests\unit\Upload;
+use Sabre\DAV\File;
+
class AssemblyStreamTest extends \Test\TestCase {
/**
@@ -120,7 +122,7 @@ class AssemblyStreamTest extends \Test\TestCase {
}
private function buildNode($name, $data) {
- $node = $this->getMockBuilder('\Sabre\DAV\File')
+ $node = $this->getMockBuilder(File::class)
->setMethods(['getName', 'get', 'getSize'])
->getMockForAbstractClass();
diff --git a/apps/dav/tests/unit/Upload/FutureFileTest.php b/apps/dav/tests/unit/Upload/FutureFileTest.php
index d94f14ab09..1066991253 100644
--- a/apps/dav/tests/unit/Upload/FutureFileTest.php
+++ b/apps/dav/tests/unit/Upload/FutureFileTest.php
@@ -23,6 +23,8 @@
*/
namespace OCA\DAV\Tests\unit\Upload;
+use OCA\DAV\Connector\Sabre\Directory;
+
class FutureFileTest extends \Test\TestCase {
public function testGetContentType() {
@@ -57,7 +59,7 @@ class FutureFileTest extends \Test\TestCase {
}
public function testDelete() {
- $d = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Directory')
+ $d = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->setMethods(['delete'])
->getMock();
@@ -89,7 +91,7 @@ class FutureFileTest extends \Test\TestCase {
* @return \OCA\DAV\Upload\FutureFile
*/
private function mockFutureFile() {
- $d = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Directory')
+ $d = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->setMethods(['getETag', 'getLastModified', 'getChildren'])
->getMock();
diff --git a/apps/encryption/composer/autoload.php b/apps/encryption/composer/autoload.php
new file mode 100644
index 0000000000..52febf1947
--- /dev/null
+++ b/apps/encryption/composer/autoload.php
@@ -0,0 +1,7 @@
+
+ * Jordi Boggiano
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier
+ * @author Jordi Boggiano
+ * @see http://www.php-fig.org/psr/psr-0/
+ * @see http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+ private $classMapAuthoritative = false;
+ private $missingClasses = array();
+ private $apcuPrefix;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * 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-4 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
+ *
+ * @param string|null $apcuPrefix
+ */
+ public function setApcuPrefix($apcuPrefix)
+ {
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ }
+
+ /**
+ * The APCu prefix in use, or null if APCu caching is not enabled.
+ *
+ * @return string|null
+ */
+ public function getApcuPrefix()
+ {
+ return $this->apcuPrefix;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
+ return false;
+ }
+ if (null !== $this->apcuPrefix) {
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
+ if ($hit) {
+ return $file;
+ }
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if (false === $file && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if (null !== $this->apcuPrefix) {
+ apcu_add($this->apcuPrefix.$class, $file);
+ }
+
+ if (false === $file) {
+ // Remember that this class does not exist.
+ $this->missingClasses[$class] = true;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ $subPath = $class;
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
+ $subPath = substr($subPath, 0, $lastPos);
+ $search = $subPath.'\\';
+ if (isset($this->prefixDirsPsr4[$search])) {
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
+ $length = $this->prefixLengthsPsr4[$first][$search];
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+
+ return false;
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/apps/encryption/composer/composer/LICENSE b/apps/encryption/composer/composer/LICENSE
new file mode 100644
index 0000000000..f27399a042
--- /dev/null
+++ b/apps/encryption/composer/composer/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (c) 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
+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/encryption/composer/composer/autoload_classmap.php b/apps/encryption/composer/composer/autoload_classmap.php
new file mode 100644
index 0000000000..7ab0056cc8
--- /dev/null
+++ b/apps/encryption/composer/composer/autoload_classmap.php
@@ -0,0 +1,36 @@
+ $baseDir . '/../lib/AppInfo/Application.php',
+ 'OCA\\Encryption\\Command\\DisableMasterKey' => $baseDir . '/../lib/Command/DisableMasterKey.php',
+ 'OCA\\Encryption\\Command\\EnableMasterKey' => $baseDir . '/../lib/Command/EnableMasterKey.php',
+ 'OCA\\Encryption\\Command\\MigrateKeys' => $baseDir . '/../lib/Command/MigrateKeys.php',
+ 'OCA\\Encryption\\Controller\\RecoveryController' => $baseDir . '/../lib/Controller/RecoveryController.php',
+ 'OCA\\Encryption\\Controller\\SettingsController' => $baseDir . '/../lib/Controller/SettingsController.php',
+ 'OCA\\Encryption\\Controller\\StatusController' => $baseDir . '/../lib/Controller/StatusController.php',
+ 'OCA\\Encryption\\Crypto\\Crypt' => $baseDir . '/../lib/Crypto/Crypt.php',
+ 'OCA\\Encryption\\Crypto\\DecryptAll' => $baseDir . '/../lib/Crypto/DecryptAll.php',
+ 'OCA\\Encryption\\Crypto\\EncryptAll' => $baseDir . '/../lib/Crypto/EncryptAll.php',
+ 'OCA\\Encryption\\Crypto\\Encryption' => $baseDir . '/../lib/Crypto/Encryption.php',
+ 'OCA\\Encryption\\Exceptions\\MultiKeyDecryptException' => $baseDir . '/../lib/Exceptions/MultiKeyDecryptException.php',
+ 'OCA\\Encryption\\Exceptions\\MultiKeyEncryptException' => $baseDir . '/../lib/Exceptions/MultiKeyEncryptException.php',
+ 'OCA\\Encryption\\Exceptions\\PrivateKeyMissingException' => $baseDir . '/../lib/Exceptions/PrivateKeyMissingException.php',
+ 'OCA\\Encryption\\Exceptions\\PublicKeyMissingException' => $baseDir . '/../lib/Exceptions/PublicKeyMissingException.php',
+ 'OCA\\Encryption\\HookManager' => $baseDir . '/../lib/HookManager.php',
+ 'OCA\\Encryption\\Hooks\\Contracts\\IHook' => $baseDir . '/../lib/Hooks/Contracts/IHook.php',
+ 'OCA\\Encryption\\Hooks\\UserHooks' => $baseDir . '/../lib/Hooks/UserHooks.php',
+ 'OCA\\Encryption\\KeyManager' => $baseDir . '/../lib/KeyManager.php',
+ 'OCA\\Encryption\\Migration' => $baseDir . '/../lib/Migration.php',
+ 'OCA\\Encryption\\Migration\\SetMasterKeyStatus' => $baseDir . '/../lib/Migration/SetMasterKeyStatus.php',
+ 'OCA\\Encryption\\Recovery' => $baseDir . '/../lib/Recovery.php',
+ 'OCA\\Encryption\\Session' => $baseDir . '/../lib/Session.php',
+ 'OCA\\Encryption\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php',
+ 'OCA\\Encryption\\Settings\\Personal' => $baseDir . '/../lib/Settings/Personal.php',
+ 'OCA\\Encryption\\Users\\Setup' => $baseDir . '/../lib/Users/Setup.php',
+ 'OCA\\Encryption\\Util' => $baseDir . '/../lib/Util.php',
+);
diff --git a/apps/encryption/composer/composer/autoload_namespaces.php b/apps/encryption/composer/composer/autoload_namespaces.php
new file mode 100644
index 0000000000..71c9e91858
--- /dev/null
+++ b/apps/encryption/composer/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+ array($baseDir . '/../lib'),
+);
diff --git a/apps/encryption/composer/composer/autoload_real.php b/apps/encryption/composer/composer/autoload_real.php
new file mode 100644
index 0000000000..fae90387a0
--- /dev/null
+++ b/apps/encryption/composer/composer/autoload_real.php
@@ -0,0 +1,52 @@
+= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
+ if ($useStaticLoader) {
+ require_once __DIR__ . '/autoload_static.php';
+
+ call_user_func(\Composer\Autoload\ComposerStaticInitEncryption::getInitializer($loader));
+ } else {
+ $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);
+ }
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
diff --git a/apps/encryption/composer/composer/autoload_static.php b/apps/encryption/composer/composer/autoload_static.php
new file mode 100644
index 0000000000..b3ec7c52fe
--- /dev/null
+++ b/apps/encryption/composer/composer/autoload_static.php
@@ -0,0 +1,62 @@
+
+ array (
+ 'OCA\\Encryption\\' => 15,
+ ),
+ );
+
+ public static $prefixDirsPsr4 = array (
+ 'OCA\\Encryption\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/../lib',
+ ),
+ );
+
+ public static $classMap = array (
+ 'OCA\\Encryption\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
+ 'OCA\\Encryption\\Command\\DisableMasterKey' => __DIR__ . '/..' . '/../lib/Command/DisableMasterKey.php',
+ 'OCA\\Encryption\\Command\\EnableMasterKey' => __DIR__ . '/..' . '/../lib/Command/EnableMasterKey.php',
+ 'OCA\\Encryption\\Command\\MigrateKeys' => __DIR__ . '/..' . '/../lib/Command/MigrateKeys.php',
+ 'OCA\\Encryption\\Controller\\RecoveryController' => __DIR__ . '/..' . '/../lib/Controller/RecoveryController.php',
+ 'OCA\\Encryption\\Controller\\SettingsController' => __DIR__ . '/..' . '/../lib/Controller/SettingsController.php',
+ 'OCA\\Encryption\\Controller\\StatusController' => __DIR__ . '/..' . '/../lib/Controller/StatusController.php',
+ 'OCA\\Encryption\\Crypto\\Crypt' => __DIR__ . '/..' . '/../lib/Crypto/Crypt.php',
+ 'OCA\\Encryption\\Crypto\\DecryptAll' => __DIR__ . '/..' . '/../lib/Crypto/DecryptAll.php',
+ 'OCA\\Encryption\\Crypto\\EncryptAll' => __DIR__ . '/..' . '/../lib/Crypto/EncryptAll.php',
+ 'OCA\\Encryption\\Crypto\\Encryption' => __DIR__ . '/..' . '/../lib/Crypto/Encryption.php',
+ 'OCA\\Encryption\\Exceptions\\MultiKeyDecryptException' => __DIR__ . '/..' . '/../lib/Exceptions/MultiKeyDecryptException.php',
+ 'OCA\\Encryption\\Exceptions\\MultiKeyEncryptException' => __DIR__ . '/..' . '/../lib/Exceptions/MultiKeyEncryptException.php',
+ 'OCA\\Encryption\\Exceptions\\PrivateKeyMissingException' => __DIR__ . '/..' . '/../lib/Exceptions/PrivateKeyMissingException.php',
+ 'OCA\\Encryption\\Exceptions\\PublicKeyMissingException' => __DIR__ . '/..' . '/../lib/Exceptions/PublicKeyMissingException.php',
+ 'OCA\\Encryption\\HookManager' => __DIR__ . '/..' . '/../lib/HookManager.php',
+ 'OCA\\Encryption\\Hooks\\Contracts\\IHook' => __DIR__ . '/..' . '/../lib/Hooks/Contracts/IHook.php',
+ 'OCA\\Encryption\\Hooks\\UserHooks' => __DIR__ . '/..' . '/../lib/Hooks/UserHooks.php',
+ 'OCA\\Encryption\\KeyManager' => __DIR__ . '/..' . '/../lib/KeyManager.php',
+ 'OCA\\Encryption\\Migration' => __DIR__ . '/..' . '/../lib/Migration.php',
+ 'OCA\\Encryption\\Migration\\SetMasterKeyStatus' => __DIR__ . '/..' . '/../lib/Migration/SetMasterKeyStatus.php',
+ 'OCA\\Encryption\\Recovery' => __DIR__ . '/..' . '/../lib/Recovery.php',
+ 'OCA\\Encryption\\Session' => __DIR__ . '/..' . '/../lib/Session.php',
+ 'OCA\\Encryption\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php',
+ 'OCA\\Encryption\\Settings\\Personal' => __DIR__ . '/..' . '/../lib/Settings/Personal.php',
+ 'OCA\\Encryption\\Users\\Setup' => __DIR__ . '/..' . '/../lib/Users/Setup.php',
+ 'OCA\\Encryption\\Util' => __DIR__ . '/..' . '/../lib/Util.php',
+ );
+
+ public static function getInitializer(ClassLoader $loader)
+ {
+ return \Closure::bind(function () use ($loader) {
+ $loader->prefixLengthsPsr4 = ComposerStaticInitEncryption::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInitEncryption::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInitEncryption::$classMap;
+
+ }, null, ClassLoader::class);
+ }
+}
diff --git a/apps/encryption/l10n/es_CO.js b/apps/encryption/l10n/es_CO.js
new file mode 100644
index 0000000000..424b1f9313
--- /dev/null
+++ b/apps/encryption/l10n/es_CO.js
@@ -0,0 +1,65 @@
+OC.L10N.register(
+ "encryption",
+ {
+ "Missing recovery key password" : "No se encontró la contraseña de la llave de recuperación",
+ "Please repeat the recovery key password" : "Por favor reingresa la contraseña de recuperación",
+ "Repeated recovery key password does not match the provided recovery key password" : "Las contraseñas de la llave de recuperación no coinciden",
+ "Recovery key successfully enabled" : "Llave de recuperación habilitada exitosamente",
+ "Could not enable recovery key. Please check your recovery key password!" : "No fue posible habilitar la llave de recuperación. ¡Por favor comprueba la contraseña de tu llave de recuperación!",
+ "Recovery key successfully disabled" : "Llave de recuperación deshabilitada exitosamente",
+ "Could not disable recovery key. Please check your recovery key password!" : "No fue posible deshabilitar la llave de recuperación. ¡Por favor comprueba la contraseña de tu llave de recuperación!",
+ "Missing parameters" : "Parámetros faltantes",
+ "Please provide the old recovery password" : "Por favor proporciona tu contraseña de recuperación anterior",
+ "Please provide a new recovery password" : "Por favor proporciona una nueva contraseña de recuperación",
+ "Please repeat the new recovery password" : "Por favor reingresa la nueva contraseña de recuperación",
+ "Password successfully changed." : "La contraseña ha sido cambiada exitosamente",
+ "Could not change the password. Maybe the old password was not correct." : "No fue posible cambiar la contraseña. Por favor verifica que contraseña anterior sea correcta.",
+ "Recovery Key disabled" : "Llave de recuperación deshabilitada",
+ "Recovery Key enabled" : "Llave de recuperación habilitada",
+ "Could not enable the recovery key, please try again or contact your administrator" : "No fue posible habilitar la llave de recuperación, por favor intentalo de nuevo o contacta a tu administrador",
+ "Could not update the private key password." : "No fue posible actualizar la contraseña de la llave privada.",
+ "The old password was not correct, please try again." : "La contraseña anterior no es correcta, favor de intentar de nuevo. ",
+ "The current log-in password was not correct, please try again." : "La contraseña actual para iniciar sesión fue incorrecta, por favor vuelvelo a intentar. ",
+ "Private key password successfully updated." : "Contraseña de llave privada actualizada exitosamente.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la nueva. Por favor ejecuta 'occ encryption:migrate' o contacta a tu adminstrador",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "La llave de encripción privada es inválida para la aplicación de encripción. Por favor actualiza la contraseña de tu llave privada en tus configuraciones personales para recuperar el acceso a tus archivos encriptados. ",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "La aplicación de encripción está habilitada, pero tus llaves no han sido inicializadas. Por favor cierra sesión e inicia sesión de nuevo. ",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Por favor activa el encriptado del lado del servidor en los ajustes de administración para usar el módulo de encripción.",
+ "Encryption app is enabled and ready" : "La aplicación de encripción se cuentra habilitada y lista",
+ "Bad Signature" : "Firma equivocada",
+ "Missing Signature" : "Firma faltante",
+ "one-time password for server-side-encryption" : "Contraseña de una-sola-vez para la encripción del lado del servidor",
+ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es posible decriptar este archivo, posiblemente sea un archivo compartido. Por favor solicita al dueño del archivo que lo vuelva a compartir contigo.",
+ "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es posible leer este archivo, posiblemente sea un archivo compartido. Por favor solicita al dueño que vuelva a compartirlo contigo.",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hola,\n\nel administrador ha habilitado la encripción de lado del servidor. Tus archivos fueron encriptados usando la contraseña '%s'\n\nPor favor inicia sesión en la interface web, ve a la sección \"módulo de encripción básica\" de tus configuraciones personales y actualiza su contraseña de encripción ingresando esta contraseña en el campo 'contraseña de inicio de sesión anterior' y tu contraseña de inicio de sesión actual. \n",
+ "The share will expire on %s." : "El elemento compartido expirará el %s.",
+ "Cheers!" : "¡Saludos!",
+ "Hey there,
the admin enabled server-side-encryption. Your files were encrypted using the password %s.
Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.
" : "Hola,
el administrador ha habilitado la encripción del lado del servidor. Tus archivos fueron encriptados usando la contraseña %s.
Por favor inicia sesisón en la interface web, ve a la sección \"módulo de encripción básica\" de tus configuraciones personales y actualiza tu contraseña de encripción ingresando esta contraseña en el campo \"contraseña de inicio de sesión anterior\" y tu contraseña de inicio de sesión actual.
",
+ "Default encryption module" : "Módulo de encripción predeterminado",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de encripción esta habilitada pero tus llaves no han sido inicializadas, por favor sal y vuelve a entrar a tu sesión",
+ "Encrypt the home storage" : "Encriptar el almacenamiento de inicio",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Habilitar esta opción encripta todos los archivos almacenados en el almacenamiento principal, de otro modo, sólo los archivos en el almacenamiento externo serán encriptados",
+ "Enable recovery key" : "Habilitar llave de recuperación",
+ "Disable recovery key" : "Deshabilitar llave de recuperación",
+ "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La llave de recuperación es una llave de encripción que se usa para encriptar archivos. Permite la recuperación de los archivos del usuario si este olvida su contraseña. ",
+ "Recovery key password" : "Contraseña de llave de recuperación",
+ "Repeat recovery key password" : "Repetir la contraseña de la llave de recuperación",
+ "Change recovery key password:" : "Cambiar la contraseña de la llave de recuperación:",
+ "Old recovery key password" : "Anterior contraseña de llave de recuperación",
+ "New recovery key password" : "Nueva contraseña de llave de recuperación",
+ "Repeat new recovery key password" : "Reingresar la nueva contraseña de llave de recuperación",
+ "Change Password" : "Cambiar contraseña",
+ "Basic encryption module" : "Módulo de encripción básica",
+ "Your private key password no longer matches your log-in password." : "Tu contraseña de llave privada ya no corresónde con tu contraseña de inicio de sesión. ",
+ "Set your old private key password to your current log-in password:" : "Establece tu contraseña de llave privada a tu contraseña actual de inicio de seisón:",
+ " If you don't remember your old password you can ask your administrator to recover your files." : "Si no recuerdas tu contraseña anterior le puedes pedir a tu administrador que recupere tus archivos.",
+ "Old log-in password" : "Contraseña anterior",
+ "Current log-in password" : "Contraseña actual",
+ "Update Private Key Password" : "Actualizar Contraseña de Llave Privada",
+ "Enable password recovery:" : "Habilitar la recuperación de contraseña:",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Habilitar esta opción te permitirá volver a tener acceso a tus archivos encriptados en caso de que pierdas la contraseña",
+ "Enabled" : "Habilitado",
+ "Disabled" : "Deshabilitado",
+ "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de encripción está habilitada pero tus llaves no han sido establecidas, por favor cierra la sesión y vuelve a iniciarla."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/es_CO.json b/apps/encryption/l10n/es_CO.json
new file mode 100644
index 0000000000..dabe0c4c41
--- /dev/null
+++ b/apps/encryption/l10n/es_CO.json
@@ -0,0 +1,63 @@
+{ "translations": {
+ "Missing recovery key password" : "No se encontró la contraseña de la llave de recuperación",
+ "Please repeat the recovery key password" : "Por favor reingresa la contraseña de recuperación",
+ "Repeated recovery key password does not match the provided recovery key password" : "Las contraseñas de la llave de recuperación no coinciden",
+ "Recovery key successfully enabled" : "Llave de recuperación habilitada exitosamente",
+ "Could not enable recovery key. Please check your recovery key password!" : "No fue posible habilitar la llave de recuperación. ¡Por favor comprueba la contraseña de tu llave de recuperación!",
+ "Recovery key successfully disabled" : "Llave de recuperación deshabilitada exitosamente",
+ "Could not disable recovery key. Please check your recovery key password!" : "No fue posible deshabilitar la llave de recuperación. ¡Por favor comprueba la contraseña de tu llave de recuperación!",
+ "Missing parameters" : "Parámetros faltantes",
+ "Please provide the old recovery password" : "Por favor proporciona tu contraseña de recuperación anterior",
+ "Please provide a new recovery password" : "Por favor proporciona una nueva contraseña de recuperación",
+ "Please repeat the new recovery password" : "Por favor reingresa la nueva contraseña de recuperación",
+ "Password successfully changed." : "La contraseña ha sido cambiada exitosamente",
+ "Could not change the password. Maybe the old password was not correct." : "No fue posible cambiar la contraseña. Por favor verifica que contraseña anterior sea correcta.",
+ "Recovery Key disabled" : "Llave de recuperación deshabilitada",
+ "Recovery Key enabled" : "Llave de recuperación habilitada",
+ "Could not enable the recovery key, please try again or contact your administrator" : "No fue posible habilitar la llave de recuperación, por favor intentalo de nuevo o contacta a tu administrador",
+ "Could not update the private key password." : "No fue posible actualizar la contraseña de la llave privada.",
+ "The old password was not correct, please try again." : "La contraseña anterior no es correcta, favor de intentar de nuevo. ",
+ "The current log-in password was not correct, please try again." : "La contraseña actual para iniciar sesión fue incorrecta, por favor vuelvelo a intentar. ",
+ "Private key password successfully updated." : "Contraseña de llave privada actualizada exitosamente.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la nueva. Por favor ejecuta 'occ encryption:migrate' o contacta a tu adminstrador",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "La llave de encripción privada es inválida para la aplicación de encripción. Por favor actualiza la contraseña de tu llave privada en tus configuraciones personales para recuperar el acceso a tus archivos encriptados. ",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "La aplicación de encripción está habilitada, pero tus llaves no han sido inicializadas. Por favor cierra sesión e inicia sesión de nuevo. ",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Por favor activa el encriptado del lado del servidor en los ajustes de administración para usar el módulo de encripción.",
+ "Encryption app is enabled and ready" : "La aplicación de encripción se cuentra habilitada y lista",
+ "Bad Signature" : "Firma equivocada",
+ "Missing Signature" : "Firma faltante",
+ "one-time password for server-side-encryption" : "Contraseña de una-sola-vez para la encripción del lado del servidor",
+ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es posible decriptar este archivo, posiblemente sea un archivo compartido. Por favor solicita al dueño del archivo que lo vuelva a compartir contigo.",
+ "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es posible leer este archivo, posiblemente sea un archivo compartido. Por favor solicita al dueño que vuelva a compartirlo contigo.",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hola,\n\nel administrador ha habilitado la encripción de lado del servidor. Tus archivos fueron encriptados usando la contraseña '%s'\n\nPor favor inicia sesión en la interface web, ve a la sección \"módulo de encripción básica\" de tus configuraciones personales y actualiza su contraseña de encripción ingresando esta contraseña en el campo 'contraseña de inicio de sesión anterior' y tu contraseña de inicio de sesión actual. \n",
+ "The share will expire on %s." : "El elemento compartido expirará el %s.",
+ "Cheers!" : "¡Saludos!",
+ "Hey there,
the admin enabled server-side-encryption. Your files were encrypted using the password %s.
Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.
" : "Hola,
el administrador ha habilitado la encripción del lado del servidor. Tus archivos fueron encriptados usando la contraseña %s.
Por favor inicia sesisón en la interface web, ve a la sección \"módulo de encripción básica\" de tus configuraciones personales y actualiza tu contraseña de encripción ingresando esta contraseña en el campo \"contraseña de inicio de sesión anterior\" y tu contraseña de inicio de sesión actual.
",
+ "Default encryption module" : "Módulo de encripción predeterminado",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de encripción esta habilitada pero tus llaves no han sido inicializadas, por favor sal y vuelve a entrar a tu sesión",
+ "Encrypt the home storage" : "Encriptar el almacenamiento de inicio",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Habilitar esta opción encripta todos los archivos almacenados en el almacenamiento principal, de otro modo, sólo los archivos en el almacenamiento externo serán encriptados",
+ "Enable recovery key" : "Habilitar llave de recuperación",
+ "Disable recovery key" : "Deshabilitar llave de recuperación",
+ "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La llave de recuperación es una llave de encripción que se usa para encriptar archivos. Permite la recuperación de los archivos del usuario si este olvida su contraseña. ",
+ "Recovery key password" : "Contraseña de llave de recuperación",
+ "Repeat recovery key password" : "Repetir la contraseña de la llave de recuperación",
+ "Change recovery key password:" : "Cambiar la contraseña de la llave de recuperación:",
+ "Old recovery key password" : "Anterior contraseña de llave de recuperación",
+ "New recovery key password" : "Nueva contraseña de llave de recuperación",
+ "Repeat new recovery key password" : "Reingresar la nueva contraseña de llave de recuperación",
+ "Change Password" : "Cambiar contraseña",
+ "Basic encryption module" : "Módulo de encripción básica",
+ "Your private key password no longer matches your log-in password." : "Tu contraseña de llave privada ya no corresónde con tu contraseña de inicio de sesión. ",
+ "Set your old private key password to your current log-in password:" : "Establece tu contraseña de llave privada a tu contraseña actual de inicio de seisón:",
+ " If you don't remember your old password you can ask your administrator to recover your files." : "Si no recuerdas tu contraseña anterior le puedes pedir a tu administrador que recupere tus archivos.",
+ "Old log-in password" : "Contraseña anterior",
+ "Current log-in password" : "Contraseña actual",
+ "Update Private Key Password" : "Actualizar Contraseña de Llave Privada",
+ "Enable password recovery:" : "Habilitar la recuperación de contraseña:",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Habilitar esta opción te permitirá volver a tener acceso a tus archivos encriptados en caso de que pierdas la contraseña",
+ "Enabled" : "Habilitado",
+ "Disabled" : "Deshabilitado",
+ "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de encripción está habilitada pero tus llaves no han sido establecidas, por favor cierra la sesión y vuelve a iniciarla."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/apps/encryption/l10n/eu.js b/apps/encryption/l10n/eu.js
index 1c8bdf4fa0..8a256e2de1 100644
--- a/apps/encryption/l10n/eu.js
+++ b/apps/encryption/l10n/eu.js
@@ -8,23 +8,48 @@ OC.L10N.register(
"Could not enable recovery key. Please check your recovery key password!" : "Ezin da berreskuratze gako gaitu. Egiaztatu berreskuratze gako pasahitza!",
"Recovery key successfully disabled" : "Berreskuratze gakoa behar bezala desgaitu da",
"Could not disable recovery key. Please check your recovery key password!" : "Ezin da berreskuratze gako desgaitu. Egiaztatu berreskuratze gako pasahitza!",
+ "Missing parameters" : "Parametroak faltan",
"Please provide the old recovery password" : "Mesedez sartu berreskuratze pasahitz zaharra",
"Please provide a new recovery password" : "Mesedez sartu berreskuratze pasahitz berria",
"Please repeat the new recovery password" : "Mesedez errepikatu berreskuratze pasahitz berria",
"Password successfully changed." : "Pasahitza behar bezala aldatu da.",
"Could not change the password. Maybe the old password was not correct." : "Ezin izan da pasahitza aldatu. Agian pasahitz zaharra okerrekoa da.",
+ "Recovery Key disabled" : "Berreskuratze gakoa desgaituta",
+ "Recovery Key enabled" : "Berreskuratze gakoa gaituta",
+ "Could not enable the recovery key, please try again or contact your administrator" : "Ezin da berreskuratze gakoa gaitu, saia zaitez berriz mesedez edo zureadministratzailearekin kontaktuan jarri",
"Could not update the private key password." : "Ezin izan da gako pribatu pasahitza eguneratu. ",
"The old password was not correct, please try again." : "Pasahitz zaharra ez da egokia. Mesedez, saiatu berriro.",
"The current log-in password was not correct, please try again." : "Oraingo pasahitza ez da egokia. Mesedez, saiatu berriro.",
"Private key password successfully updated." : "Gako pasahitz pribatu behar bezala eguneratu da.",
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu okerra. Mesedez eguneratu zure gako pribatuaren pasahitza zure ezarpen pertsonaletan zure enkriptatuko fitxategietarako sarrera berreskuratzeko.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Zure enkriptatze gakoak enkriptatze zaharretik (ownCloud <=8.0) berrira migratubehar duzu. 'occ encryption:migrate' exekuta ezazu mesedez, edo zure administratzailearekin kontaktuan jar zaitez",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu desegokia. Zure gako pribatuaren pasahitza eguneratuezarpen pertsonaletan, enkriptatutako fitxategiak berriz atzitu nahi badituzu",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Enkriptazioa app-a gaituta dago, baina zure gakoak ez dira hasieratu. Saiotikirten eta berriz sartu, mesedez",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Enkriptazio modulua erabili ahal izateko zerbitzariaren aldean enkriptazioagaitu administrazio ezarpenetan",
+ "Encryption app is enabled and ready" : "Enkriptazioa app-a gaituta eta martxan dago",
+ "Bad Signature" : "Sinadura ezegokia",
+ "Missing Signature" : "Sinadura falta da",
+ "one-time password for server-side-encryption" : "aldi bateko pasahitzak zerbitzari-aldeko enkriptaziorako",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ezin izan da fitxategi hau deszifratu, ziurrenik elkarbanatutako fitxategi bat da. Mesdez, eskatu fitxategiaren jabeari fitxategia zurekin berriz elkarbana dezan.",
+ "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ezin da fitxategi hau irakurri, ziur aski partekatutako fitxategia izango da. Fitxategiaren jabeari berriz partekatzeko eska iezaiozu",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Kaixo\n\nadministradoreak zerbitzari-aldeko enkriptazioa gaitu du. Zure fitxategiak '%s' pasahitza erabiliz enkriptatuko dira.\n\nWeb interfazea saioa hasi, 'oinarrizko enkripazio modulua' atalera joan zaitez eta pasahitza eguneratu. Hortarako pasahitz zaharra 'pasahitz zaharra' atalean sartu eta zure oraingo pasahitza",
"The share will expire on %s." : "Elkarbanaketa %s-n iraungiko da.",
"Cheers!" : "Ongi izan!",
+ "Hey there,
the admin enabled server-side-encryption. Your files were encrypted using the password %s.
Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.
" : "Kaixo
administradoreak zerbitzari-aldeko enkriptazioa gaitu du. Zure fitxategiak '%s' pasahitza erabiliz enkriptatuko dira.\n\nWeb interfazea saioa hasi, 'oinarrizko enkripazio modulua' atalera joan zaitez eta pasahitza eguneratu. Hortarako pasahitz zaharra 'pasahitz zaharra' atalean sartu eta zure oraingo pasahitza",
+ "Default encryption module" : "Defektuzko enkriptazio modulua",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio app-a gaituta dago baina zure gakoak ez dira hasieratu, mesedez saiotik irteneta berriz sar zaitez",
+ "Encrypt the home storage" : "Etxe-biltegia enkriptatu",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aukera hau gaituz gero biltegi orokorreko fitxategi guztiak enkriptatuko dirabestela kanpo biltegian daudenak bakarrik enkriptatuko dira",
+ "Enable recovery key" : "Berreskuratze gakoa gaitu",
+ "Disable recovery key" : "Berreskuratze gakoa desgaitu",
+ "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Berreskuratze gakoa fitxategiak enkriptatzeko gako extra bat da.Erabiltzailearen fitxategiak berreskuratzea baimentzen du bere pasahitzagalduz gero.",
"Recovery key password" : "Berreskuratze gako pasahitza",
+ "Repeat recovery key password" : "Berreskuratze gakoaren pasahitza errepikatu",
"Change recovery key password:" : "Aldatu berreskuratze gako pasahitza:",
+ "Old recovery key password" : "Berreskuratze gako zaharraren pasahitza",
+ "New recovery key password" : "Berreskuratze gako berriaren pasahitza",
+ "Repeat new recovery key password" : "Berreskuratze gakoaren pasahitz berria errepikatu",
"Change Password" : "Aldatu Pasahitza",
+ "Basic encryption module" : "Oinarrizko enkriptazio modulua",
"Your private key password no longer matches your log-in password." : "Zure gako pasahitza pribatua ez da dagoeneko bat etortzen zure sartzeko pasahitzarekin.",
"Set your old private key password to your current log-in password:" : "Ezarri zure gako pasahitz zaharra orain duzun sartzeko pasahitzan:",
" If you don't remember your old password you can ask your administrator to recover your files." : "Ez baduzu zure pasahitz zaharra gogoratzen eskatu zure administratzaileari zure fitxategiak berreskuratzeko.",
@@ -34,6 +59,7 @@ OC.L10N.register(
"Enable password recovery:" : "Gaitu pasahitzaren berreskuratzea:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aukera hau gaituz zure enkriptatutako fitxategiak berreskuratu ahal izango dituzu pasahitza galtzekotan",
"Enabled" : "Gaitua",
- "Disabled" : "Ez-gaitua"
+ "Disabled" : "Ez-gaitua",
+ "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/eu.json b/apps/encryption/l10n/eu.json
index 0c07ebd477..e684651f83 100644
--- a/apps/encryption/l10n/eu.json
+++ b/apps/encryption/l10n/eu.json
@@ -6,23 +6,48 @@
"Could not enable recovery key. Please check your recovery key password!" : "Ezin da berreskuratze gako gaitu. Egiaztatu berreskuratze gako pasahitza!",
"Recovery key successfully disabled" : "Berreskuratze gakoa behar bezala desgaitu da",
"Could not disable recovery key. Please check your recovery key password!" : "Ezin da berreskuratze gako desgaitu. Egiaztatu berreskuratze gako pasahitza!",
+ "Missing parameters" : "Parametroak faltan",
"Please provide the old recovery password" : "Mesedez sartu berreskuratze pasahitz zaharra",
"Please provide a new recovery password" : "Mesedez sartu berreskuratze pasahitz berria",
"Please repeat the new recovery password" : "Mesedez errepikatu berreskuratze pasahitz berria",
"Password successfully changed." : "Pasahitza behar bezala aldatu da.",
"Could not change the password. Maybe the old password was not correct." : "Ezin izan da pasahitza aldatu. Agian pasahitz zaharra okerrekoa da.",
+ "Recovery Key disabled" : "Berreskuratze gakoa desgaituta",
+ "Recovery Key enabled" : "Berreskuratze gakoa gaituta",
+ "Could not enable the recovery key, please try again or contact your administrator" : "Ezin da berreskuratze gakoa gaitu, saia zaitez berriz mesedez edo zureadministratzailearekin kontaktuan jarri",
"Could not update the private key password." : "Ezin izan da gako pribatu pasahitza eguneratu. ",
"The old password was not correct, please try again." : "Pasahitz zaharra ez da egokia. Mesedez, saiatu berriro.",
"The current log-in password was not correct, please try again." : "Oraingo pasahitza ez da egokia. Mesedez, saiatu berriro.",
"Private key password successfully updated." : "Gako pasahitz pribatu behar bezala eguneratu da.",
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu okerra. Mesedez eguneratu zure gako pribatuaren pasahitza zure ezarpen pertsonaletan zure enkriptatuko fitxategietarako sarrera berreskuratzeko.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Zure enkriptatze gakoak enkriptatze zaharretik (ownCloud <=8.0) berrira migratubehar duzu. 'occ encryption:migrate' exekuta ezazu mesedez, edo zure administratzailearekin kontaktuan jar zaitez",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu desegokia. Zure gako pribatuaren pasahitza eguneratuezarpen pertsonaletan, enkriptatutako fitxategiak berriz atzitu nahi badituzu",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Enkriptazioa app-a gaituta dago, baina zure gakoak ez dira hasieratu. Saiotikirten eta berriz sartu, mesedez",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Enkriptazio modulua erabili ahal izateko zerbitzariaren aldean enkriptazioagaitu administrazio ezarpenetan",
+ "Encryption app is enabled and ready" : "Enkriptazioa app-a gaituta eta martxan dago",
+ "Bad Signature" : "Sinadura ezegokia",
+ "Missing Signature" : "Sinadura falta da",
+ "one-time password for server-side-encryption" : "aldi bateko pasahitzak zerbitzari-aldeko enkriptaziorako",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ezin izan da fitxategi hau deszifratu, ziurrenik elkarbanatutako fitxategi bat da. Mesdez, eskatu fitxategiaren jabeari fitxategia zurekin berriz elkarbana dezan.",
+ "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ezin da fitxategi hau irakurri, ziur aski partekatutako fitxategia izango da. Fitxategiaren jabeari berriz partekatzeko eska iezaiozu",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Kaixo\n\nadministradoreak zerbitzari-aldeko enkriptazioa gaitu du. Zure fitxategiak '%s' pasahitza erabiliz enkriptatuko dira.\n\nWeb interfazea saioa hasi, 'oinarrizko enkripazio modulua' atalera joan zaitez eta pasahitza eguneratu. Hortarako pasahitz zaharra 'pasahitz zaharra' atalean sartu eta zure oraingo pasahitza",
"The share will expire on %s." : "Elkarbanaketa %s-n iraungiko da.",
"Cheers!" : "Ongi izan!",
+ "Hey there,
the admin enabled server-side-encryption. Your files were encrypted using the password %s.
Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.
" : "Kaixo
administradoreak zerbitzari-aldeko enkriptazioa gaitu du. Zure fitxategiak '%s' pasahitza erabiliz enkriptatuko dira.\n\nWeb interfazea saioa hasi, 'oinarrizko enkripazio modulua' atalera joan zaitez eta pasahitza eguneratu. Hortarako pasahitz zaharra 'pasahitz zaharra' atalean sartu eta zure oraingo pasahitza",
+ "Default encryption module" : "Defektuzko enkriptazio modulua",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio app-a gaituta dago baina zure gakoak ez dira hasieratu, mesedez saiotik irteneta berriz sar zaitez",
+ "Encrypt the home storage" : "Etxe-biltegia enkriptatu",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aukera hau gaituz gero biltegi orokorreko fitxategi guztiak enkriptatuko dirabestela kanpo biltegian daudenak bakarrik enkriptatuko dira",
+ "Enable recovery key" : "Berreskuratze gakoa gaitu",
+ "Disable recovery key" : "Berreskuratze gakoa desgaitu",
+ "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Berreskuratze gakoa fitxategiak enkriptatzeko gako extra bat da.Erabiltzailearen fitxategiak berreskuratzea baimentzen du bere pasahitzagalduz gero.",
"Recovery key password" : "Berreskuratze gako pasahitza",
+ "Repeat recovery key password" : "Berreskuratze gakoaren pasahitza errepikatu",
"Change recovery key password:" : "Aldatu berreskuratze gako pasahitza:",
+ "Old recovery key password" : "Berreskuratze gako zaharraren pasahitza",
+ "New recovery key password" : "Berreskuratze gako berriaren pasahitza",
+ "Repeat new recovery key password" : "Berreskuratze gakoaren pasahitz berria errepikatu",
"Change Password" : "Aldatu Pasahitza",
+ "Basic encryption module" : "Oinarrizko enkriptazio modulua",
"Your private key password no longer matches your log-in password." : "Zure gako pasahitza pribatua ez da dagoeneko bat etortzen zure sartzeko pasahitzarekin.",
"Set your old private key password to your current log-in password:" : "Ezarri zure gako pasahitz zaharra orain duzun sartzeko pasahitzan:",
" If you don't remember your old password you can ask your administrator to recover your files." : "Ez baduzu zure pasahitz zaharra gogoratzen eskatu zure administratzaileari zure fitxategiak berreskuratzeko.",
@@ -32,6 +57,7 @@
"Enable password recovery:" : "Gaitu pasahitzaren berreskuratzea:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aukera hau gaituz zure enkriptatutako fitxategiak berreskuratu ahal izango dituzu pasahitza galtzekotan",
"Enabled" : "Gaitua",
- "Disabled" : "Ez-gaitua"
+ "Disabled" : "Ez-gaitua",
+ "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/encryption/l10n/zh_TW.js b/apps/encryption/l10n/zh_TW.js
index ed09e5f796..93fe93de72 100644
--- a/apps/encryption/l10n/zh_TW.js
+++ b/apps/encryption/l10n/zh_TW.js
@@ -22,6 +22,10 @@ OC.L10N.register(
"The current log-in password was not correct, please try again." : "目前登入的密碼不正確,請再試一次",
"Private key password successfully updated." : "私人金鑰密碼已成功更新。",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "您需要搬移您的加密鑰匙從舊版的加密 (ownCloud <= 8.0) 到新版,請執行 'occ encryption:migrate' 或是聯絡系統管理員",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "無效的加密應用程序私鑰。請在您的個人設定中更新您的私鑰密碼,以恢復對加密文件的訪問。",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "已啟用加密應用,但是你的加密密鑰沒有初始化。請重新登出並登入系統一次。",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "請啟用管理員設定中的伺服器端加密,以使用加密模組。",
+ "Encryption app is enabled and ready" : "加密應用程式已啟用並準備就緒",
"Bad Signature" : "壞的簽章",
"Missing Signature" : "遺失簽章",
"one-time password for server-side-encryption" : "一次性密碼用於伺服器端的加密",
@@ -31,6 +35,8 @@ OC.L10N.register(
"The share will expire on %s." : "這個分享將會於 %s 過期",
"Cheers!" : "太棒了!",
"Hey there,
the admin enabled server-side-encryption. Your files were encrypted using the password %s.
Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.
",
+ "Default encryption module" : "預設加密模組",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "已啟用加密應用,但是你的加密密鑰沒有初始化。請重新登出並登入系統一次。",
"Encrypt the home storage" : "加密家目錄空間",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "請啟用這個功能以用來加密主要儲存空間的檔案,否則只有再外部儲存的檔案會加密",
"Enable recovery key" : "啟用還原金鑰",
@@ -43,6 +49,7 @@ OC.L10N.register(
"New recovery key password" : "新的還原金鑰密碼",
"Repeat new recovery key password" : "再輸入新的還原金鑰密碼一次",
"Change Password" : "變更密碼",
+ "Basic encryption module" : "基本加密模組",
"Your private key password no longer matches your log-in password." : "您的私人金鑰密碼不符合您的登入密碼",
"Set your old private key password to your current log-in password:" : "設定您的舊私人金鑰密碼到您現在的登入密碼:",
" If you don't remember your old password you can ask your administrator to recover your files." : "如果您忘記舊密碼,可以請求管理員協助取回檔案。",
diff --git a/apps/encryption/l10n/zh_TW.json b/apps/encryption/l10n/zh_TW.json
index 28ef2eeab6..545a78efdd 100644
--- a/apps/encryption/l10n/zh_TW.json
+++ b/apps/encryption/l10n/zh_TW.json
@@ -20,6 +20,10 @@
"The current log-in password was not correct, please try again." : "目前登入的密碼不正確,請再試一次",
"Private key password successfully updated." : "私人金鑰密碼已成功更新。",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "您需要搬移您的加密鑰匙從舊版的加密 (ownCloud <= 8.0) 到新版,請執行 'occ encryption:migrate' 或是聯絡系統管理員",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "無效的加密應用程序私鑰。請在您的個人設定中更新您的私鑰密碼,以恢復對加密文件的訪問。",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "已啟用加密應用,但是你的加密密鑰沒有初始化。請重新登出並登入系統一次。",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "請啟用管理員設定中的伺服器端加密,以使用加密模組。",
+ "Encryption app is enabled and ready" : "加密應用程式已啟用並準備就緒",
"Bad Signature" : "壞的簽章",
"Missing Signature" : "遺失簽章",
"one-time password for server-side-encryption" : "一次性密碼用於伺服器端的加密",
@@ -29,6 +33,8 @@
"The share will expire on %s." : "這個分享將會於 %s 過期",
"Cheers!" : "太棒了!",
"Hey there,
the admin enabled server-side-encryption. Your files were encrypted using the password %s.
Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.
",
+ "Default encryption module" : "預設加密模組",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "已啟用加密應用,但是你的加密密鑰沒有初始化。請重新登出並登入系統一次。",
"Encrypt the home storage" : "加密家目錄空間",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "請啟用這個功能以用來加密主要儲存空間的檔案,否則只有再外部儲存的檔案會加密",
"Enable recovery key" : "啟用還原金鑰",
@@ -41,6 +47,7 @@
"New recovery key password" : "新的還原金鑰密碼",
"Repeat new recovery key password" : "再輸入新的還原金鑰密碼一次",
"Change Password" : "變更密碼",
+ "Basic encryption module" : "基本加密模組",
"Your private key password no longer matches your log-in password." : "您的私人金鑰密碼不符合您的登入密碼",
"Set your old private key password to your current log-in password:" : "設定您的舊私人金鑰密碼到您現在的登入密碼:",
" If you don't remember your old password you can ask your administrator to recover your files." : "如果您忘記舊密碼,可以請求管理員協助取回檔案。",
diff --git a/apps/encryption/lib/Hooks/UserHooks.php b/apps/encryption/lib/Hooks/UserHooks.php
index e0826e2c7e..a08796aee5 100644
--- a/apps/encryption/lib/Hooks/UserHooks.php
+++ b/apps/encryption/lib/Hooks/UserHooks.php
@@ -170,11 +170,6 @@ class UserHooks implements IHook {
* @return boolean|null
*/
public function login($params) {
-
- if (!App::isEnabled('encryption')) {
- return true;
- }
-
// ensure filesystem is loaded
if (!\OC\Files\Filesystem::$loaded) {
$this->setupFS($params['uid']);
@@ -200,10 +195,7 @@ class UserHooks implements IHook {
* @param array $params
*/
public function postCreateUser($params) {
-
- if (App::isEnabled('encryption')) {
- $this->userSetup->setupUser($params['uid'], $params['password']);
- }
+ $this->userSetup->setupUser($params['uid'], $params['password']);
}
/**
@@ -213,17 +205,12 @@ class UserHooks implements IHook {
* @note This method should never be called for users using client side encryption
*/
public function postDeleteUser($params) {
-
- if (App::isEnabled('encryption')) {
- $this->keyManager->deletePublicKey($params['uid']);
- }
+ $this->keyManager->deletePublicKey($params['uid']);
}
public function prePasswordReset($params) {
- if (App::isEnabled('encryption')) {
- $user = $params['uid'];
- self::$passwordResetUsers[$user] = true;
- }
+ $user = $params['uid'];
+ self::$passwordResetUsers[$user] = true;
}
public function postPasswordReset($params) {
diff --git a/apps/encryption/lib/Migration.php b/apps/encryption/lib/Migration.php
index 7f4acbb68d..656cab6a1e 100644
--- a/apps/encryption/lib/Migration.php
+++ b/apps/encryption/lib/Migration.php
@@ -26,6 +26,7 @@ namespace OCA\Encryption;
use OC\Files\View;
+use OCP\App\IAppManager;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\ILogger;
@@ -43,6 +44,8 @@ class Migration {
private $logger;
/** @var string*/
protected $installedVersion;
+ /** @var IAppManager */
+ protected $appManager;
/**
* @param IConfig $config
@@ -50,7 +53,7 @@ class Migration {
* @param IDBConnection $connection
* @param ILogger $logger
*/
- public function __construct(IConfig $config, View $view, IDBConnection $connection, ILogger $logger) {
+ public function __construct(IConfig $config, View $view, IDBConnection $connection, ILogger $logger, IAppManager $appManager) {
$this->view = $view;
$this->view->disableCacheUpdate();
$this->connection = $connection;
@@ -58,6 +61,7 @@ class Migration {
$this->config = $config;
$this->logger = $logger;
$this->installedVersion = $this->config->getAppValue('files_encryption', 'installed_version', '-1');
+ $this->appManager = $appManager;
}
public function finalCleanUp() {
@@ -137,7 +141,7 @@ class Migration {
$path = '/files_encryption/keys';
$this->renameFileKeys($user, $path);
$trashPath = '/files_trashbin/keys';
- if (\OC_App::isEnabled('files_trashbin') && $this->view->is_dir($user . '/' . $trashPath)) {
+ if ($this->appManager->isEnabledForUser('files_trashbin') && $this->view->is_dir($user . '/' . $trashPath)) {
$this->renameFileKeys($user, $trashPath, true);
$this->view->deleteAll($trashPath);
}
diff --git a/apps/encryption/tests/Command/TestEnableMasterKey.php b/apps/encryption/tests/Command/TestEnableMasterKey.php
index 75d5fa3d5e..58118db8c5 100644
--- a/apps/encryption/tests/Command/TestEnableMasterKey.php
+++ b/apps/encryption/tests/Command/TestEnableMasterKey.php
@@ -27,6 +27,10 @@ namespace OCA\Encryption\Tests\Command;
use OCA\Encryption\Command\EnableMasterKey;
use OCA\Encryption\Util;
+use OCP\IConfig;
+use Symfony\Component\Console\Helper\QuestionHelper;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
use Test\TestCase;
class TestEnableMasterKey extends TestCase {
@@ -52,15 +56,15 @@ class TestEnableMasterKey extends TestCase {
public function setUp() {
parent::setUp();
- $this->util = $this->getMockBuilder('OCA\Encryption\Util')
+ $this->util = $this->getMockBuilder(Util::class)
->disableOriginalConstructor()->getMock();
- $this->config = $this->getMockBuilder('OCP\IConfig')
+ $this->config = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()->getMock();
- $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper')
+ $this->questionHelper = $this->getMockBuilder(QuestionHelper::class)
->disableOriginalConstructor()->getMock();
- $this->output = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface')
+ $this->output = $this->getMockBuilder(OutputInterface::class)
->disableOriginalConstructor()->getMock();
- $this->input = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface')
+ $this->input = $this->getMockBuilder(InputInterface::class)
->disableOriginalConstructor()->getMock();
$this->enableMasterKey = new EnableMasterKey($this->util, $this->config, $this->questionHelper);
diff --git a/apps/encryption/tests/Controller/RecoveryControllerTest.php b/apps/encryption/tests/Controller/RecoveryControllerTest.php
index fd1b0663b4..7ab3bc7eeb 100644
--- a/apps/encryption/tests/Controller/RecoveryControllerTest.php
+++ b/apps/encryption/tests/Controller/RecoveryControllerTest.php
@@ -26,7 +26,11 @@ namespace OCA\Encryption\Tests\Controller;
use OCA\Encryption\Controller\RecoveryController;
+use OCA\Encryption\Recovery;
use OCP\AppFramework\Http;
+use OCP\IConfig;
+use OCP\IL10N;
+use OCP\IRequest;
use Test\TestCase;
class RecoveryControllerTest extends TestCase {
@@ -151,15 +155,15 @@ class RecoveryControllerTest extends TestCase {
protected function setUp() {
parent::setUp();
- $this->requestMock = $this->getMockBuilder('OCP\IRequest')
+ $this->requestMock = $this->getMockBuilder(IRequest::class)
->disableOriginalConstructor()
->getMock();
- $this->configMock = $this->getMockBuilder('OCP\IConfig')
+ $this->configMock = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()
->getMock();
- $this->l10nMock = $this->getMockBuilder('OCP\IL10N')
+ $this->l10nMock = $this->getMockBuilder(IL10N::class)
->disableOriginalConstructor()
->getMock();
@@ -168,7 +172,7 @@ class RecoveryControllerTest extends TestCase {
->method('t')
->willReturnArgument(0);
- $this->recoveryMock = $this->getMockBuilder('OCA\Encryption\Recovery')
+ $this->recoveryMock = $this->getMockBuilder(Recovery::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/encryption/tests/Controller/SettingsControllerTest.php b/apps/encryption/tests/Controller/SettingsControllerTest.php
index 4f3e09687e..aceb94b23f 100644
--- a/apps/encryption/tests/Controller/SettingsControllerTest.php
+++ b/apps/encryption/tests/Controller/SettingsControllerTest.php
@@ -24,9 +24,16 @@
namespace OCA\Encryption\Tests\Controller;
use OCA\Encryption\Controller\SettingsController;
+use OCA\Encryption\Crypto\Crypt;
+use OCA\Encryption\KeyManager;
use OCA\Encryption\Session;
+use OCA\Encryption\Util;
use OCP\AppFramework\Http;
+use OCP\IL10N;
use OCP\IRequest;
+use OCP\ISession;
+use OCP\IUserManager;
+use OCP\IUserSession;
use Test\TestCase;
class SettingsControllerTest extends TestCase {
@@ -67,7 +74,7 @@ class SettingsControllerTest extends TestCase {
$this->requestMock = $this->createMock(IRequest::class);
- $this->l10nMock = $this->getMockBuilder('OCP\IL10N')
+ $this->l10nMock = $this->getMockBuilder(IL10N::class)
->disableOriginalConstructor()->getMock();
$this->l10nMock->expects($this->any())
@@ -76,16 +83,16 @@ class SettingsControllerTest extends TestCase {
return $message;
}));
- $this->userManagerMock = $this->getMockBuilder('OCP\IUserManager')
+ $this->userManagerMock = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()->getMock();
- $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ $this->keyManagerMock = $this->getMockBuilder(KeyManager::class)
->disableOriginalConstructor()->getMock();
- $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
+ $this->cryptMock = $this->getMockBuilder(Crypt::class)
->disableOriginalConstructor()->getMock();
- $this->userSessionMock = $this->getMockBuilder('OCP\IUserSession')
+ $this->userSessionMock = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->setMethods([
'isLoggedIn',
@@ -98,7 +105,7 @@ class SettingsControllerTest extends TestCase {
])
->getMock();
- $this->ocSessionMock = $this->getMockBuilder('OCP\ISession')->disableOriginalConstructor()->getMock();
+ $this->ocSessionMock = $this->getMockBuilder(ISession::class)->disableOriginalConstructor()->getMock();
$this->userSessionMock->expects($this->any())
->method('getUID')
@@ -108,10 +115,10 @@ class SettingsControllerTest extends TestCase {
->method($this->anything())
->will($this->returnSelf());
- $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session')
+ $this->sessionMock = $this->getMockBuilder(Session::class)
->disableOriginalConstructor()->getMock();
- $this->utilMock = $this->getMockBuilder('OCA\Encryption\Util')
+ $this->utilMock = $this->getMockBuilder(Util::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/encryption/tests/Controller/StatusControllerTest.php b/apps/encryption/tests/Controller/StatusControllerTest.php
index ee0f7b2661..d72fcd1ac3 100644
--- a/apps/encryption/tests/Controller/StatusControllerTest.php
+++ b/apps/encryption/tests/Controller/StatusControllerTest.php
@@ -28,6 +28,7 @@ namespace OCA\Encryption\Tests\Controller;
use OCA\Encryption\Controller\StatusController;
use OCA\Encryption\Session;
use OCP\Encryption\IManager;
+use OCP\IL10N;
use OCP\IRequest;
use Test\TestCase;
@@ -52,11 +53,11 @@ class StatusControllerTest extends TestCase {
parent::setUp();
- $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session')
+ $this->sessionMock = $this->getMockBuilder(Session::class)
->disableOriginalConstructor()->getMock();
$this->requestMock = $this->createMock(IRequest::class);
- $this->l10nMock = $this->getMockBuilder('OCP\IL10N')
+ $this->l10nMock = $this->getMockBuilder(IL10N::class)
->disableOriginalConstructor()->getMock();
$this->l10nMock->expects($this->any())
->method('t')
diff --git a/apps/encryption/tests/Crypto/CryptTest.php b/apps/encryption/tests/Crypto/CryptTest.php
index 3c226ed94a..ace4453a80 100644
--- a/apps/encryption/tests/Crypto/CryptTest.php
+++ b/apps/encryption/tests/Crypto/CryptTest.php
@@ -27,7 +27,10 @@ namespace OCA\Encryption\Tests\Crypto;
use OCA\Encryption\Crypto\Crypt;
+use OCP\IConfig;
use OCP\IL10N;
+use OCP\ILogger;
+use OCP\IUserSession;
use Test\TestCase;
class CryptTest extends TestCase {
@@ -51,16 +54,16 @@ class CryptTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->logger = $this->getMockBuilder('OCP\ILogger')
+ $this->logger = $this->getMockBuilder(ILogger::class)
->disableOriginalConstructor()
->getMock();
$this->logger->expects($this->any())
->method('warning')
->willReturn(true);
- $this->userSession = $this->getMockBuilder('OCP\IUserSession')
+ $this->userSession = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
- $this->config = $this->getMockBuilder('OCP\IConfig')
+ $this->config = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()
->getMock();
$this->l = $this->createMock(IL10N::class);
@@ -389,7 +392,7 @@ class CryptTest extends TestCase {
*/
public function testDecryptPrivateKey($header, $privateKey, $expectedCipher, $isValidKey, $expected) {
/** @var \OCA\Encryption\Crypto\Crypt | \PHPUnit_Framework_MockObject_MockObject $crypt */
- $crypt = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
+ $crypt = $this->getMockBuilder(Crypt::class)
->setConstructorArgs(
[
$this->logger,
diff --git a/apps/encryption/tests/Crypto/DecryptAllTest.php b/apps/encryption/tests/Crypto/DecryptAllTest.php
index fdef37adc8..99b1b47ba8 100644
--- a/apps/encryption/tests/Crypto/DecryptAllTest.php
+++ b/apps/encryption/tests/Crypto/DecryptAllTest.php
@@ -56,15 +56,15 @@ class DecryptAllTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->util = $this->getMockBuilder('OCA\Encryption\Util')
+ $this->util = $this->getMockBuilder(Util::class)
->disableOriginalConstructor()->getMock();
- $this->keyManager = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ $this->keyManager = $this->getMockBuilder(KeyManager::class)
->disableOriginalConstructor()->getMock();
- $this->crypt = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
+ $this->crypt = $this->getMockBuilder(Crypt::class)
->disableOriginalConstructor()->getMock();
- $this->session = $this->getMockBuilder('OCA\Encryption\Session')
+ $this->session = $this->getMockBuilder(Session::class)
->disableOriginalConstructor()->getMock();
- $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper')
+ $this->questionHelper = $this->getMockBuilder(QuestionHelper::class)
->disableOriginalConstructor()->getMock();
$this->instance = new DecryptAll(
diff --git a/apps/encryption/tests/Crypto/EncryptAllTest.php b/apps/encryption/tests/Crypto/EncryptAllTest.php
index df8401c15b..38b64a8b6b 100644
--- a/apps/encryption/tests/Crypto/EncryptAllTest.php
+++ b/apps/encryption/tests/Crypto/EncryptAllTest.php
@@ -25,8 +25,22 @@
namespace OCA\Encryption\Tests\Crypto;
+use OC\Files\View;
use OCA\Encryption\Crypto\EncryptAll;
+use OCA\Encryption\KeyManager;
+use OCA\Encryption\Users\Setup;
+use OCA\Encryption\Util;
+use OCP\IConfig;
+use OCP\IL10N;
+use OCP\IUserManager;
+use OCP\Mail\IMailer;
+use OCP\Security\ISecureRandom;
+use OCP\UserInterface;
use Symfony\Component\Console\Formatter\OutputFormatterInterface;
+use Symfony\Component\Console\Helper\ProgressBar;
+use Symfony\Component\Console\Helper\QuestionHelper;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
use Test\TestCase;
class EncryptAllTest extends TestCase {
@@ -75,29 +89,29 @@ class EncryptAllTest extends TestCase {
function setUp() {
parent::setUp();
- $this->setupUser = $this->getMockBuilder('OCA\Encryption\Users\Setup')
+ $this->setupUser = $this->getMockBuilder(Setup::class)
->disableOriginalConstructor()->getMock();
- $this->keyManager = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ $this->keyManager = $this->getMockBuilder(KeyManager::class)
->disableOriginalConstructor()->getMock();
- $this->util = $this->getMockBuilder('OCA\Encryption\Util')
+ $this->util = $this->getMockBuilder(Util::class)
->disableOriginalConstructor()->getMock();
- $this->userManager = $this->getMockBuilder('OCP\IUserManager')
+ $this->userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()->getMock();
- $this->view = $this->getMockBuilder('OC\Files\View')
+ $this->view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()->getMock();
- $this->config = $this->getMockBuilder('OCP\IConfig')
+ $this->config = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()->getMock();
- $this->mailer = $this->getMockBuilder('OCP\Mail\IMailer')
+ $this->mailer = $this->getMockBuilder(IMailer::class)
->disableOriginalConstructor()->getMock();
- $this->l = $this->getMockBuilder('OCP\IL10N')
+ $this->l = $this->getMockBuilder(IL10N::class)
->disableOriginalConstructor()->getMock();
- $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper')
+ $this->questionHelper = $this->getMockBuilder(QuestionHelper::class)
->disableOriginalConstructor()->getMock();
- $this->inputInterface = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface')
+ $this->inputInterface = $this->getMockBuilder(InputInterface::class)
->disableOriginalConstructor()->getMock();
- $this->outputInterface = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface')
+ $this->outputInterface = $this->getMockBuilder(OutputInterface::class)
->disableOriginalConstructor()->getMock();
- $this->userInterface = $this->getMockBuilder('OCP\UserInterface')
+ $this->userInterface = $this->getMockBuilder(UserInterface::class)
->disableOriginalConstructor()->getMock();
@@ -107,7 +121,7 @@ class EncryptAllTest extends TestCase {
$this->userManager->expects($this->any())->method('getBackends')->willReturn([$this->userInterface]);
$this->userInterface->expects($this->any())->method('getUsers')->willReturn(['user1', 'user2']);
- $this->secureRandom = $this->getMockBuilder('OCP\Security\ISecureRandom')->disableOriginalConstructor()->getMock();
+ $this->secureRandom = $this->getMockBuilder(ISecureRandom::class)->disableOriginalConstructor()->getMock();
$this->secureRandom->expects($this->any())->method('getMediumStrengthGenerator')->willReturn($this->secureRandom);
$this->secureRandom->expects($this->any())->method('getLowStrengthGenerator')->willReturn($this->secureRandom);
$this->secureRandom->expects($this->any())->method('generate')->willReturn('12345678');
@@ -129,7 +143,7 @@ class EncryptAllTest extends TestCase {
public function testEncryptAll() {
/** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */
- $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll')
+ $encryptAll = $this->getMockBuilder(EncryptAll::class)
->setConstructorArgs(
[
$this->setupUser,
@@ -158,7 +172,7 @@ class EncryptAllTest extends TestCase {
public function testEncryptAllWithMasterKey() {
/** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */
- $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll')
+ $encryptAll = $this->getMockBuilder(EncryptAll::class)
->setConstructorArgs(
[
$this->setupUser,
@@ -188,7 +202,7 @@ class EncryptAllTest extends TestCase {
public function testCreateKeyPairs() {
/** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */
- $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll')
+ $encryptAll = $this->getMockBuilder(EncryptAll::class)
->setConstructorArgs(
[
$this->setupUser,
@@ -237,7 +251,7 @@ class EncryptAllTest extends TestCase {
public function testEncryptAllUsersFiles() {
/** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */
- $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll')
+ $encryptAll = $this->getMockBuilder(EncryptAll::class)
->setConstructorArgs(
[
$this->setupUser,
@@ -270,7 +284,7 @@ class EncryptAllTest extends TestCase {
public function testEncryptUsersFiles() {
/** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */
- $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll')
+ $encryptAll = $this->getMockBuilder(EncryptAll::class)
->setConstructorArgs(
[
$this->setupUser,
@@ -318,7 +332,7 @@ class EncryptAllTest extends TestCase {
$encryptAll->expects($this->at(1))->method('encryptFile')->with('/user1/files/bar');
$encryptAll->expects($this->at(2))->method('encryptFile')->with('/user1/files/foo/subfile');
- $progressBar = $this->getMockBuilder('Symfony\Component\Console\Helper\ProgressBar')
+ $progressBar = $this->getMockBuilder(ProgressBar::class)
->disableOriginalConstructor()->getMock();
$this->invokePrivate($encryptAll, 'encryptUsersFiles', ['user1', $progressBar, '']);
diff --git a/apps/encryption/tests/Crypto/EncryptionTest.php b/apps/encryption/tests/Crypto/EncryptionTest.php
index 7e074a5b9e..42da71b0eb 100644
--- a/apps/encryption/tests/Crypto/EncryptionTest.php
+++ b/apps/encryption/tests/Crypto/EncryptionTest.php
@@ -23,7 +23,16 @@
namespace OCA\Encryption\Tests\Crypto;
+use OCA\Encryption\Crypto\Crypt;
+use OCA\Encryption\Crypto\DecryptAll;
+use OCA\Encryption\Crypto\EncryptAll;
use OCA\Encryption\Exceptions\PublicKeyMissingException;
+use OCA\Encryption\KeyManager;
+use OCA\Encryption\Session;
+use OCA\Encryption\Util;
+use OCP\Files\Storage;
+use OCP\IL10N;
+use OCP\ILogger;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Test\TestCase;
@@ -64,30 +73,30 @@ class EncryptionTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->storageMock = $this->getMockBuilder('OCP\Files\Storage')
+ $this->storageMock = $this->getMockBuilder(Storage::class)
->disableOriginalConstructor()->getMock();
- $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
+ $this->cryptMock = $this->getMockBuilder(Crypt::class)
->disableOriginalConstructor()
->getMock();
- $this->utilMock = $this->getMockBuilder('OCA\Encryption\Util')
+ $this->utilMock = $this->getMockBuilder(Util::class)
->disableOriginalConstructor()
->getMock();
- $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ $this->keyManagerMock = $this->getMockBuilder(KeyManager::class)
->disableOriginalConstructor()
->getMock();
- $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session')
+ $this->sessionMock = $this->getMockBuilder(Session::class)
->disableOriginalConstructor()
->getMock();
- $this->encryptAllMock = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll')
+ $this->encryptAllMock = $this->getMockBuilder(EncryptAll::class)
->disableOriginalConstructor()
->getMock();
- $this->decryptAllMock = $this->getMockBuilder('OCA\Encryption\Crypto\DecryptAll')
+ $this->decryptAllMock = $this->getMockBuilder(DecryptAll::class)
->disableOriginalConstructor()
->getMock();
- $this->loggerMock = $this->getMockBuilder('OCP\ILogger')
+ $this->loggerMock = $this->getMockBuilder(ILogger::class)
->disableOriginalConstructor()
->getMock();
- $this->l10nMock = $this->getMockBuilder('OCP\IL10N')
+ $this->l10nMock = $this->getMockBuilder(IL10N::class)
->disableOriginalConstructor()
->getMock();
$this->l10nMock->expects($this->any())
diff --git a/apps/encryption/tests/HookManagerTest.php b/apps/encryption/tests/HookManagerTest.php
index c5e5487dba..109afb1ef8 100644
--- a/apps/encryption/tests/HookManagerTest.php
+++ b/apps/encryption/tests/HookManagerTest.php
@@ -26,6 +26,7 @@ namespace OCA\Encryption\Tests;
use OCA\Encryption\HookManager;
+use OCA\Encryption\Hooks\Contracts\IHook;
use OCP\IConfig;
use Test\TestCase;
@@ -41,8 +42,8 @@ class HookManagerTest extends TestCase {
*/
public function testRegisterHookWithArray() {
self::$instance->registerHook([
- $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock(),
- $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock(),
+ $this->getMockBuilder(IHook::class)->disableOriginalConstructor()->getMock(),
+ $this->getMockBuilder(IHook::class)->disableOriginalConstructor()->getMock(),
$this->createMock(IConfig::class)
]);
@@ -66,7 +67,7 @@ class HookManagerTest extends TestCase {
*
*/
public function testRegisterHooksWithInstance() {
- $mock = $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock();
+ $mock = $this->getMockBuilder(IHook::class)->disableOriginalConstructor()->getMock();
/** @var \OCA\Encryption\Hooks\Contracts\IHook $mock */
self::$instance->registerHook($mock);
diff --git a/apps/encryption/tests/Hooks/UserHooksTest.php b/apps/encryption/tests/Hooks/UserHooksTest.php
index f9477e3e03..f4c7a5ae0f 100644
--- a/apps/encryption/tests/Hooks/UserHooksTest.php
+++ b/apps/encryption/tests/Hooks/UserHooksTest.php
@@ -29,8 +29,15 @@ namespace OCA\Encryption\Tests\Hooks;
use OCA\Encryption\Crypto\Crypt;
use OCA\Encryption\Hooks\UserHooks;
+use OCA\Encryption\KeyManager;
+use OCA\Encryption\Recovery;
+use OCA\Encryption\Session;
+use OCA\Encryption\Users\Setup;
+use OCA\Encryption\Util;
use OCP\ILogger;
use OCP\IUser;
+use OCP\IUserManager;
+use OCP\IUserSession;
use Test\TestCase;
/**
@@ -151,7 +158,7 @@ class UserHooksTest extends TestCase {
public function testPreSetPassphrase($canChange) {
/** @var UserHooks | \PHPUnit_Framework_MockObject_MockObject $instance */
- $instance = $this->getMockBuilder('OCA\Encryption\Hooks\UserHooks')
+ $instance = $this->getMockBuilder(UserHooks::class)
->setConstructorArgs(
[
$this->keyManagerMock,
@@ -230,7 +237,7 @@ class UserHooksTest extends TestCase {
->willReturnOnConsecutiveCalls(true, false);
- $this->instance = $this->getMockBuilder('OCA\Encryption\Hooks\UserHooks')
+ $this->instance = $this->getMockBuilder(UserHooks::class)
->setConstructorArgs(
[
$this->keyManagerMock,
@@ -291,7 +298,7 @@ class UserHooksTest extends TestCase {
->method('getPrivateKey')
->willReturn(true);
- $userSessionMock = $this->getMockBuilder('OCP\IUserSession')
+ $userSessionMock = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
@@ -302,7 +309,7 @@ class UserHooksTest extends TestCase {
->with('testUser')
->willReturn(false);
- $userHooks = $this->getMockBuilder('OCA\Encryption\Hooks\UserHooks')
+ $userHooks = $this->getMockBuilder(UserHooks::class)
->setConstructorArgs(
[
$this->keyManagerMock,
@@ -324,17 +331,17 @@ class UserHooksTest extends TestCase {
protected function setUp() {
parent::setUp();
$this->loggerMock = $this->createMock(ILogger::class);
- $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ $this->keyManagerMock = $this->getMockBuilder(KeyManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userManagerMock = $this->getMockBuilder('OCP\IUserManager')
+ $this->userManagerMock = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $this->userSetupMock = $this->getMockBuilder('OCA\Encryption\Users\Setup')
+ $this->userSetupMock = $this->getMockBuilder(Setup::class)
->disableOriginalConstructor()
->getMock();
- $this->userSessionMock = $this->getMockBuilder('OCP\IUserSession')
+ $this->userSessionMock = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->setMethods([
'isLoggedIn',
@@ -353,18 +360,18 @@ class UserHooksTest extends TestCase {
->method($this->anything())
->will($this->returnSelf());
- $utilMock = $this->getMockBuilder('OCA\Encryption\Util')
+ $utilMock = $this->getMockBuilder(Util::class)
->disableOriginalConstructor()
->getMock();
- $sessionMock = $this->getMockBuilder('OCA\Encryption\Session')
+ $sessionMock = $this->getMockBuilder(Session::class)
->disableOriginalConstructor()
->getMock();
- $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
+ $this->cryptMock = $this->getMockBuilder(Crypt::class)
->disableOriginalConstructor()
->getMock();
- $recoveryMock = $this->getMockBuilder('OCA\Encryption\Recovery')
+ $recoveryMock = $this->getMockBuilder(Recovery::class)
->disableOriginalConstructor()
->getMock();
@@ -373,7 +380,7 @@ class UserHooksTest extends TestCase {
$this->utilMock = $utilMock;
$this->utilMock->expects($this->any())->method('isMasterKeyEnabled')->willReturn(false);
- $this->instance = $this->getMockBuilder('OCA\Encryption\Hooks\UserHooks')
+ $this->instance = $this->getMockBuilder(UserHooks::class)
->setConstructorArgs(
[
$this->keyManagerMock,
diff --git a/apps/encryption/tests/KeyManagerTest.php b/apps/encryption/tests/KeyManagerTest.php
index a8441427a2..721b7f53a0 100644
--- a/apps/encryption/tests/KeyManagerTest.php
+++ b/apps/encryption/tests/KeyManagerTest.php
@@ -27,9 +27,15 @@
namespace OCA\Encryption\Tests;
+use OC\Files\FileInfo;
+use OC\Files\View;
+use OCA\Encryption\Crypto\Crypt;
use OCA\Encryption\KeyManager;
use OCA\Encryption\Session;
+use OCA\Encryption\Util;
use OCP\Encryption\Keys\IStorage;
+use OCP\Files\Cache\ICache;
+use OCP\Files\Storage;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUserSession;
@@ -74,7 +80,7 @@ class KeyManagerTest extends TestCase {
$this->userId = 'user1';
$this->systemKeyId = 'systemKeyId';
$this->keyStorageMock = $this->createMock(IStorage::class);
- $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
+ $this->cryptMock = $this->getMockBuilder(Crypt::class)
->disableOriginalConstructor()
->getMock();
$this->configMock = $this->createMock(IConfig::class);
@@ -82,11 +88,11 @@ class KeyManagerTest extends TestCase {
->method('getAppValue')
->willReturn($this->systemKeyId);
$this->userMock = $this->createMock(IUserSession::class);
- $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session')
+ $this->sessionMock = $this->getMockBuilder(Session::class)
->disableOriginalConstructor()
->getMock();
$this->logMock = $this->createMock(ILogger::class);
- $this->utilMock = $this->getMockBuilder('OCA\Encryption\Util')
+ $this->utilMock = $this->getMockBuilder(Util::class)
->disableOriginalConstructor()
->getMock();
@@ -251,7 +257,7 @@ class KeyManagerTest extends TestCase {
public function testInit($useMasterKey) {
/** @var \OCA\Encryption\KeyManager|\PHPUnit_Framework_MockObject_MockObject $instance */
- $instance = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ $instance = $this->getMockBuilder(KeyManager::class)
->setConstructorArgs(
[
$this->keyStorageMock,
@@ -544,7 +550,7 @@ class KeyManagerTest extends TestCase {
public function testValidateMasterKey($masterKey) {
/** @var \OCA\Encryption\KeyManager | \PHPUnit_Framework_MockObject_MockObject $instance */
- $instance = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ $instance = $this->getMockBuilder(KeyManager::class)
->setConstructorArgs(
[
$this->keyStorageMock,
@@ -592,7 +598,7 @@ class KeyManagerTest extends TestCase {
}
public function testGetVersionWithoutFileInfo() {
- $view = $this->getMockBuilder('\\OC\\Files\\View')
+ $view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()->getMock();
$view->expects($this->once())
->method('getFileInfo')
@@ -604,9 +610,9 @@ class KeyManagerTest extends TestCase {
}
public function testGetVersionWithFileInfo() {
- $view = $this->getMockBuilder('\\OC\\Files\\View')
+ $view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()->getMock();
- $fileInfo = $this->getMockBuilder('\\OC\\Files\\FileInfo')
+ $fileInfo = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()->getMock();
$fileInfo->expects($this->once())
->method('getEncryptedVersion')
@@ -621,19 +627,19 @@ class KeyManagerTest extends TestCase {
}
public function testSetVersionWithFileInfo() {
- $view = $this->getMockBuilder('\\OC\\Files\\View')
+ $view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()->getMock();
- $cache = $this->getMockBuilder('\\OCP\\Files\\Cache\\ICache')
+ $cache = $this->getMockBuilder(ICache::class)
->disableOriginalConstructor()->getMock();
$cache->expects($this->once())
->method('update')
->with(123, ['encrypted' => 5, 'encryptedVersion' => 5]);
- $storage = $this->getMockBuilder('\\OCP\\Files\\Storage')
+ $storage = $this->getMockBuilder(Storage::class)
->disableOriginalConstructor()->getMock();
$storage->expects($this->once())
->method('getCache')
->willReturn($cache);
- $fileInfo = $this->getMockBuilder('\\OC\\Files\\FileInfo')
+ $fileInfo = $this->getMockBuilder(FileInfo::class)
->disableOriginalConstructor()->getMock();
$fileInfo->expects($this->once())
->method('getStorage')
@@ -651,7 +657,7 @@ class KeyManagerTest extends TestCase {
}
public function testSetVersionWithoutFileInfo() {
- $view = $this->getMockBuilder('\\OC\\Files\\View')
+ $view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()->getMock();
$view->expects($this->once())
->method('getFileInfo')
diff --git a/apps/encryption/tests/MigrationTest.php b/apps/encryption/tests/MigrationTest.php
index 595d7f1206..71d2f52dd5 100644
--- a/apps/encryption/tests/MigrationTest.php
+++ b/apps/encryption/tests/MigrationTest.php
@@ -25,6 +25,7 @@
namespace OCA\Encryption\Tests;
+use OC\Files\View;
use OCA\Encryption\Migration;
use OCP\ILogger;
@@ -68,7 +69,7 @@ class MigrationTest extends \Test\TestCase {
public function setUp() {
- $this->logger = $this->getMockBuilder('\OCP\ILogger')->disableOriginalConstructor()->getMock();
+ $this->logger = $this->getMockBuilder(ILogger::class)->disableOriginalConstructor()->getMock();
$this->view = new \OC\Files\View();
$this->moduleId = \OCA\Encryption\Crypto\Encryption::ID;
}
@@ -203,13 +204,14 @@ class MigrationTest extends \Test\TestCase {
$this->createDummySystemWideKeys();
/** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Encryption\Migration $m */
- $m = $this->getMockBuilder('OCA\Encryption\Migration')
+ $m = $this->getMockBuilder(Migration::class)
->setConstructorArgs(
[
\OC::$server->getConfig(),
new \OC\Files\View(),
\OC::$server->getDatabaseConnection(),
- $this->logger
+ $this->logger,
+ \OC::$server->getAppManager()
]
)->setMethods(['getSystemMountPoints'])->getMock();
@@ -366,7 +368,7 @@ class MigrationTest extends \Test\TestCase {
public function testUpdateDB() {
$this->prepareDB();
- $m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection(), $this->logger);
+ $m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection(), $this->logger, \OC::$server->getAppManager());
$this->invokePrivate($m, 'installedVersion', ['0.7']);
$m->updateDB();
@@ -386,7 +388,7 @@ class MigrationTest extends \Test\TestCase {
$config->setAppValue('encryption', 'publicShareKeyId', 'wrong_share_id');
$config->setUserValue(self::TEST_ENCRYPTION_MIGRATION_USER1, 'encryption', 'recoverKeyEnabled', '9');
- $m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection(), $this->logger);
+ $m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection(), $this->logger, \OC::$server->getAppManager());
$this->invokePrivate($m, 'installedVersion', ['0.7']);
$m->updateDB();
@@ -455,7 +457,7 @@ class MigrationTest extends \Test\TestCase {
*/
public function testUpdateFileCache() {
$this->prepareFileCache();
- $m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection(), $this->logger);
+ $m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection(), $this->logger, \OC::$server->getAppManager());
$this->invokePrivate($m, 'installedVersion', ['0.7']);
self::invokePrivate($m, 'updateFileCache');
@@ -523,17 +525,18 @@ class MigrationTest extends \Test\TestCase {
*/
public function testGetTargetDir($user, $keyPath, $filename, $trash, $systemMounts, $expected) {
- $view = $this->getMockBuilder('\OC\Files\View')
+ $view = $this->getMockBuilder(View::class)
->disableOriginalConstructor()->getMock();
$view->expects($this->any())->method('file_exists')->willReturn(true);
- $m = $this->getMockBuilder('OCA\Encryption\Migration')
+ $m = $this->getMockBuilder(Migration::class)
->setConstructorArgs(
[
\OC::$server->getConfig(),
$view,
\OC::$server->getDatabaseConnection(),
- $this->logger
+ $this->logger,
+ \OC::$server->getAppManager()
]
)->setMethods(['getSystemMountPoints'])->getMock();
diff --git a/apps/encryption/tests/RecoveryTest.php b/apps/encryption/tests/RecoveryTest.php
index d73b5d48c9..2dda774565 100644
--- a/apps/encryption/tests/RecoveryTest.php
+++ b/apps/encryption/tests/RecoveryTest.php
@@ -28,10 +28,13 @@ namespace OCA\Encryption\Tests;
use OC\Files\View;
+use OCA\Encryption\Crypto\Crypt;
+use OCA\Encryption\KeyManager;
use OCA\Encryption\Recovery;
use OCP\Encryption\IFile;
use OCP\Encryption\Keys\IStorage;
use OCP\IConfig;
+use OCP\IUserSession;
use OCP\Security\ISecureRandom;
use Test\TestCase;
@@ -253,7 +256,7 @@ class RecoveryTest extends TestCase {
parent::setUp();
- $this->userSessionMock = $this->getMockBuilder('OCP\IUserSession')
+ $this->userSessionMock = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->setMethods([
'isLoggedIn',
@@ -271,10 +274,10 @@ class RecoveryTest extends TestCase {
->method($this->anything())
->will($this->returnSelf());
- $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')->disableOriginalConstructor()->getMock();
+ $this->cryptMock = $this->getMockBuilder(Crypt::class)->disableOriginalConstructor()->getMock();
/** @var \OCP\Security\ISecureRandom $randomMock */
$randomMock = $this->createMock(ISecureRandom::class);
- $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager')->disableOriginalConstructor()->getMock();
+ $this->keyManagerMock = $this->getMockBuilder(KeyManager::class)->disableOriginalConstructor()->getMock();
$this->configMock = $this->createMock(IConfig::class);
/** @var \OCP\Encryption\Keys\IStorage $keyStorageMock */
$keyStorageMock = $this->createMock(IStorage::class);
diff --git a/apps/encryption/tests/Settings/AdminTest.php b/apps/encryption/tests/Settings/AdminTest.php
index 93896585da..5fe3fe956e 100644
--- a/apps/encryption/tests/Settings/AdminTest.php
+++ b/apps/encryption/tests/Settings/AdminTest.php
@@ -52,12 +52,12 @@ class AdminTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->l = $this->getMockBuilder('\OCP\IL10N')->getMock();
- $this->logger = $this->getMockBuilder('\OCP\ILogger')->getMock();
- $this->userSession = $this->getMockBuilder('\OCP\IUserSession')->getMock();
- $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock();
- $this->userManager = $this->getMockBuilder('\OCP\IUserManager')->getMock();
- $this->session = $this->getMockBuilder('\OCP\ISession')->getMock();
+ $this->l = $this->getMockBuilder(IL10N::class)->getMock();
+ $this->logger = $this->getMockBuilder(ILogger::class)->getMock();
+ $this->userSession = $this->getMockBuilder(IUserSession::class)->getMock();
+ $this->config = $this->getMockBuilder(IConfig::class)->getMock();
+ $this->userManager = $this->getMockBuilder(IUserManager::class)->getMock();
+ $this->session = $this->getMockBuilder(ISession::class)->getMock();
$this->admin = new Admin(
$this->l,
diff --git a/apps/encryption/tests/Users/SetupTest.php b/apps/encryption/tests/Users/SetupTest.php
index 9e85686104..27866ef392 100644
--- a/apps/encryption/tests/Users/SetupTest.php
+++ b/apps/encryption/tests/Users/SetupTest.php
@@ -26,8 +26,11 @@
namespace OCA\Encryption\Tests\Users;
+use OCA\Encryption\Crypto\Crypt;
+use OCA\Encryption\KeyManager;
use OCA\Encryption\Users\Setup;
use OCP\ILogger;
+use OCP\IUserSession;
use Test\TestCase;
class SetupTest extends TestCase {
@@ -47,14 +50,14 @@ class SetupTest extends TestCase {
protected function setUp() {
parent::setUp();
$logMock = $this->createMock(ILogger::class);
- $userSessionMock = $this->getMockBuilder('OCP\IUserSession')
+ $userSessionMock = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->getMock();
- $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
+ $this->cryptMock = $this->getMockBuilder(Crypt::class)
->disableOriginalConstructor()
->getMock();
- $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ $this->keyManagerMock = $this->getMockBuilder(KeyManager::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/encryption/tests/UtilTest.php b/apps/encryption/tests/UtilTest.php
index 40fc553725..e59565d3b8 100644
--- a/apps/encryption/tests/UtilTest.php
+++ b/apps/encryption/tests/UtilTest.php
@@ -27,11 +27,14 @@ namespace OCA\Encryption\Tests;
use OC\Files\View;
+use OCA\Encryption\Crypto\Crypt;
use OCA\Encryption\Util;
use OCP\Files\Mount\IMountPoint;
+use OCP\Files\Storage;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUserManager;
+use OCP\IUserSession;
use Test\TestCase;
class UtilTest extends TestCase {
@@ -80,13 +83,13 @@ class UtilTest extends TestCase {
$this->userManagerMock = $this->createMock(IUserManager::class);
/** @var \OCA\Encryption\Crypto\Crypt $cryptMock */
- $cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
+ $cryptMock = $this->getMockBuilder(Crypt::class)
->disableOriginalConstructor()
->getMock();
/** @var \OCP\ILogger $loggerMock */
$loggerMock = $this->createMock(ILogger::class);
/** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject $userSessionMock */
- $userSessionMock = $this->getMockBuilder('OCP\IUserSession')
+ $userSessionMock = $this->getMockBuilder(IUserSession::class)
->disableOriginalConstructor()
->setMethods([
'isLoggedIn',
@@ -205,7 +208,7 @@ class UtilTest extends TestCase {
}
public function testGetStorage() {
- $return = $this->getMockBuilder('OC\Files\Storage\Storage')
+ $return = $this->getMockBuilder(Storage::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/federatedfilesharing/composer/autoload.php b/apps/federatedfilesharing/composer/autoload.php
new file mode 100644
index 0000000000..5273607f74
--- /dev/null
+++ b/apps/federatedfilesharing/composer/autoload.php
@@ -0,0 +1,7 @@
+
+ * Jordi Boggiano
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier
+ * @author Jordi Boggiano
+ * @see http://www.php-fig.org/psr/psr-0/
+ * @see http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+ private $classMapAuthoritative = false;
+ private $missingClasses = array();
+ private $apcuPrefix;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * 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-4 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
+ *
+ * @param string|null $apcuPrefix
+ */
+ public function setApcuPrefix($apcuPrefix)
+ {
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ }
+
+ /**
+ * The APCu prefix in use, or null if APCu caching is not enabled.
+ *
+ * @return string|null
+ */
+ public function getApcuPrefix()
+ {
+ return $this->apcuPrefix;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
+ return false;
+ }
+ if (null !== $this->apcuPrefix) {
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
+ if ($hit) {
+ return $file;
+ }
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if (false === $file && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if (null !== $this->apcuPrefix) {
+ apcu_add($this->apcuPrefix.$class, $file);
+ }
+
+ if (false === $file) {
+ // Remember that this class does not exist.
+ $this->missingClasses[$class] = true;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ $subPath = $class;
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
+ $subPath = substr($subPath, 0, $lastPos);
+ $search = $subPath.'\\';
+ if (isset($this->prefixDirsPsr4[$search])) {
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
+ $length = $this->prefixLengthsPsr4[$first][$search];
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+
+ return false;
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/apps/federatedfilesharing/composer/composer/LICENSE b/apps/federatedfilesharing/composer/composer/LICENSE
new file mode 100644
index 0000000000..f27399a042
--- /dev/null
+++ b/apps/federatedfilesharing/composer/composer/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (c) 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
+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/federatedfilesharing/composer/composer/autoload_classmap.php b/apps/federatedfilesharing/composer/composer/autoload_classmap.php
new file mode 100644
index 0000000000..387ea8bee3
--- /dev/null
+++ b/apps/federatedfilesharing/composer/composer/autoload_classmap.php
@@ -0,0 +1,21 @@
+ $baseDir . '/../lib/AddressHandler.php',
+ 'OCA\\FederatedFileSharing\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
+ 'OCA\\FederatedFileSharing\\BackgroundJob\\RetryJob' => $baseDir . '/../lib/BackgroundJob/RetryJob.php',
+ 'OCA\\FederatedFileSharing\\Controller\\MountPublicLinkController' => $baseDir . '/../lib/Controller/MountPublicLinkController.php',
+ 'OCA\\FederatedFileSharing\\Controller\\RequestHandlerController' => $baseDir . '/../lib/Controller/RequestHandlerController.php',
+ 'OCA\\FederatedFileSharing\\FederatedShareProvider' => $baseDir . '/../lib/FederatedShareProvider.php',
+ 'OCA\\FederatedFileSharing\\Notifications' => $baseDir . '/../lib/Notifications.php',
+ 'OCA\\FederatedFileSharing\\Notifier' => $baseDir . '/../lib/Notifier.php',
+ 'OCA\\FederatedFileSharing\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php',
+ 'OCA\\FederatedFileSharing\\Settings\\Personal' => $baseDir . '/../lib/Settings/Personal.php',
+ 'OCA\\FederatedFileSharing\\Settings\\PersonalSection' => $baseDir . '/../lib/Settings/PersonalSection.php',
+ 'OCA\\FederatedFileSharing\\TokenHandler' => $baseDir . '/../lib/TokenHandler.php',
+);
diff --git a/apps/federatedfilesharing/composer/composer/autoload_namespaces.php b/apps/federatedfilesharing/composer/composer/autoload_namespaces.php
new file mode 100644
index 0000000000..71c9e91858
--- /dev/null
+++ b/apps/federatedfilesharing/composer/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+ array($baseDir . '/../lib'),
+);
diff --git a/apps/federatedfilesharing/composer/composer/autoload_real.php b/apps/federatedfilesharing/composer/composer/autoload_real.php
new file mode 100644
index 0000000000..bdc3ad006a
--- /dev/null
+++ b/apps/federatedfilesharing/composer/composer/autoload_real.php
@@ -0,0 +1,52 @@
+= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
+ if ($useStaticLoader) {
+ require_once __DIR__ . '/autoload_static.php';
+
+ call_user_func(\Composer\Autoload\ComposerStaticInitFederatedFileSharing::getInitializer($loader));
+ } else {
+ $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);
+ }
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
diff --git a/apps/federatedfilesharing/composer/composer/autoload_static.php b/apps/federatedfilesharing/composer/composer/autoload_static.php
new file mode 100644
index 0000000000..95b8775384
--- /dev/null
+++ b/apps/federatedfilesharing/composer/composer/autoload_static.php
@@ -0,0 +1,47 @@
+
+ array (
+ 'OCA\\FederatedFileSharing\\' => 25,
+ ),
+ );
+
+ public static $prefixDirsPsr4 = array (
+ 'OCA\\FederatedFileSharing\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/../lib',
+ ),
+ );
+
+ public static $classMap = array (
+ 'OCA\\FederatedFileSharing\\AddressHandler' => __DIR__ . '/..' . '/../lib/AddressHandler.php',
+ 'OCA\\FederatedFileSharing\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
+ 'OCA\\FederatedFileSharing\\BackgroundJob\\RetryJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/RetryJob.php',
+ 'OCA\\FederatedFileSharing\\Controller\\MountPublicLinkController' => __DIR__ . '/..' . '/../lib/Controller/MountPublicLinkController.php',
+ 'OCA\\FederatedFileSharing\\Controller\\RequestHandlerController' => __DIR__ . '/..' . '/../lib/Controller/RequestHandlerController.php',
+ 'OCA\\FederatedFileSharing\\FederatedShareProvider' => __DIR__ . '/..' . '/../lib/FederatedShareProvider.php',
+ 'OCA\\FederatedFileSharing\\Notifications' => __DIR__ . '/..' . '/../lib/Notifications.php',
+ 'OCA\\FederatedFileSharing\\Notifier' => __DIR__ . '/..' . '/../lib/Notifier.php',
+ 'OCA\\FederatedFileSharing\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php',
+ 'OCA\\FederatedFileSharing\\Settings\\Personal' => __DIR__ . '/..' . '/../lib/Settings/Personal.php',
+ 'OCA\\FederatedFileSharing\\Settings\\PersonalSection' => __DIR__ . '/..' . '/../lib/Settings/PersonalSection.php',
+ 'OCA\\FederatedFileSharing\\TokenHandler' => __DIR__ . '/..' . '/../lib/TokenHandler.php',
+ );
+
+ public static function getInitializer(ClassLoader $loader)
+ {
+ return \Closure::bind(function () use ($loader) {
+ $loader->prefixLengthsPsr4 = ComposerStaticInitFederatedFileSharing::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInitFederatedFileSharing::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInitFederatedFileSharing::$classMap;
+
+ }, null, ClassLoader::class);
+ }
+}
diff --git a/apps/federatedfilesharing/l10n/es_CO.js b/apps/federatedfilesharing/l10n/es_CO.js
new file mode 100644
index 0000000000..c4be26868c
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/es_CO.js
@@ -0,0 +1,58 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Federated sharing" : "Elementos compartidos",
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
+ "Remote share" : "Elemento compartido remoto",
+ "Remote share password" : "Contraseña del elemento compartido remoto",
+ "Cancel" : "Cancelar",
+ "Add remote share" : "Agregar elemento compartido remoto",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Invalid Federated Cloud ID" : "El ID es inválido",
+ "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
+ "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
+ "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
+ "The mountpoint name contains invalid characters." : "El nombre del punto de montaje contiene caracteres inválidos.",
+ "Not allowed to create a federated share with the owner." : "No está permitido crear un elemento compartido federado con el dueño. ",
+ "Invalid or untrusted SSL certificate" : "Certificado SSL inválido o no de confianza",
+ "Could not authenticate to remote share, password might be wrong" : "No fue posible autenticarse ante el elemento compartido remoto, la contraseña puede estar incorrecta",
+ "Storage not valid" : "Almacenamiento inválido",
+ "Federated share added" : "Elemento compartido Federado agregado",
+ "Couldn't add remote share" : "No fue posible agregar el elemento compartido remoto",
+ "Sharing %s failed, because this item is already shared with %s" : "Se presentó una falla al compartir %s, porque este elemento ya se encuentra compartido con %s",
+ "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
+ "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Se presentó una falla al compartir %s, no fue posible encontrar %s, tal vez el servidor no está alcanzable o usa un certificado auto-firmado.",
+ "Could not find share" : "No fue posible encontrar el elemento compartido",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Has recibido \"%3$s\" como un elemento compartido remoto de %1$s (de parte de %2$s)",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Has recibido \"%3$s\" como un elemento compartido remoto de %1$s",
+ "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
+ "Accept" : "Aceptar",
+ "Decline" : "Rechazar",
+ "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud, ver %s",
+ "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
+ "Sharing" : "Compartiendo",
+ "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
+ "Open documentation" : "Abrir documentación",
+ "Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. ",
+ "Allow users on this server to send shares to other servers" : "Permitirle a los usuarios de este servidor enviar elementos compartidos a otros servidores",
+ "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
+ "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
+ "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
+ "Federated Cloud" : "Nube Federada",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "¡Puedes compartir con cualquiera que use NextCloud, ownCloud o Pydio! Solo ingresa tu ID de Nube Federada en ventana de diálogo de compartir. Se ve algo así como person@cloud.example.com",
+ "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
+ "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Add to your website" : "Agregar a tu sitio web",
+ "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
+ "HTML Code:" : "Código HTML:",
+ "Search global and public address book for users and let local users publish their data" : "Buscar una libreta de direcciones global y pública para los usuarios y permitir a los usuarios locales publicar sus datos",
+ "Share it:" : "Compartirlo:"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/es_CO.json b/apps/federatedfilesharing/l10n/es_CO.json
new file mode 100644
index 0000000000..29ee41a77e
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/es_CO.json
@@ -0,0 +1,56 @@
+{ "translations": {
+ "Federated sharing" : "Elementos compartidos",
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
+ "Remote share" : "Elemento compartido remoto",
+ "Remote share password" : "Contraseña del elemento compartido remoto",
+ "Cancel" : "Cancelar",
+ "Add remote share" : "Agregar elemento compartido remoto",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Invalid Federated Cloud ID" : "El ID es inválido",
+ "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
+ "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
+ "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
+ "The mountpoint name contains invalid characters." : "El nombre del punto de montaje contiene caracteres inválidos.",
+ "Not allowed to create a federated share with the owner." : "No está permitido crear un elemento compartido federado con el dueño. ",
+ "Invalid or untrusted SSL certificate" : "Certificado SSL inválido o no de confianza",
+ "Could not authenticate to remote share, password might be wrong" : "No fue posible autenticarse ante el elemento compartido remoto, la contraseña puede estar incorrecta",
+ "Storage not valid" : "Almacenamiento inválido",
+ "Federated share added" : "Elemento compartido Federado agregado",
+ "Couldn't add remote share" : "No fue posible agregar el elemento compartido remoto",
+ "Sharing %s failed, because this item is already shared with %s" : "Se presentó una falla al compartir %s, porque este elemento ya se encuentra compartido con %s",
+ "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
+ "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Se presentó una falla al compartir %s, no fue posible encontrar %s, tal vez el servidor no está alcanzable o usa un certificado auto-firmado.",
+ "Could not find share" : "No fue posible encontrar el elemento compartido",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Has recibido \"%3$s\" como un elemento compartido remoto de %1$s (de parte de %2$s)",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Has recibido \"%3$s\" como un elemento compartido remoto de %1$s",
+ "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
+ "Accept" : "Aceptar",
+ "Decline" : "Rechazar",
+ "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud, ver %s",
+ "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
+ "Sharing" : "Compartiendo",
+ "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
+ "Open documentation" : "Abrir documentación",
+ "Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. ",
+ "Allow users on this server to send shares to other servers" : "Permitirle a los usuarios de este servidor enviar elementos compartidos a otros servidores",
+ "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
+ "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
+ "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
+ "Federated Cloud" : "Nube Federada",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "¡Puedes compartir con cualquiera que use NextCloud, ownCloud o Pydio! Solo ingresa tu ID de Nube Federada en ventana de diálogo de compartir. Se ve algo así como person@cloud.example.com",
+ "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
+ "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Add to your website" : "Agregar a tu sitio web",
+ "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
+ "HTML Code:" : "Código HTML:",
+ "Search global and public address book for users and let local users publish their data" : "Buscar una libreta de direcciones global y pública para los usuarios y permitir a los usuarios locales publicar sus datos",
+ "Share it:" : "Compartirlo:"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/fi.js b/apps/federatedfilesharing/l10n/fi.js
index 7f71f5a27b..04916189ac 100644
--- a/apps/federatedfilesharing/l10n/fi.js
+++ b/apps/federatedfilesharing/l10n/fi.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "Palvelimien kesken jakaminen ei ole käytössä tällä palvelimella",
"Couldn't establish a federated share." : "Ei voinut muodostaa federoitua jakoa.",
"Couldn't establish a federated share, maybe the password was wrong." : "Ei voinut muodostaa federoitua jakoa. Ehkä salasana oli väärin.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Federoidun jakamisen pyyntö lähetetty, saat kutsun. Tarkista ilmoitukset.",
"The mountpoint name contains invalid characters." : "Liitospisteen nimi sisältää virheellisiä merkkejä.",
"Not allowed to create a federated share with the owner." : "Omistajan kanssa ei ole sallittua luoda federoitua jakoa.",
"Invalid or untrusted SSL certificate" : "Virheellinen tai ei-luotettu SSL-varmenne",
diff --git a/apps/federatedfilesharing/l10n/fi.json b/apps/federatedfilesharing/l10n/fi.json
index 7aac33281e..1952efd750 100644
--- a/apps/federatedfilesharing/l10n/fi.json
+++ b/apps/federatedfilesharing/l10n/fi.json
@@ -14,6 +14,7 @@
"Server to server sharing is not enabled on this server" : "Palvelimien kesken jakaminen ei ole käytössä tällä palvelimella",
"Couldn't establish a federated share." : "Ei voinut muodostaa federoitua jakoa.",
"Couldn't establish a federated share, maybe the password was wrong." : "Ei voinut muodostaa federoitua jakoa. Ehkä salasana oli väärin.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Federoidun jakamisen pyyntö lähetetty, saat kutsun. Tarkista ilmoitukset.",
"The mountpoint name contains invalid characters." : "Liitospisteen nimi sisältää virheellisiä merkkejä.",
"Not allowed to create a federated share with the owner." : "Omistajan kanssa ei ole sallittua luoda federoitua jakoa.",
"Invalid or untrusted SSL certificate" : "Virheellinen tai ei-luotettu SSL-varmenne",
diff --git a/apps/federatedfilesharing/l10n/hu.js b/apps/federatedfilesharing/l10n/hu.js
index 0df0568d3a..a99bb21c4f 100644
--- a/apps/federatedfilesharing/l10n/hu.js
+++ b/apps/federatedfilesharing/l10n/hu.js
@@ -16,11 +16,13 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "A kiszolgálók közötti megosztás nincs engedélyezve ezen a kiszolgálón",
"Couldn't establish a federated share." : "Egy egyesített megosztás nem hozható létre.",
"Couldn't establish a federated share, maybe the password was wrong." : "Egy egyesített megosztás nem hozható létre, lehet hogy nem megfelelő a jelszó.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Egyesített megosztási kérés elküldve, kapni fogsz egy meghívót. Ellenőrizd az értesítéseidet.",
"The mountpoint name contains invalid characters." : "A csatolási pont neve érvénytelen karaktereket tartalmaz ",
"Not allowed to create a federated share with the owner." : "A tulajdonossal nem lehet egyesített megosztást létrehozni.",
"Invalid or untrusted SSL certificate" : "Érvénytelen vagy nem megbízható az SSL tanúsítvány",
"Could not authenticate to remote share, password might be wrong" : "Nem sikerült az azonosítás a távoli megosztáshoz. Lehet, hogy rossz a jelszó.",
"Storage not valid" : "A tároló nem érvényes",
+ "Federated share added" : "Egyesített megosztás hozzáadva",
"Couldn't add remote share" : "Távoli megosztás nem adható hozzá",
"Sharing %s failed, because this item is already shared with %s" : "%s megosztása nem sikerült, mert ez már meg van osztva vele: %s",
"Not allowed to create a federated share with the same user" : "Azonos felhasználóval nem lehet létrehozni egyesített megosztást",
@@ -42,12 +44,15 @@ OC.L10N.register(
"Allow users on this server to send shares to other servers" : "Engedélyezze ezen szerver felhasználóinak, hogy fájlokat osszanak meg más szerverekkel.",
"Allow users on this server to receive shares from other servers" : "Engedélyezze ezen szerver felhasználóinak, hogy megosztásokat fogadjanak más szerverektől",
"Search global and public address book for users" : "Felhasználók keresése a globális és a nyilvános névjegyekben",
+ "Allow users to publish their data to a global and public address book" : "Minden felhasználó a közös adattárolót és névjegyzéket használja",
"Federated Cloud" : "Egyesített felhő",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Bárkivel megoszthatsz aki Nextcloud-ot, ownCloud-ot vagy Pydio-t használ! Csak add meg az egységesített megosztási azonosítójukat a megosztási ablakban. Valahogy így néz ki: person@cloud.example.com",
"Your Federated Cloud ID:" : "Egyesített felhő azonosító:",
"Share it so your friends can share files with you:" : "Oszd meg, hogy a barátaid is megoszthassanak veled fájlokat:",
"Add to your website" : "Adja hozzá saját weboldalához",
"Share with me via Nextcloud" : "Ossza meg velem Nextcloud-on keresztül",
"HTML Code:" : "HTML kód:",
+ "Search global and public address book for users and let local users publish their data" : "A központi és nyilvános névjegyzék keresése a felhasználóknak és a helyi felhasználók is hozzáadhatnak",
"Share it:" : "Oszd meg:"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/hu.json b/apps/federatedfilesharing/l10n/hu.json
index 46010af8d1..e77b17ef7d 100644
--- a/apps/federatedfilesharing/l10n/hu.json
+++ b/apps/federatedfilesharing/l10n/hu.json
@@ -14,11 +14,13 @@
"Server to server sharing is not enabled on this server" : "A kiszolgálók közötti megosztás nincs engedélyezve ezen a kiszolgálón",
"Couldn't establish a federated share." : "Egy egyesített megosztás nem hozható létre.",
"Couldn't establish a federated share, maybe the password was wrong." : "Egy egyesített megosztás nem hozható létre, lehet hogy nem megfelelő a jelszó.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Egyesített megosztási kérés elküldve, kapni fogsz egy meghívót. Ellenőrizd az értesítéseidet.",
"The mountpoint name contains invalid characters." : "A csatolási pont neve érvénytelen karaktereket tartalmaz ",
"Not allowed to create a federated share with the owner." : "A tulajdonossal nem lehet egyesített megosztást létrehozni.",
"Invalid or untrusted SSL certificate" : "Érvénytelen vagy nem megbízható az SSL tanúsítvány",
"Could not authenticate to remote share, password might be wrong" : "Nem sikerült az azonosítás a távoli megosztáshoz. Lehet, hogy rossz a jelszó.",
"Storage not valid" : "A tároló nem érvényes",
+ "Federated share added" : "Egyesített megosztás hozzáadva",
"Couldn't add remote share" : "Távoli megosztás nem adható hozzá",
"Sharing %s failed, because this item is already shared with %s" : "%s megosztása nem sikerült, mert ez már meg van osztva vele: %s",
"Not allowed to create a federated share with the same user" : "Azonos felhasználóval nem lehet létrehozni egyesített megosztást",
@@ -40,12 +42,15 @@
"Allow users on this server to send shares to other servers" : "Engedélyezze ezen szerver felhasználóinak, hogy fájlokat osszanak meg más szerverekkel.",
"Allow users on this server to receive shares from other servers" : "Engedélyezze ezen szerver felhasználóinak, hogy megosztásokat fogadjanak más szerverektől",
"Search global and public address book for users" : "Felhasználók keresése a globális és a nyilvános névjegyekben",
+ "Allow users to publish their data to a global and public address book" : "Minden felhasználó a közös adattárolót és névjegyzéket használja",
"Federated Cloud" : "Egyesített felhő",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Bárkivel megoszthatsz aki Nextcloud-ot, ownCloud-ot vagy Pydio-t használ! Csak add meg az egységesített megosztási azonosítójukat a megosztási ablakban. Valahogy így néz ki: person@cloud.example.com",
"Your Federated Cloud ID:" : "Egyesített felhő azonosító:",
"Share it so your friends can share files with you:" : "Oszd meg, hogy a barátaid is megoszthassanak veled fájlokat:",
"Add to your website" : "Adja hozzá saját weboldalához",
"Share with me via Nextcloud" : "Ossza meg velem Nextcloud-on keresztül",
"HTML Code:" : "HTML kód:",
+ "Search global and public address book for users and let local users publish their data" : "A központi és nyilvános névjegyzék keresése a felhasználóknak és a helyi felhasználók is hozzáadhatnak",
"Share it:" : "Oszd meg:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
\ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sk.js b/apps/federatedfilesharing/l10n/sk.js
new file mode 100644
index 0000000000..7877da712e
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sk.js
@@ -0,0 +1,58 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Federated sharing" : "Združené sprístupňovanie",
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "Chcete pridať vzdialené úložisko {name} patriace používateľovi {owner}@{remote}?",
+ "Remote share" : "Vzdialené úložisko",
+ "Remote share password" : "Heslo k vzdialenému úložisku",
+ "Cancel" : "Zrušiť",
+ "Add remote share" : "Pridať vzdialené úložisko",
+ "Copy" : "Kopírovať",
+ "Copied!" : "Skopírované!",
+ "Not supported!" : "Nie je podporované!",
+ "Press ⌘-C to copy." : "Stlač ⌘-C pre skopírovanie.",
+ "Press Ctrl-C to copy." : "Stlač Ctrl-C pre skopírovanie.",
+ "Invalid Federated Cloud ID" : "Neplatné združené Cloud ID",
+ "Server to server sharing is not enabled on this server" : "Sprístupňovanie server-server nie je na tomto serveri povolené",
+ "Couldn't establish a federated share." : "Nepodarilo sa nadviazať združené zdieľanie",
+ "Couldn't establish a federated share, maybe the password was wrong." : "Nepodarilo sa nadviazať združené zdieľanie, možno je nesprávne heslo.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Požiadavka na združené zdieľanie bola odoslaná, obdržíte pozvánku. Skontrolujte oznámenia.",
+ "The mountpoint name contains invalid characters." : "Meno prípojného bodu obsahuje neplatné znaky.",
+ "Not allowed to create a federated share with the owner." : "Nie je povolené vytvárať združené zdieľanie s vlastníkom.",
+ "Invalid or untrusted SSL certificate" : "Neplatný alebo nedôveryhodný certifikát SSL",
+ "Could not authenticate to remote share, password might be wrong" : "Nie je možné overiť vo vzdialenom úložisku, heslo môže byť nesprávne",
+ "Storage not valid" : "Neplatné úložisko",
+ "Federated share added" : "Združené sprístupnenie pridané",
+ "Couldn't add remote share" : "Nedá sa pridať vzdialené sprístupnenie",
+ "Sharing %s failed, because this item is already shared with %s" : "Sprístupnenie %s zlyhalo, pretože táto položka už je prístupná pre %s",
+ "Not allowed to create a federated share with the same user" : "Nie je možné vytvoriť združené sprístupnenie so sebou samým",
+ "File is already shared with %s" : "Súbor je už sprístupnený používateľovi %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Zdieľanie %s zlyhalo, %s sa nepodarilo nájsť, server nie je pravdepodobne dostupný alebo používa vlastnoručne podpísaný certifikát.",
+ "Could not find share" : "Nebolo možné nájsť sprístupnenie",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Obdržali ste \"%3$s\" ako vzdialené zdieľanie od %1$s (v mene %2$s) ",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Obdržali ste {share} ako vzdialené zdieľanie od {user} (v mene {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Obdržali ste \"%3$s\" ako vzdialené zdieľanie od %1$s",
+ "You received {share} as a remote share from {user}" : "Obdržali ste {share} ako vzdialené zdieľanie od {user}",
+ "Accept" : "Schváliť",
+ "Decline" : "Odmietnuť",
+ "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Sprístupnite mi obsah prostredníctvom môjho #Nextcloud Federated Cloud ID, viac na %s",
+ "Share with me through my #Nextcloud Federated Cloud ID" : "Sprístupnite mi obsah prostredníctvom môjho #Nextcloud Federated Cloud ID",
+ "Sharing" : "Sprístupnenie",
+ "Federated Cloud Sharing" : "Sprístupnenie prostredníctvom Federated Cloud",
+ "Open documentation" : "Otvoriť dokumentáciu",
+ "Adjust how people can share between servers." : "Nastavte ako môžu ľudia medzi sebou zdieľať servery.",
+ "Allow users on this server to send shares to other servers" : "Povoliť používateľom z tohto servera sprístupňovať obsah na iných serveroch",
+ "Allow users on this server to receive shares from other servers" : "Povoliť používateľom z tohto servera sprístupňovanie obsahu z iných serverov",
+ "Search global and public address book for users" : "Vyhľadávať používateľov v globálnom a verejnom adresári kontaktov",
+ "Allow users to publish their data to a global and public address book" : "Povoliť používateľom publikovanie ich dát do globálneho a verejného adresára",
+ "Federated Cloud" : "Združený Cloud",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Môžete zdieľať s kýmkoľvek kto používa Nextcloud, ownCloud alebo Pydio! Len zadajte ich združené Cloud ID v dialógu pre zdieľanie. Vyzerá podobne ako person@cloud.example.com",
+ "Your Federated Cloud ID:" : "Vaše združené Cloud ID",
+ "Share it so your friends can share files with you:" : "Zdieľajte to, aby mohli vaši priatelia zdieľať súbory s vami:",
+ "Add to your website" : "Pridať na svoju webstránku",
+ "Share with me via Nextcloud" : "Sprístupnené cez Nextcloud",
+ "HTML Code:" : "HTML kód:",
+ "Search global and public address book for users and let local users publish their data" : "Vyhľadávať používateľog v globálnom a verejnom adresári a umožniť miestnym používateľom publikovať ich dáta",
+ "Share it:" : "Sprístupniť:"
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/sk.json b/apps/federatedfilesharing/l10n/sk.json
new file mode 100644
index 0000000000..9d94d89eb5
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sk.json
@@ -0,0 +1,56 @@
+{ "translations": {
+ "Federated sharing" : "Združené sprístupňovanie",
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "Chcete pridať vzdialené úložisko {name} patriace používateľovi {owner}@{remote}?",
+ "Remote share" : "Vzdialené úložisko",
+ "Remote share password" : "Heslo k vzdialenému úložisku",
+ "Cancel" : "Zrušiť",
+ "Add remote share" : "Pridať vzdialené úložisko",
+ "Copy" : "Kopírovať",
+ "Copied!" : "Skopírované!",
+ "Not supported!" : "Nie je podporované!",
+ "Press ⌘-C to copy." : "Stlač ⌘-C pre skopírovanie.",
+ "Press Ctrl-C to copy." : "Stlač Ctrl-C pre skopírovanie.",
+ "Invalid Federated Cloud ID" : "Neplatné združené Cloud ID",
+ "Server to server sharing is not enabled on this server" : "Sprístupňovanie server-server nie je na tomto serveri povolené",
+ "Couldn't establish a federated share." : "Nepodarilo sa nadviazať združené zdieľanie",
+ "Couldn't establish a federated share, maybe the password was wrong." : "Nepodarilo sa nadviazať združené zdieľanie, možno je nesprávne heslo.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Požiadavka na združené zdieľanie bola odoslaná, obdržíte pozvánku. Skontrolujte oznámenia.",
+ "The mountpoint name contains invalid characters." : "Meno prípojného bodu obsahuje neplatné znaky.",
+ "Not allowed to create a federated share with the owner." : "Nie je povolené vytvárať združené zdieľanie s vlastníkom.",
+ "Invalid or untrusted SSL certificate" : "Neplatný alebo nedôveryhodný certifikát SSL",
+ "Could not authenticate to remote share, password might be wrong" : "Nie je možné overiť vo vzdialenom úložisku, heslo môže byť nesprávne",
+ "Storage not valid" : "Neplatné úložisko",
+ "Federated share added" : "Združené sprístupnenie pridané",
+ "Couldn't add remote share" : "Nedá sa pridať vzdialené sprístupnenie",
+ "Sharing %s failed, because this item is already shared with %s" : "Sprístupnenie %s zlyhalo, pretože táto položka už je prístupná pre %s",
+ "Not allowed to create a federated share with the same user" : "Nie je možné vytvoriť združené sprístupnenie so sebou samým",
+ "File is already shared with %s" : "Súbor je už sprístupnený používateľovi %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Zdieľanie %s zlyhalo, %s sa nepodarilo nájsť, server nie je pravdepodobne dostupný alebo používa vlastnoručne podpísaný certifikát.",
+ "Could not find share" : "Nebolo možné nájsť sprístupnenie",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Obdržali ste \"%3$s\" ako vzdialené zdieľanie od %1$s (v mene %2$s) ",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Obdržali ste {share} ako vzdialené zdieľanie od {user} (v mene {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Obdržali ste \"%3$s\" ako vzdialené zdieľanie od %1$s",
+ "You received {share} as a remote share from {user}" : "Obdržali ste {share} ako vzdialené zdieľanie od {user}",
+ "Accept" : "Schváliť",
+ "Decline" : "Odmietnuť",
+ "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Sprístupnite mi obsah prostredníctvom môjho #Nextcloud Federated Cloud ID, viac na %s",
+ "Share with me through my #Nextcloud Federated Cloud ID" : "Sprístupnite mi obsah prostredníctvom môjho #Nextcloud Federated Cloud ID",
+ "Sharing" : "Sprístupnenie",
+ "Federated Cloud Sharing" : "Sprístupnenie prostredníctvom Federated Cloud",
+ "Open documentation" : "Otvoriť dokumentáciu",
+ "Adjust how people can share between servers." : "Nastavte ako môžu ľudia medzi sebou zdieľať servery.",
+ "Allow users on this server to send shares to other servers" : "Povoliť používateľom z tohto servera sprístupňovať obsah na iných serveroch",
+ "Allow users on this server to receive shares from other servers" : "Povoliť používateľom z tohto servera sprístupňovanie obsahu z iných serverov",
+ "Search global and public address book for users" : "Vyhľadávať používateľov v globálnom a verejnom adresári kontaktov",
+ "Allow users to publish their data to a global and public address book" : "Povoliť používateľom publikovanie ich dát do globálneho a verejného adresára",
+ "Federated Cloud" : "Združený Cloud",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Môžete zdieľať s kýmkoľvek kto používa Nextcloud, ownCloud alebo Pydio! Len zadajte ich združené Cloud ID v dialógu pre zdieľanie. Vyzerá podobne ako person@cloud.example.com",
+ "Your Federated Cloud ID:" : "Vaše združené Cloud ID",
+ "Share it so your friends can share files with you:" : "Zdieľajte to, aby mohli vaši priatelia zdieľať súbory s vami:",
+ "Add to your website" : "Pridať na svoju webstránku",
+ "Share with me via Nextcloud" : "Sprístupnené cez Nextcloud",
+ "HTML Code:" : "HTML kód:",
+ "Search global and public address book for users and let local users publish their data" : "Vyhľadávať používateľog v globálnom a verejnom adresári a umožniť miestnym používateľom publikovať ich dáta",
+ "Share it:" : "Sprístupniť:"
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+}
\ No newline at end of file
diff --git a/apps/federatedfilesharing/tests/AddressHandlerTest.php b/apps/federatedfilesharing/tests/AddressHandlerTest.php
index 6d215d4015..a9c5cedf49 100644
--- a/apps/federatedfilesharing/tests/AddressHandlerTest.php
+++ b/apps/federatedfilesharing/tests/AddressHandlerTest.php
@@ -47,9 +47,9 @@ class AddressHandlerTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->urlGenerator = $this->getMockBuilder('OCP\IURLGenerator')
+ $this->urlGenerator = $this->getMockBuilder(IURLGenerator::class)
->getMock();
- $this->il10n = $this->getMockBuilder('OCP\IL10N')
+ $this->il10n = $this->getMockBuilder(IL10N::class)
->getMock();
$this->cloudIdManager = new CloudIdManager();
diff --git a/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php b/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
index 7714ff4731..cef341fdc8 100644
--- a/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
+++ b/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
@@ -35,6 +35,7 @@ use OCP\Federation\ICloudIdManager;
use OCP\Files\IRootFolder;
use OCP\Http\Client\IClientService;
use OCP\IL10N;
+use OCP\IRequest;
use OCP\ISession;
use OCP\IUserManager;
use OCP\IUserSession;
@@ -85,18 +86,18 @@ class MountPublicLinkControllerTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->request = $this->getMockBuilder('OCP\IRequest')->disableOriginalConstructor()->getMock();
+ $this->request = $this->getMockBuilder(IRequest::class)->disableOriginalConstructor()->getMock();
$this->federatedShareProvider = $this->getMockBuilder('OCA\FederatedFileSharing\FederatedShareProvider')
->disableOriginalConstructor()->getMock();
- $this->shareManager = $this->getMockBuilder('OCP\Share\IManager')->disableOriginalConstructor()->getMock();
+ $this->shareManager = $this->getMockBuilder(IManager::class)->disableOriginalConstructor()->getMock();
$this->addressHandler = $this->getMockBuilder('OCA\FederatedFileSharing\AddressHandler')
->disableOriginalConstructor()->getMock();
$this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->disableOriginalConstructor()->getMock();
- $this->userManager = $this->getMockBuilder('OCP\IUserManager')->disableOriginalConstructor()->getMock();
+ $this->userManager = $this->getMockBuilder(IUserManager::class)->disableOriginalConstructor()->getMock();
$this->share = new \OC\Share20\Share($this->rootFolder, $this->userManager);
- $this->session = $this->getMockBuilder('OCP\ISession')->disableOriginalConstructor()->getMock();
- $this->l10n = $this->getMockBuilder('OCP\IL10N')->disableOriginalConstructor()->getMock();
- $this->userSession = $this->getMockBuilder('OCP\IUserSession')->disableOriginalConstructor()->getMock();
+ $this->session = $this->getMockBuilder(ISession::class)->disableOriginalConstructor()->getMock();
+ $this->l10n = $this->getMockBuilder(IL10N::class)->disableOriginalConstructor()->getMock();
+ $this->userSession = $this->getMockBuilder(IUserSession::class)->disableOriginalConstructor()->getMock();
$this->clientService = $this->getMockBuilder('OCP\Http\Client\IClientService')->disableOriginalConstructor()->getMock();
$this->cloudIdManager = new CloudIdManager();
diff --git a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
index d57b2cb207..585102d687 100644
--- a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
+++ b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
@@ -29,13 +29,13 @@ namespace OCA\FederatedFileSharing\Tests;
use OC\Federation\CloudIdManager;
use OC\Files\Filesystem;
-use OCA\FederatedFileSharing\DiscoveryManager;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCA\FederatedFileSharing\Controller\RequestHandlerController;
use OCP\Federation\ICloudIdManager;
use OCP\Http\Client\IClient;
use OCP\Http\Client\IClientService;
use OCP\Http\Client\IResponse;
+use OCP\IConfig;
use OCP\IUserManager;
use OCP\Share\IShare;
@@ -83,14 +83,14 @@ class RequestHandlerControllerTest extends TestCase {
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
\OC\Share\Share::registerBackend('test', 'Test\Share\Backend');
- $config = $this->getMockBuilder('\OCP\IConfig')
+ $config = $this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()->getMock();
- $clientService = $this->getMockBuilder('\OCP\Http\Client\IClientService')->getMock();
+ $clientService = $this->getMockBuilder(IClientService::class)->getMock();
$httpHelperMock = $this->getMockBuilder('\OC\HTTPHelper')
->setConstructorArgs([$config, $clientService])
->getMock();
$httpHelperMock->expects($this->any())->method('post')->with($this->anything())->will($this->returnValue(true));
- $this->share = $this->getMockBuilder('\OCP\Share\IShare')->getMock();
+ $this->share = $this->getMockBuilder(IShare::class)->getMock();
$this->federatedShareProvider = $this->getMockBuilder('OCA\FederatedFileSharing\FederatedShareProvider')
->disableOriginalConstructor()->getMock();
$this->federatedShareProvider->expects($this->any())
@@ -104,7 +104,7 @@ class RequestHandlerControllerTest extends TestCase {
->disableOriginalConstructor()->getMock();
$this->addressHandler = $this->getMockBuilder('OCA\FederatedFileSharing\AddressHandler')
->disableOriginalConstructor()->getMock();
- $this->userManager = $this->getMockBuilder('OCP\IUserManager')->getMock();
+ $this->userManager = $this->getMockBuilder(IUserManager::class)->getMock();
$this->cloudIdManager = new CloudIdManager();
diff --git a/apps/federatedfilesharing/tests/FederatedShareProviderTest.php b/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
index 3ecd8162ca..aa81eef9e6 100644
--- a/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
+++ b/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
@@ -31,6 +31,7 @@ use OCA\FederatedFileSharing\FederatedShareProvider;
use OCA\FederatedFileSharing\Notifications;
use OCA\FederatedFileSharing\TokenHandler;
use OCP\Federation\ICloudIdManager;
+use OCP\Files\File;
use OCP\Files\IRootFolder;
use OCP\IConfig;
use OCP\IDBConnection;
@@ -87,15 +88,15 @@ class FederatedShareProviderTest extends \Test\TestCase {
$this->tokenHandler = $this->getMockBuilder('OCA\FederatedFileSharing\TokenHandler')
->disableOriginalConstructor()
->getMock();
- $this->l = $this->getMockBuilder('OCP\IL10N')->getMock();
+ $this->l = $this->getMockBuilder(IL10N::class)->getMock();
$this->l->method('t')
->will($this->returnCallback(function($text, $parameters = []) {
return vsprintf($text, $parameters);
}));
- $this->logger = $this->getMockBuilder('OCP\ILogger')->getMock();
+ $this->logger = $this->getMockBuilder(ILogger::class)->getMock();
$this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->getMock();
- $this->config = $this->getMockBuilder('OCP\IConfig')->getMock();
- $this->userManager = $this->getMockBuilder('OCP\IUserManager')->getMock();
+ $this->config = $this->getMockBuilder(IConfig::class)->getMock();
+ $this->userManager = $this->getMockBuilder(IUserManager::class)->getMock();
//$this->addressHandler = new AddressHandler(\OC::$server->getURLGenerator(), $this->l);
$this->addressHandler = $this->getMockBuilder('OCA\FederatedFileSharing\AddressHandler')->disableOriginalConstructor()->getMock();
$this->cloudIdManager = new CloudIdManager();
@@ -129,7 +130,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
public function testCreate() {
$share = $this->shareManager->newShare();
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -200,7 +201,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
public function testCreateCouldNotFindServer() {
$share = $this->shareManager->newShare();
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -256,7 +257,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
public function testCreateException() {
$share = $this->shareManager->newShare();
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -312,7 +313,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
public function testCreateShareWithSelf() {
$share = $this->shareManager->newShare();
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -351,7 +352,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
public function testCreateAlreadyShared() {
$share = $this->shareManager->newShare();
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -419,7 +420,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
$share = $this->shareManager->newShare();
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -476,7 +477,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
}
public function testGetSharedBy() {
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -517,7 +518,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
}
public function testGetSharedByWithNode() {
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -536,7 +537,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
->setNode($node);
$this->provider->create($share);
- $node2 = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node2 = $this->getMockBuilder(File::class)->getMock();
$node2->method('getId')->willReturn(43);
$node2->method('getName')->willReturn('myOtherFile');
@@ -555,7 +556,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
}
public function testGetSharedByWithReshares() {
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
@@ -588,7 +589,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
}
public function testGetSharedByWithLimit() {
- $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
+ $node = $this->getMockBuilder(File::class)->getMock();
$node->method('getId')->willReturn(42);
$node->method('getName')->willReturn('myFile');
diff --git a/apps/federatedfilesharing/tests/TokenHandlerTest.php b/apps/federatedfilesharing/tests/TokenHandlerTest.php
index 10e5fc5df5..2025b90e00 100644
--- a/apps/federatedfilesharing/tests/TokenHandlerTest.php
+++ b/apps/federatedfilesharing/tests/TokenHandlerTest.php
@@ -42,7 +42,7 @@ class TokenHandlerTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->secureRandom = $this->getMockBuilder('OCP\Security\ISecureRandom')->getMock();
+ $this->secureRandom = $this->getMockBuilder(ISecureRandom::class)->getMock();
$this->tokenHandler = new TokenHandler($this->secureRandom);
}
diff --git a/apps/federation/composer/autoload.php b/apps/federation/composer/autoload.php
new file mode 100644
index 0000000000..45677794dd
--- /dev/null
+++ b/apps/federation/composer/autoload.php
@@ -0,0 +1,7 @@
+
+ * Jordi Boggiano
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier
+ * @author Jordi Boggiano
+ * @see http://www.php-fig.org/psr/psr-0/
+ * @see http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+ private $classMapAuthoritative = false;
+ private $missingClasses = array();
+ private $apcuPrefix;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * 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-4 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
+ *
+ * @param string|null $apcuPrefix
+ */
+ public function setApcuPrefix($apcuPrefix)
+ {
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ }
+
+ /**
+ * The APCu prefix in use, or null if APCu caching is not enabled.
+ *
+ * @return string|null
+ */
+ public function getApcuPrefix()
+ {
+ return $this->apcuPrefix;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
+ return false;
+ }
+ if (null !== $this->apcuPrefix) {
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
+ if ($hit) {
+ return $file;
+ }
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if (false === $file && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if (null !== $this->apcuPrefix) {
+ apcu_add($this->apcuPrefix.$class, $file);
+ }
+
+ if (false === $file) {
+ // Remember that this class does not exist.
+ $this->missingClasses[$class] = true;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ $subPath = $class;
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
+ $subPath = substr($subPath, 0, $lastPos);
+ $search = $subPath.'\\';
+ if (isset($this->prefixDirsPsr4[$search])) {
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
+ $length = $this->prefixLengthsPsr4[$first][$search];
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+
+ return false;
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/apps/federation/composer/composer/LICENSE b/apps/federation/composer/composer/LICENSE
new file mode 100644
index 0000000000..f27399a042
--- /dev/null
+++ b/apps/federation/composer/composer/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (c) 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
+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/federation/composer/composer/autoload_classmap.php b/apps/federation/composer/composer/autoload_classmap.php
new file mode 100644
index 0000000000..8274bf4524
--- /dev/null
+++ b/apps/federation/composer/composer/autoload_classmap.php
@@ -0,0 +1,23 @@
+ $baseDir . '/../lib/AppInfo/Application.php',
+ 'OCA\\Federation\\BackgroundJob\\GetSharedSecret' => $baseDir . '/../lib/BackgroundJob/GetSharedSecret.php',
+ 'OCA\\Federation\\BackgroundJob\\RequestSharedSecret' => $baseDir . '/../lib/BackgroundJob/RequestSharedSecret.php',
+ 'OCA\\Federation\\Command\\SyncFederationAddressBooks' => $baseDir . '/../lib/Command/SyncFederationAddressBooks.php',
+ 'OCA\\Federation\\Controller\\OCSAuthAPIController' => $baseDir . '/../lib/Controller/OCSAuthAPIController.php',
+ 'OCA\\Federation\\Controller\\SettingsController' => $baseDir . '/../lib/Controller/SettingsController.php',
+ 'OCA\\Federation\\DAV\\FedAuth' => $baseDir . '/../lib/DAV/FedAuth.php',
+ 'OCA\\Federation\\DbHandler' => $baseDir . '/../lib/DbHandler.php',
+ 'OCA\\Federation\\Hooks' => $baseDir . '/../lib/Hooks.php',
+ 'OCA\\Federation\\Middleware\\AddServerMiddleware' => $baseDir . '/../lib/Middleware/AddServerMiddleware.php',
+ 'OCA\\Federation\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php',
+ 'OCA\\Federation\\SyncFederationAddressBooks' => $baseDir . '/../lib/SyncFederationAddressBooks.php',
+ 'OCA\\Federation\\SyncJob' => $baseDir . '/../lib/SyncJob.php',
+ 'OCA\\Federation\\TrustedServers' => $baseDir . '/../lib/TrustedServers.php',
+);
diff --git a/apps/federation/composer/composer/autoload_namespaces.php b/apps/federation/composer/composer/autoload_namespaces.php
new file mode 100644
index 0000000000..71c9e91858
--- /dev/null
+++ b/apps/federation/composer/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+ array($baseDir . '/../lib'),
+);
diff --git a/apps/federation/composer/composer/autoload_real.php b/apps/federation/composer/composer/autoload_real.php
new file mode 100644
index 0000000000..f2906437fd
--- /dev/null
+++ b/apps/federation/composer/composer/autoload_real.php
@@ -0,0 +1,52 @@
+= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
+ if ($useStaticLoader) {
+ require_once __DIR__ . '/autoload_static.php';
+
+ call_user_func(\Composer\Autoload\ComposerStaticInitFederation::getInitializer($loader));
+ } else {
+ $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);
+ }
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
diff --git a/apps/federation/composer/composer/autoload_static.php b/apps/federation/composer/composer/autoload_static.php
new file mode 100644
index 0000000000..e005986b9f
--- /dev/null
+++ b/apps/federation/composer/composer/autoload_static.php
@@ -0,0 +1,49 @@
+
+ array (
+ 'OCA\\Federation\\' => 15,
+ ),
+ );
+
+ public static $prefixDirsPsr4 = array (
+ 'OCA\\Federation\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/../lib',
+ ),
+ );
+
+ public static $classMap = array (
+ 'OCA\\Federation\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
+ 'OCA\\Federation\\BackgroundJob\\GetSharedSecret' => __DIR__ . '/..' . '/../lib/BackgroundJob/GetSharedSecret.php',
+ 'OCA\\Federation\\BackgroundJob\\RequestSharedSecret' => __DIR__ . '/..' . '/../lib/BackgroundJob/RequestSharedSecret.php',
+ 'OCA\\Federation\\Command\\SyncFederationAddressBooks' => __DIR__ . '/..' . '/../lib/Command/SyncFederationAddressBooks.php',
+ 'OCA\\Federation\\Controller\\OCSAuthAPIController' => __DIR__ . '/..' . '/../lib/Controller/OCSAuthAPIController.php',
+ 'OCA\\Federation\\Controller\\SettingsController' => __DIR__ . '/..' . '/../lib/Controller/SettingsController.php',
+ 'OCA\\Federation\\DAV\\FedAuth' => __DIR__ . '/..' . '/../lib/DAV/FedAuth.php',
+ 'OCA\\Federation\\DbHandler' => __DIR__ . '/..' . '/../lib/DbHandler.php',
+ 'OCA\\Federation\\Hooks' => __DIR__ . '/..' . '/../lib/Hooks.php',
+ 'OCA\\Federation\\Middleware\\AddServerMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/AddServerMiddleware.php',
+ 'OCA\\Federation\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php',
+ 'OCA\\Federation\\SyncFederationAddressBooks' => __DIR__ . '/..' . '/../lib/SyncFederationAddressBooks.php',
+ 'OCA\\Federation\\SyncJob' => __DIR__ . '/..' . '/../lib/SyncJob.php',
+ 'OCA\\Federation\\TrustedServers' => __DIR__ . '/..' . '/../lib/TrustedServers.php',
+ );
+
+ public static function getInitializer(ClassLoader $loader)
+ {
+ return \Closure::bind(function () use ($loader) {
+ $loader->prefixLengthsPsr4 = ComposerStaticInitFederation::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInitFederation::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInitFederation::$classMap;
+
+ }, null, ClassLoader::class);
+ }
+}
diff --git a/apps/federation/l10n/es_CO.js b/apps/federation/l10n/es_CO.js
new file mode 100644
index 0000000000..f67269dab9
--- /dev/null
+++ b/apps/federation/l10n/es_CO.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Added to the list of trusted servers" : "Agregado a la lista de servidores de confianza",
+ "Server is already in the list of trusted servers." : "El servidor ya se encuentra en la lista de servidores de confianza.",
+ "No server to federate with found" : "No se encontraron servidores para integrar a la federación",
+ "Could not add server" : "No fue posible agregar el servidor",
+ "Trusted servers" : "Servidores de confianza",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.",
+ "Add server automatically once a federated share was created successfully" : "Agregar el servidor automáticamente una vez que se genere exitosamente el elemento compartido federado",
+ "+ Add trusted server" : "+ Agregar servidor de confianza",
+ "Trusted server" : "Servidor de confianza",
+ "Add" : "Agregar",
+ "Federation" : "Federación"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/es_CO.json b/apps/federation/l10n/es_CO.json
new file mode 100644
index 0000000000..4e87e62726
--- /dev/null
+++ b/apps/federation/l10n/es_CO.json
@@ -0,0 +1,14 @@
+{ "translations": {
+ "Added to the list of trusted servers" : "Agregado a la lista de servidores de confianza",
+ "Server is already in the list of trusted servers." : "El servidor ya se encuentra en la lista de servidores de confianza.",
+ "No server to federate with found" : "No se encontraron servidores para integrar a la federación",
+ "Could not add server" : "No fue posible agregar el servidor",
+ "Trusted servers" : "Servidores de confianza",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.",
+ "Add server automatically once a federated share was created successfully" : "Agregar el servidor automáticamente una vez que se genere exitosamente el elemento compartido federado",
+ "+ Add trusted server" : "+ Agregar servidor de confianza",
+ "Trusted server" : "Servidor de confianza",
+ "Add" : "Agregar",
+ "Federation" : "Federación"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/apps/federation/l10n/eu.js b/apps/federation/l10n/eu.js
new file mode 100644
index 0000000000..d64821f858
--- /dev/null
+++ b/apps/federation/l10n/eu.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Added to the list of trusted servers" : "Zerbitzari fidagarrien zerrendara gehituta",
+ "Server is already in the list of trusted servers." : "Zerbitzaria fidagarrien zerrendan dago iada",
+ "No server to federate with found" : "Ez da federatzeko zerbitzaririk topatu",
+ "Could not add server" : "Ezin da zerbitzaria gehitu",
+ "Trusted servers" : "Zerbitzari fidagarriak",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federazioaren bidez fidagarriak diren zerbitzariekin erabiltzaileen informazioa elkartrukatzeko aukeraematen du. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federazio partekatuarentzako",
+ "Add server automatically once a federated share was created successfully" : "Zerbitzaria automatikoki gehitu federatutako partekatze bat ondo sortzen denean",
+ "+ Add trusted server" : "+ Zerbitzari fidagarria gehitu",
+ "Trusted server" : "Zerbitzari fidagarria",
+ "Add" : "Gehitu",
+ "Federation" : "Federazioa"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/eu.json b/apps/federation/l10n/eu.json
new file mode 100644
index 0000000000..86bdba1dc9
--- /dev/null
+++ b/apps/federation/l10n/eu.json
@@ -0,0 +1,14 @@
+{ "translations": {
+ "Added to the list of trusted servers" : "Zerbitzari fidagarrien zerrendara gehituta",
+ "Server is already in the list of trusted servers." : "Zerbitzaria fidagarrien zerrendan dago iada",
+ "No server to federate with found" : "Ez da federatzeko zerbitzaririk topatu",
+ "Could not add server" : "Ezin da zerbitzaria gehitu",
+ "Trusted servers" : "Zerbitzari fidagarriak",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federazioaren bidez fidagarriak diren zerbitzariekin erabiltzaileen informazioa elkartrukatzeko aukeraematen du. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federazio partekatuarentzako",
+ "Add server automatically once a federated share was created successfully" : "Zerbitzaria automatikoki gehitu federatutako partekatze bat ondo sortzen denean",
+ "+ Add trusted server" : "+ Zerbitzari fidagarria gehitu",
+ "Trusted server" : "Zerbitzari fidagarria",
+ "Add" : "Gehitu",
+ "Federation" : "Federazioa"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/apps/federation/l10n/sk.js b/apps/federation/l10n/sk.js
new file mode 100644
index 0000000000..ebf28b6fa3
--- /dev/null
+++ b/apps/federation/l10n/sk.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Added to the list of trusted servers" : "Pridané do zoznamu dôveryhodných serverov",
+ "Server is already in the list of trusted servers." : "Server sa už nachádza v zozname dôveryhodných serverov",
+ "No server to federate with found" : "Server pre združenie sa nenašiel",
+ "Could not add server" : "Nebolo možné pridať server",
+ "Trusted servers" : "Dôveryhodné servery",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov. Používa sa to napr. pre automatické doplňovanie používateľov pri združenom zdieľaní.",
+ "Add server automatically once a federated share was created successfully" : "Pridať server automaticky akonáhle je úspešne vytvorené združené zdieľanie",
+ "+ Add trusted server" : "Pridať dôveryhodný server",
+ "Trusted server" : "Dôveryhodný server",
+ "Add" : "Pridať",
+ "Federation" : "Združovanie"
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/federation/l10n/sk.json b/apps/federation/l10n/sk.json
new file mode 100644
index 0000000000..119f2b121f
--- /dev/null
+++ b/apps/federation/l10n/sk.json
@@ -0,0 +1,14 @@
+{ "translations": {
+ "Added to the list of trusted servers" : "Pridané do zoznamu dôveryhodných serverov",
+ "Server is already in the list of trusted servers." : "Server sa už nachádza v zozname dôveryhodných serverov",
+ "No server to federate with found" : "Server pre združenie sa nenašiel",
+ "Could not add server" : "Nebolo možné pridať server",
+ "Trusted servers" : "Dôveryhodné servery",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov. Používa sa to napr. pre automatické doplňovanie používateľov pri združenom zdieľaní.",
+ "Add server automatically once a federated share was created successfully" : "Pridať server automaticky akonáhle je úspešne vytvorené združené zdieľanie",
+ "+ Add trusted server" : "Pridať dôveryhodný server",
+ "Trusted server" : "Dôveryhodný server",
+ "Add" : "Pridať",
+ "Federation" : "Združovanie"
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+}
\ No newline at end of file
diff --git a/apps/files/composer/autoload.php b/apps/files/composer/autoload.php
new file mode 100644
index 0000000000..3aa13fa515
--- /dev/null
+++ b/apps/files/composer/autoload.php
@@ -0,0 +1,7 @@
+
+ * Jordi Boggiano
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier
+ * @author Jordi Boggiano
+ * @see http://www.php-fig.org/psr/psr-0/
+ * @see http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+ private $classMapAuthoritative = false;
+ private $missingClasses = array();
+ private $apcuPrefix;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * 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-4 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
+ *
+ * @param string|null $apcuPrefix
+ */
+ public function setApcuPrefix($apcuPrefix)
+ {
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ }
+
+ /**
+ * The APCu prefix in use, or null if APCu caching is not enabled.
+ *
+ * @return string|null
+ */
+ public function getApcuPrefix()
+ {
+ return $this->apcuPrefix;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
+ return false;
+ }
+ if (null !== $this->apcuPrefix) {
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
+ if ($hit) {
+ return $file;
+ }
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if (false === $file && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if (null !== $this->apcuPrefix) {
+ apcu_add($this->apcuPrefix.$class, $file);
+ }
+
+ if (false === $file) {
+ // Remember that this class does not exist.
+ $this->missingClasses[$class] = true;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ $subPath = $class;
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
+ $subPath = substr($subPath, 0, $lastPos);
+ $search = $subPath.'\\';
+ if (isset($this->prefixDirsPsr4[$search])) {
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
+ $length = $this->prefixLengthsPsr4[$first][$search];
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+
+ return false;
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/apps/files/composer/composer/LICENSE b/apps/files/composer/composer/LICENSE
new file mode 100644
index 0000000000..f27399a042
--- /dev/null
+++ b/apps/files/composer/composer/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (c) 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
+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/composer/composer/autoload_classmap.php b/apps/files/composer/composer/autoload_classmap.php
new file mode 100644
index 0000000000..d184702cfa
--- /dev/null
+++ b/apps/files/composer/composer/autoload_classmap.php
@@ -0,0 +1,36 @@
+ $baseDir . '/../lib/Activity/FavoriteProvider.php',
+ 'OCA\\Files\\Activity\\Filter\\Favorites' => $baseDir . '/../lib/Activity/Filter/Favorites.php',
+ 'OCA\\Files\\Activity\\Filter\\FileChanges' => $baseDir . '/../lib/Activity/Filter/FileChanges.php',
+ 'OCA\\Files\\Activity\\Helper' => $baseDir . '/../lib/Activity/Helper.php',
+ 'OCA\\Files\\Activity\\Provider' => $baseDir . '/../lib/Activity/Provider.php',
+ 'OCA\\Files\\Activity\\Settings\\FavoriteAction' => $baseDir . '/../lib/Activity/Settings/FavoriteAction.php',
+ 'OCA\\Files\\Activity\\Settings\\FileChanged' => $baseDir . '/../lib/Activity/Settings/FileChanged.php',
+ 'OCA\\Files\\Activity\\Settings\\FileCreated' => $baseDir . '/../lib/Activity/Settings/FileCreated.php',
+ 'OCA\\Files\\Activity\\Settings\\FileDeleted' => $baseDir . '/../lib/Activity/Settings/FileDeleted.php',
+ 'OCA\\Files\\Activity\\Settings\\FileFavorite' => $baseDir . '/../lib/Activity/Settings/FileFavorite.php',
+ 'OCA\\Files\\Activity\\Settings\\FileRestored' => $baseDir . '/../lib/Activity/Settings/FileRestored.php',
+ 'OCA\\Files\\App' => $baseDir . '/../lib/App.php',
+ 'OCA\\Files\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
+ 'OCA\\Files\\BackgroundJob\\CleanupFileLocks' => $baseDir . '/../lib/BackgroundJob/CleanupFileLocks.php',
+ 'OCA\\Files\\BackgroundJob\\DeleteOrphanedItems' => $baseDir . '/../lib/BackgroundJob/DeleteOrphanedItems.php',
+ 'OCA\\Files\\BackgroundJob\\ScanFiles' => $baseDir . '/../lib/BackgroundJob/ScanFiles.php',
+ 'OCA\\Files\\Capabilities' => $baseDir . '/../lib/Capabilities.php',
+ 'OCA\\Files\\Command\\DeleteOrphanedFiles' => $baseDir . '/../lib/Command/DeleteOrphanedFiles.php',
+ 'OCA\\Files\\Command\\Scan' => $baseDir . '/../lib/Command/Scan.php',
+ 'OCA\\Files\\Command\\ScanAppData' => $baseDir . '/../lib/Command/ScanAppData.php',
+ 'OCA\\Files\\Command\\TransferOwnership' => $baseDir . '/../lib/Command/TransferOwnership.php',
+ 'OCA\\Files\\Controller\\ApiController' => $baseDir . '/../lib/Controller/ApiController.php',
+ 'OCA\\Files\\Controller\\SettingsController' => $baseDir . '/../lib/Controller/SettingsController.php',
+ 'OCA\\Files\\Controller\\ViewController' => $baseDir . '/../lib/Controller/ViewController.php',
+ 'OCA\\Files\\Helper' => $baseDir . '/../lib/Helper.php',
+ 'OCA\\Files\\Service\\TagService' => $baseDir . '/../lib/Service/TagService.php',
+ 'OCA\\Files\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php',
+);
diff --git a/apps/files/composer/composer/autoload_namespaces.php b/apps/files/composer/composer/autoload_namespaces.php
new file mode 100644
index 0000000000..71c9e91858
--- /dev/null
+++ b/apps/files/composer/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+ array($baseDir . '/../lib'),
+);
diff --git a/apps/files/composer/composer/autoload_real.php b/apps/files/composer/composer/autoload_real.php
new file mode 100644
index 0000000000..fe9ef0b02a
--- /dev/null
+++ b/apps/files/composer/composer/autoload_real.php
@@ -0,0 +1,52 @@
+= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
+ if ($useStaticLoader) {
+ require_once __DIR__ . '/autoload_static.php';
+
+ call_user_func(\Composer\Autoload\ComposerStaticInitFiles::getInitializer($loader));
+ } else {
+ $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);
+ }
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
diff --git a/apps/files/composer/composer/autoload_static.php b/apps/files/composer/composer/autoload_static.php
new file mode 100644
index 0000000000..44094c6a34
--- /dev/null
+++ b/apps/files/composer/composer/autoload_static.php
@@ -0,0 +1,62 @@
+
+ array (
+ 'OCA\\Files\\' => 10,
+ ),
+ );
+
+ public static $prefixDirsPsr4 = array (
+ 'OCA\\Files\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/../lib',
+ ),
+ );
+
+ public static $classMap = array (
+ 'OCA\\Files\\Activity\\FavoriteProvider' => __DIR__ . '/..' . '/../lib/Activity/FavoriteProvider.php',
+ 'OCA\\Files\\Activity\\Filter\\Favorites' => __DIR__ . '/..' . '/../lib/Activity/Filter/Favorites.php',
+ 'OCA\\Files\\Activity\\Filter\\FileChanges' => __DIR__ . '/..' . '/../lib/Activity/Filter/FileChanges.php',
+ 'OCA\\Files\\Activity\\Helper' => __DIR__ . '/..' . '/../lib/Activity/Helper.php',
+ 'OCA\\Files\\Activity\\Provider' => __DIR__ . '/..' . '/../lib/Activity/Provider.php',
+ 'OCA\\Files\\Activity\\Settings\\FavoriteAction' => __DIR__ . '/..' . '/../lib/Activity/Settings/FavoriteAction.php',
+ 'OCA\\Files\\Activity\\Settings\\FileChanged' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileChanged.php',
+ 'OCA\\Files\\Activity\\Settings\\FileCreated' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileCreated.php',
+ 'OCA\\Files\\Activity\\Settings\\FileDeleted' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileDeleted.php',
+ 'OCA\\Files\\Activity\\Settings\\FileFavorite' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileFavorite.php',
+ 'OCA\\Files\\Activity\\Settings\\FileRestored' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileRestored.php',
+ 'OCA\\Files\\App' => __DIR__ . '/..' . '/../lib/App.php',
+ 'OCA\\Files\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
+ 'OCA\\Files\\BackgroundJob\\CleanupFileLocks' => __DIR__ . '/..' . '/../lib/BackgroundJob/CleanupFileLocks.php',
+ 'OCA\\Files\\BackgroundJob\\DeleteOrphanedItems' => __DIR__ . '/..' . '/../lib/BackgroundJob/DeleteOrphanedItems.php',
+ 'OCA\\Files\\BackgroundJob\\ScanFiles' => __DIR__ . '/..' . '/../lib/BackgroundJob/ScanFiles.php',
+ 'OCA\\Files\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php',
+ 'OCA\\Files\\Command\\DeleteOrphanedFiles' => __DIR__ . '/..' . '/../lib/Command/DeleteOrphanedFiles.php',
+ 'OCA\\Files\\Command\\Scan' => __DIR__ . '/..' . '/../lib/Command/Scan.php',
+ 'OCA\\Files\\Command\\ScanAppData' => __DIR__ . '/..' . '/../lib/Command/ScanAppData.php',
+ 'OCA\\Files\\Command\\TransferOwnership' => __DIR__ . '/..' . '/../lib/Command/TransferOwnership.php',
+ 'OCA\\Files\\Controller\\ApiController' => __DIR__ . '/..' . '/../lib/Controller/ApiController.php',
+ 'OCA\\Files\\Controller\\SettingsController' => __DIR__ . '/..' . '/../lib/Controller/SettingsController.php',
+ 'OCA\\Files\\Controller\\ViewController' => __DIR__ . '/..' . '/../lib/Controller/ViewController.php',
+ 'OCA\\Files\\Helper' => __DIR__ . '/..' . '/../lib/Helper.php',
+ 'OCA\\Files\\Service\\TagService' => __DIR__ . '/..' . '/../lib/Service/TagService.php',
+ 'OCA\\Files\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php',
+ );
+
+ public static function getInitializer(ClassLoader $loader)
+ {
+ return \Closure::bind(function () use ($loader) {
+ $loader->prefixLengthsPsr4 = ComposerStaticInitFiles::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInitFiles::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInitFiles::$classMap;
+
+ }, null, ClassLoader::class);
+ }
+}
diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index 7c2d3b0bb1..c03b1ce6fa 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -34,8 +34,6 @@
.newFileMenu .error, #fileList .error {
color: $color-error;
border-color: $color-error;
- -webkit-box-shadow: 0 0 6px #f8b9b7;
- -moz-box-shadow: 0 0 6px #f8b9b7;
box-shadow: 0 0 6px #f8b9b7;
}
@@ -232,9 +230,6 @@ table th#headerName {
position: relative;
height: 50px;
}
-.has-favorites #headerName-container {
- padding-left: 50px;
-}
table th#headerSize, table td.filesize {
text-align: right;
@@ -296,7 +291,12 @@ table td.filename a.name {
line-height: 50px;
padding: 0;
}
-table td.filename label.icon-loading-small {
+table td.filename .thumbnail-wrapper {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+}
+table td.filename .thumbnail-wrapper.icon-loading-small {
&:after {
z-index: 10;
}
@@ -308,10 +308,10 @@ table td.filename .thumbnail {
display: inline-block;
width: 32px;
height: 32px;
+ background-size: 32px;
margin-left: 9px;
margin-top: 9px;
cursor: pointer;
- float: left;
position: absolute;
z-index: 4;
}
@@ -321,12 +321,9 @@ table td.filename input.filename {
margin-left: 48px;
cursor: text;
}
-.has-favorites table td.filename input.filename {
- margin-left: 52px;
-}
table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:3px 8px 8px 3px; }
-table td.filename .nametext, .uploadtext, .modified, .column-last>span:first-child { float:left; padding:15px 0; }
+table td.filename .nametext, .modified, .column-last>span:first-child { float:left; padding:15px 0; }
.modified, .column-last>span:first-child {
position: relative;
@@ -338,22 +335,23 @@ table td.filename .nametext, .uploadtext, .modified, .column-last>span:first-chi
/* TODO fix usability bug (accidental file/folder selection) */
table td.filename .nametext {
position: absolute;
- left: 55px;
padding: 0;
+ padding-left: 55px;
overflow: hidden;
text-overflow: ellipsis;
width: 70%;
max-width: 800px;
height: 100%;
+ z-index: 10;
+}
+table td.filename .uploadtext {
+ position: absolute;
+ left: 55px;
}
/* ellipsis on file names */
table td.filename .nametext .innernametext {
max-width: calc(100% - 100px) !important;
}
-.has-favorites #fileList td.filename a.name {
- left: 50px;
- margin-right: 50px;
-}
.hide-hidden-files #fileList tr.hidden-file,
.hide-hidden-files #fileList tr.hidden-file.dragging {
@@ -439,49 +437,27 @@ table td.filename .uploadtext {
opacity: .5;
}
-/* File checkboxes */
-#fileList tr td.filename>.selectCheckBox + label:before {
- opacity: 0;
- position: absolute;
- bottom: 4px;
- right: 0;
- z-index: 10;
+table td.selection {
+ padding: 0;
}
-/* Show checkbox when hovering, checked, or selected */
-#fileList tr:hover td.filename>.selectCheckBox + label:before,
-#fileList tr:focus td.filename>.selectCheckBox + label:before,
-#fileList tr td.filename>.selectCheckBox:checked + label:before,
-#fileList tr.selected td.filename>.selectCheckBox + label:before {
+/* File checkboxes */
+#fileList tr td.selection>.selectCheckBox + label:before {
+ opacity: 0.3;
+}
+
+/* Show checkbox with full opacity when hovering, checked, or selected */
+#fileList tr:hover td.selection>.selectCheckBox + label:before,
+#fileList tr:focus td.selection>.selectCheckBox + label:before,
+#fileList tr td.selection>.selectCheckBox:checked + label:before,
+#fileList tr.selected td.selection>.selectCheckBox + label:before {
opacity: 1;
}
/* Use label to have bigger clickable size for checkbox */
-#fileList tr td.filename>.selectCheckBox + label,
+#fileList tr td.selection>.selectCheckBox + label,
.select-all + label {
- background-position: 30px 30px;
- height: 50px;
- position: absolute;
- width: 50px;
- z-index: 5;
-}
-#fileList tr td.filename>.selectCheckBox {
- /* sometimes checkbox height is bigger (KDE/Qt), so setting to absolute
- * to prevent it to increase the height */
- position: absolute;
- z-index: 10;
-}
-.select-all + label {
- top: 0;
-}
-.select-all + label:before {
- position: absolute;
- top: 18px;
- left: 18px;
- z-index: 10;
-}
-.has-favorites .select-all {
- left: 68px;
+ padding: 16px;
}
#fileList tr td.filename {
@@ -502,10 +478,11 @@ table td.filename .uploadtext {
display: inline-block;
float: left;
}
-#fileList tr td.filename .action-favorite {
+#fileList tr td.filename .favorite-mark {
+ position: absolute;
display: block;
- float: left;
- width: 30px;
+ top: -6px;
+ right: -6px;
line-height: 100%;
text-align: center;
}
@@ -617,7 +594,7 @@ a.action > img {
padding-left: 6px;
}
-#fileList .action.action-favorite.permanent {
+#fileList .favorite-mark.permanent {
opacity: 1;
}
@@ -661,9 +638,6 @@ table tr.summary td {
.summary .info {
margin-left: 40px;
}
-.has-favorites .summary .info {
- margin-left: 90px;
-}
table.dragshadow {
width:auto;
@@ -716,12 +690,24 @@ table.dragshadow td.size {
#filestable .filename .action .icon,
#filestable .selectedActions a .icon,
+#filestable .filename .favorite-mark .icon,
#controls .actions .button .icon {
display: inline-block;
vertical-align: middle;
background-size: 16px 16px;
}
+#filestable .filename .favorite-mark {
+ // Override default icons to always hide the star icon and always show the
+ // starred icon even when hovered or focused.
+ & .icon-star {
+ background-image: none;
+ }
+ & .icon-starred {
+ background-image: url('../../../core/img/actions/starred.svg?v=1');
+ }
+}
+
#filestable .filename .action .icon.hidden,
#filestable .selectedActions a .icon.hidden,
#controls .actions .button .icon.hidden {
diff --git a/apps/files/css/mobile.scss b/apps/files/css/mobile.scss
index eefc92c816..e7b75910fa 100644
--- a/apps/files/css/mobile.scss
+++ b/apps/files/css/mobile.scss
@@ -24,10 +24,6 @@ table td.date {
table td {
padding: 0;
}
-/* and accordingly fix left margin of file list summary on mobile */
-.summary .info {
- margin-left: 105px;
-}
/* remove shift for multiselect bar to account for missing navigation */
table.multiselect thead {
diff --git a/apps/files/css/upload.scss b/apps/files/css/upload.scss
index 4685b20d43..5263a4b0e0 100644
--- a/apps/files/css/upload.scss
+++ b/apps/files/css/upload.scss
@@ -1,6 +1,4 @@
#upload {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
box-sizing: border-box;
height: 36px;
width: 39px;
@@ -26,8 +24,6 @@
.file_upload_form { display:inline; float:left; margin:0; padding:0; cursor:pointer; overflow:visible; }
#uploadprogresswrapper, #uploadprogresswrapper * {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
box-sizing: border-box;
}
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index 3da9b06b0d..0f320c8b3c 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -706,7 +706,7 @@
* @property {String} mime mime type
* @property {int} permissions permissions
* @property {(Function|String)} icon icon path to the icon or function that returns it (deprecated, use iconClass instead)
- * @property {(Function|String)} iconClass class name of the icon (recommended for theming)
+ * @property {(String|OCA.Files.FileActions~iconClassFunction)} iconClass class name of the icon (recommended for theming)
* @property {OCA.Files.FileActions~renderActionFunction} [render] optional rendering function
* @property {OCA.Files.FileActions~actionHandler} actionHandler action handler function
*/
@@ -745,6 +745,17 @@
* @return {String} display name
*/
+ /**
+ * Icon class function for actions.
+ * The function returns the icon class of the action using
+ * the given context information.
+ *
+ * @callback OCA.Files.FileActions~iconClassFunction
+ * @param {String} fileName name of the file on which the action must be performed
+ * @param {OCA.Files.FileActionContext} context action context
+ * @return {String} icon class
+ */
+
/**
* Action handler function for file actions
*
diff --git a/apps/files/js/fileactionsmenu.js b/apps/files/js/fileactionsmenu.js
index 45d2bd8304..b8022f1373 100644
--- a/apps/files/js/fileactionsmenu.js
+++ b/apps/files/js/fileactionsmenu.js
@@ -115,6 +115,11 @@
item = _.extend({}, item);
item.displayName = item.displayName(self._context);
}
+ if (_.isFunction(item.iconClass)) {
+ var fileName = self._context.$file.attr('data-file');
+ item = _.extend({}, item);
+ item.iconClass = item.iconClass(fileName, self._context);
+ }
return item;
});
items = items.sort(function(actionA, actionB) {
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index cc23ac7397..4790afcf4d 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -332,7 +332,7 @@
this.$fileList.on('click','td.filename>a.name, td.filesize, td.date', _.bind(this._onClickFile, this));
- this.$fileList.on('change', 'td.filename>.selectCheckBox', _.bind(this._onClickFileCheckbox, this));
+ this.$fileList.on('change', 'td.selection>.selectCheckBox', _.bind(this._onClickFileCheckbox, this));
this.$el.on('show', _.bind(this._onShow, this));
this.$el.on('urlChanged', _.bind(this._onUrlChanged, this));
this.$el.find('.select-all').click(_.bind(this._onClickSelectAll, this));
@@ -593,7 +593,7 @@
* @param {bool} state true to select, false to deselect
*/
_selectFileEl: function($tr, state, showDetailsView) {
- var $checkbox = $tr.find('td.filename>.selectCheckBox');
+ var $checkbox = $tr.find('td.selection>.selectCheckBox');
var oldData = !!this._selectedFiles[$tr.data('id')];
var data;
$checkbox.prop('checked', state);
@@ -649,7 +649,7 @@
else {
this._lastChecked = $tr;
}
- var $checkbox = $tr.find('td.filename>.selectCheckBox');
+ var $checkbox = $tr.find('td.selection>.selectCheckBox');
this._selectFileEl($tr, !$checkbox.prop('checked'));
this.updateSelectionSummary();
} else {
@@ -704,7 +704,7 @@
*/
_onClickSelectAll: function(e) {
var checked = $(e.target).prop('checked');
- this.$fileList.find('td.filename>.selectCheckBox').prop('checked', checked)
+ this.$fileList.find('td.selection>.selectCheckBox').prop('checked', checked)
.closest('tr').toggleClass('selected', checked);
this._selectedFiles = {};
this._selectionSummary.clear();
@@ -1063,6 +1063,13 @@
this.$fileList.empty();
+ if (this._allowSelection) {
+ // The results table, which has no selection column, checks
+ // whether the main table has a selection column or not in order
+ // to align its contents with those of the main table.
+ this.$el.addClass('has-selection');
+ }
+
// clear "Select all" checkbox
this.$el.find('.select-all').prop('checked', false);
@@ -1192,6 +1199,20 @@
path = this.getCurrentDirectory();
}
+ // selection td
+ if (this._allowSelection) {
+ td = $('
');
+
// from here work on the display name
name = fileData.displayName || name;
@@ -1673,6 +1685,7 @@
// close sidebar
this._updateDetailsView(null);
}
+ this._setCurrentDir(this.getCurrentDirectory(), false);
var callBack = this.reloadCallback.bind(this);
return this._reloadCall.then(callBack, callBack);
},
@@ -2614,6 +2627,13 @@
*/
_createSummary: function() {
var $tr = $('
');
+
+ if (this._allowSelection) {
+ // Dummy column for selection, as all rows must have the same
+ // number of columns.
+ $tr.append('
';
/**
* Returns the icon class for the matching state
@@ -42,24 +42,24 @@
*/
function renderStar(state) {
if (!this._template) {
- this._template = Handlebars.compile(TEMPLATE_FAVORITE_ACTION);
+ this._template = Handlebars.compile(TEMPLATE_FAVORITE_MARK);
}
return this._template({
isFavorite: state,
- altText: state ? t('files', 'Favorited') : t('files', 'Favorite'),
+ altText: state ? t('files', 'Favorited') : t('files', 'Not favorited'),
iconClass: getStarIconClass(state)
});
}
/**
- * Toggle star icon on action element
+ * Toggle star icon on favorite mark element
*
- * @param {Object} action element
+ * @param {Object} $favoriteMarkEl favorite mark element
* @param {boolean} state true if starred, false otherwise
*/
- function toggleStar($actionEl, state) {
- $actionEl.removeClass('icon-star icon-starred').addClass(getStarIconClass(state));
- $actionEl.toggleClass('permanent', state);
+ function toggleStar($favoriteMarkEl, state) {
+ $favoriteMarkEl.removeClass('icon-star icon-starred').addClass(getStarIconClass(state));
+ $favoriteMarkEl.toggleClass('permanent', state);
}
OCA.Files = OCA.Files || {};
@@ -67,8 +67,9 @@
/**
* @namespace OCA.Files.TagsPlugin
*
- * Extends the file actions and file list to include a favorite action icon
- * and addition "data-tags" and "data-favorite" attributes.
+ * Extends the file actions and file list to include a favorite mark icon
+ * and a favorite action in the file actions menu; it also adds "data-tags"
+ * and "data-favorite" attributes to file elements.
*/
OCA.Files.TagsPlugin = {
name: 'Tags',
@@ -84,22 +85,38 @@
_extendFileActions: function(fileActions) {
var self = this;
- // register "star" action
+
fileActions.registerAction({
name: 'Favorite',
- displayName: t('files', 'Favorite'),
- mime: 'all',
- permissions: OC.PERMISSION_READ,
- type: OCA.Files.FileActions.TYPE_INLINE,
- render: function(actionSpec, isDefault, context) {
+ displayName: function(context) {
var $file = context.$file;
var isFavorite = $file.data('favorite') === true;
- var $icon = $(renderStar(isFavorite));
- $file.find('td:first>.favorite').replaceWith($icon);
- return $icon;
+
+ if (isFavorite) {
+ return t('files', 'Remove from favorites');
+ }
+
+ // As it is currently not possible to provide a context for
+ // the i18n strings "Add to favorites" was used instead of
+ // "Favorite" to remove the ambiguity between verb and noun
+ // when it is translated.
+ return t('files', 'Add to favorites');
+ },
+ mime: 'all',
+ order: -100,
+ permissions: OC.PERMISSION_READ,
+ iconClass: function(fileName, context) {
+ var $file = context.$file;
+ var isFavorite = $file.data('favorite') === true;
+
+ if (isFavorite) {
+ return 'icon-star-dark';
+ }
+
+ return 'icon-starred';
},
actionHandler: function(fileName, context) {
- var $actionEl = context.$file.find('.action-favorite');
+ var $favoriteMarkEl = context.$file.find('.favorite-mark');
var $file = context.$file;
var fileInfo = context.fileList.files[$file.index()];
var dir = context.dir || context.fileList.getCurrentDirectory();
@@ -118,14 +135,14 @@
}
// pre-toggle the star
- toggleStar($actionEl, !isFavorite);
+ toggleStar($favoriteMarkEl, !isFavorite);
context.fileInfoModel.trigger('busy', context.fileInfoModel, true);
self.applyFileTags(
dir + '/' + fileName,
tags,
- $actionEl,
+ $favoriteMarkEl,
isFavorite
).then(function(result) {
context.fileInfoModel.trigger('busy', context.fileInfoModel, false);
@@ -145,17 +162,19 @@
_extendFileList: function(fileList) {
// extend row prototype
- fileList.$el.addClass('has-favorites');
var oldCreateRow = fileList._createRow;
fileList._createRow = function(fileData) {
var $tr = oldCreateRow.apply(this, arguments);
+ var isFavorite = false;
if (fileData.tags) {
$tr.attr('data-tags', fileData.tags.join('|'));
if (fileData.tags.indexOf(OC.TAG_FAVORITE) >= 0) {
$tr.attr('data-favorite', true);
+ isFavorite = true;
}
}
- $tr.find('td:first').prepend('');
+ var $icon = $(renderStar(isFavorite));
+ $tr.find('td.filename .thumbnail').append($icon);
return $tr;
};
var oldElementToFile = fileList.elementToFile;
@@ -215,10 +234,10 @@
*
* @param {String} fileName path to the file or folder to tag
* @param {Array.} tagNames array of tag names
- * @param {Object} $actionEl element
+ * @param {Object} $favoriteMarkEl favorite mark element
* @param {boolean} isFavorite Was the item favorited before
*/
- applyFileTags: function(fileName, tagNames, $actionEl, isFavorite) {
+ applyFileTags: function(fileName, tagNames, $favoriteMarkEl, isFavorite) {
var encodedPath = OC.encodePath(fileName);
while (encodedPath[0] === '/') {
encodedPath = encodedPath.substr(1);
@@ -238,7 +257,7 @@
message = ': ' + response.responseJSON.message;
}
OC.Notification.show(t('files', 'An error occurred while trying to update the tags' + message), {type: 'error'});
- toggleStar($actionEl, isFavorite);
+ toggleStar($favoriteMarkEl, isFavorite);
});
}
};
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index f4bb7455e7..a23ea0d5ff 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}",
"Target folder \"{dir}\" does not exist any more" : "La carpeta objectiu \"{dir}\" ja no existeix",
"Not enough free space" : "Espai lliure insuficient",
- "Uploading …" : "S'està carregant",
"…" : ".....",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Actions" : "Accions",
@@ -123,7 +122,6 @@ OC.L10N.register(
"Show hidden files" : "Mostra els fitxers ocults",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Utilitzeu aquesta adreça per accedir als vostres fitxers a través de WebDAV",
- "Uploading @" : "S'està carregant @",
"No files in here" : "No hi ha arxius",
"Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.",
"No entries found in this folder" : "No hi ha entrades en aquesta carpeta",
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 13beefbf4b..aad9cb3b39 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}",
"Target folder \"{dir}\" does not exist any more" : "La carpeta objectiu \"{dir}\" ja no existeix",
"Not enough free space" : "Espai lliure insuficient",
- "Uploading …" : "S'està carregant",
"…" : ".....",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Actions" : "Accions",
@@ -121,7 +120,6 @@
"Show hidden files" : "Mostra els fitxers ocults",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Utilitzeu aquesta adreça per accedir als vostres fitxers a través de WebDAV",
- "Uploading @" : "S'està carregant @",
"No files in here" : "No hi ha arxius",
"Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.",
"No entries found in this folder" : "No hi ha entrades en aquesta carpeta",
diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js
index 6105c3e116..e165e5a158 100644
--- a/apps/files/l10n/cs.js
+++ b/apps/files/l10n/cs.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Není dostatek místa pro uložení, velikost souboru je {size1}, zbývá pouze {size2}",
"Target folder \"{dir}\" does not exist any more" : "Cílový adresář \"{dir}\" již neexistuje",
"Not enough free space" : "Nedostatek volného prostoru",
- "Uploading …" : "Nahrávám...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Actions" : "Činnosti",
@@ -123,7 +122,6 @@ OC.L10N.register(
"Show hidden files" : "Zobrazit skryté soubory",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Použijte tuto adresu pro přístup ke svým Souborům přes WebDAV",
- "Uploading @" : "Nahrávám @",
"No files in here" : "Žádné soubory",
"Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!",
"No entries found in this folder" : "V tomto adresáři nebylo nic nalezeno",
diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json
index ed7dfac05e..b48c661055 100644
--- a/apps/files/l10n/cs.json
+++ b/apps/files/l10n/cs.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Není dostatek místa pro uložení, velikost souboru je {size1}, zbývá pouze {size2}",
"Target folder \"{dir}\" does not exist any more" : "Cílový adresář \"{dir}\" již neexistuje",
"Not enough free space" : "Nedostatek volného prostoru",
- "Uploading …" : "Nahrávám...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Actions" : "Činnosti",
@@ -121,7 +120,6 @@
"Show hidden files" : "Zobrazit skryté soubory",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Použijte tuto adresu pro přístup ke svým Souborům přes WebDAV",
- "Uploading @" : "Nahrávám @",
"No files in here" : "Žádné soubory",
"Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!",
"No entries found in this folder" : "V tomto adresáři nebylo nic nalezeno",
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index b8f4515cf7..ee70b6a15c 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Der er ikke tilstrækkeligt friplads. Du uplaoder {size1} men der er kun {size2} tilbage",
"Target folder \"{dir}\" does not exist any more" : "Destinations mappen \"{dir}\" eksistere ikke længere",
"Not enough free space" : "Ikke nok fri plads",
- "Uploading …" : "Uploader...",
+ "Uploading …" : "Uploader ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})",
"Actions" : "Handlinger",
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Foretrukken",
"New folder" : "Ny Mappe",
"Upload file" : "Upload fil",
+ "Not favorited" : "Ingen foretrukne",
+ "Remove from favorites" : "Fjern fra favoritter",
+ "Add to favorites" : "Tilføj til favoritter",
"An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne",
"Added to favorites" : "Tilføjet til favoritter",
"Removed from favorites" : "Fjernet fra favoritter",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Vis skjulte filer",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Brug denne adresse til at tilgå dine filer via WebDAV",
- "Uploading @" : "Uploader @",
"Cancel upload" : "Annuller upload ",
"No files in here" : "Her er ingen filer",
"Upload some content or sync with your devices!" : "Overfør indhold eller synkronisér med dine enheder!",
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index 7e5e35de51..aed0a9b971 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -14,7 +14,7 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Der er ikke tilstrækkeligt friplads. Du uplaoder {size1} men der er kun {size2} tilbage",
"Target folder \"{dir}\" does not exist any more" : "Destinations mappen \"{dir}\" eksistere ikke længere",
"Not enough free space" : "Ikke nok fri plads",
- "Uploading …" : "Uploader...",
+ "Uploading …" : "Uploader ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})",
"Actions" : "Handlinger",
@@ -75,6 +75,9 @@
"Favorite" : "Foretrukken",
"New folder" : "Ny Mappe",
"Upload file" : "Upload fil",
+ "Not favorited" : "Ingen foretrukne",
+ "Remove from favorites" : "Fjern fra favoritter",
+ "Add to favorites" : "Tilføj til favoritter",
"An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne",
"Added to favorites" : "Tilføjet til favoritter",
"Removed from favorites" : "Fjernet fra favoritter",
@@ -121,7 +124,6 @@
"Show hidden files" : "Vis skjulte filer",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Brug denne adresse til at tilgå dine filer via WebDAV",
- "Uploading @" : "Uploader @",
"Cancel upload" : "Annuller upload ",
"No files in here" : "Her er ingen filer",
"Upload some content or sync with your devices!" : "Overfør indhold eller synkronisér med dine enheder!",
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 166166316a..ca73ab7335 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Du möchtest{size1} hochladen, es sind jedoch nur noch {size2} verfügbar.",
"Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr",
"Not enough free space" : "Nicht genügend freier Speicherplatz",
- "Uploading …" : "Lade hoch…",
+ "Uploading …" : "Lade hoch...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})",
"Actions" : "Aktionen",
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Favorit",
"New folder" : "Neuer Ordner",
"Upload file" : "Datei hochladen",
+ "Not favorited" : "Nicht favorisiert",
+ "Remove from favorites" : "Von Favoriten entfernen",
+ "Add to favorites" : "Zu den Favoriten hinzufügen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Versteckte Dateien anzeigen",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Diese Adresse benutzen, um über WebDAV auf Deine Dateien zuzugreifen",
- "Uploading @" : "Lade @ hoch",
"Cancel upload" : "Hochladen abbrechen",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Inhalte hochladen oder mit deinen Geräten synchronisieren!",
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index f520dc86f1..0fa4becb1a 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -14,7 +14,7 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Du möchtest{size1} hochladen, es sind jedoch nur noch {size2} verfügbar.",
"Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr",
"Not enough free space" : "Nicht genügend freier Speicherplatz",
- "Uploading …" : "Lade hoch…",
+ "Uploading …" : "Lade hoch...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})",
"Actions" : "Aktionen",
@@ -75,6 +75,9 @@
"Favorite" : "Favorit",
"New folder" : "Neuer Ordner",
"Upload file" : "Datei hochladen",
+ "Not favorited" : "Nicht favorisiert",
+ "Remove from favorites" : "Von Favoriten entfernen",
+ "Add to favorites" : "Zu den Favoriten hinzufügen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
@@ -121,7 +124,6 @@
"Show hidden files" : "Versteckte Dateien anzeigen",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Diese Adresse benutzen, um über WebDAV auf Deine Dateien zuzugreifen",
- "Uploading @" : "Lade @ hoch",
"Cancel upload" : "Hochladen abbrechen",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Inhalte hochladen oder mit deinen Geräten synchronisieren!",
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index 91bf5dba7a..12eec37f13 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Sie möchten {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.",
"Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr",
"Not enough free space" : "Nicht genügend freier Speicherplatz",
- "Uploading …" : "Lade hoch…",
+ "Uploading …" : "Lade hoch...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})",
"Actions" : "Aktionen",
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Favorit",
"New folder" : "Neuer Ordner",
"Upload file" : "Datei hochladen",
+ "Not favorited" : "Nicht favorisiert",
+ "Remove from favorites" : "Von Favoriten entfernen",
+ "Add to favorites" : "Zu den Favoriten hinzufügen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Versteckte Dateien anzeigen",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Benutzen Sie diese Adresse, um via WebDAV auf Ihre Dateien zuzugreifen",
- "Uploading @" : "Lade @ hoch",
"Cancel upload" : "Hochladen abbrechen",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!",
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index dcb310ae70..346562edbe 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -14,7 +14,7 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Sie möchten {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.",
"Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr",
"Not enough free space" : "Nicht genügend freier Speicherplatz",
- "Uploading …" : "Lade hoch…",
+ "Uploading …" : "Lade hoch...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})",
"Actions" : "Aktionen",
@@ -75,6 +75,9 @@
"Favorite" : "Favorit",
"New folder" : "Neuer Ordner",
"Upload file" : "Datei hochladen",
+ "Not favorited" : "Nicht favorisiert",
+ "Remove from favorites" : "Von Favoriten entfernen",
+ "Add to favorites" : "Zu den Favoriten hinzufügen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
@@ -121,7 +124,6 @@
"Show hidden files" : "Versteckte Dateien anzeigen",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Benutzen Sie diese Adresse, um via WebDAV auf Ihre Dateien zuzugreifen",
- "Uploading @" : "Lade @ hoch",
"Cancel upload" : "Hochladen abbrechen",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!",
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index b7a8dca505..89a1bdda6b 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Favourite",
"New folder" : "New folder",
"Upload file" : "Upload file",
+ "Not favorited" : "Not favourited",
+ "Remove from favorites" : "Remove from favourites",
+ "Add to favorites" : "Add to favourites",
"An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags",
"Added to favorites" : "Added to favourites",
"Removed from favorites" : "Removed from favourites",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Show hidden files",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Use this address to access your Files via WebDAV",
- "Uploading @" : "Uploading @",
"Cancel upload" : "Cancel upload",
"No files in here" : "No files in here",
"Upload some content or sync with your devices!" : "Upload some content or sync with your devices!",
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index 0d93f91e4c..f0c1aff46d 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -75,6 +75,9 @@
"Favorite" : "Favourite",
"New folder" : "New folder",
"Upload file" : "Upload file",
+ "Not favorited" : "Not favourited",
+ "Remove from favorites" : "Remove from favourites",
+ "Add to favorites" : "Add to favourites",
"An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags",
"Added to favorites" : "Added to favourites",
"Removed from favorites" : "Removed from favourites",
@@ -121,7 +124,6 @@
"Show hidden files" : "Show hidden files",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Use this address to access your Files via WebDAV",
- "Uploading @" : "Uploading @",
"Cancel upload" : "Cancel upload",
"No files in here" : "No files in here",
"Upload some content or sync with your devices!" : "Upload some content or sync with your devices!",
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index cc6a73fdf7..4095558656 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Favorito",
"New folder" : "Nueva carpeta",
"Upload file" : "Subir archivo",
+ "Not favorited" : "No marcado como favorito",
+ "Remove from favorites" : "Eliminar de favoritos",
+ "Add to favorites" : "Añadir a favoritos",
"An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas",
"Added to favorites" : "Agregado a favoritos",
"Removed from favorites" : "Borrado de favoritos",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Usa esta dirección para acceder tus archivos mediante WebDAV",
- "Uploading @" : "Subiendo a ",
"Cancel upload" : "Cancelar subida",
"No files in here" : "Aquí no hay archivos",
"Upload some content or sync with your devices!" : "¡Suba contenidos o sincronice sus dispositivos!",
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 6f5cca13a7..76ca181136 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -75,6 +75,9 @@
"Favorite" : "Favorito",
"New folder" : "Nueva carpeta",
"Upload file" : "Subir archivo",
+ "Not favorited" : "No marcado como favorito",
+ "Remove from favorites" : "Eliminar de favoritos",
+ "Add to favorites" : "Añadir a favoritos",
"An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas",
"Added to favorites" : "Agregado a favoritos",
"Removed from favorites" : "Borrado de favoritos",
@@ -121,7 +124,6 @@
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Usa esta dirección para acceder tus archivos mediante WebDAV",
- "Uploading @" : "Subiendo a ",
"Cancel upload" : "Cancelar subida",
"No files in here" : "Aquí no hay archivos",
"Upload some content or sync with your devices!" : "¡Suba contenidos o sincronice sus dispositivos!",
diff --git a/apps/files/l10n/es_CO.js b/apps/files/l10n/es_CO.js
new file mode 100644
index 0000000000..4f242d15a7
--- /dev/null
+++ b/apps/files/l10n/es_CO.js
@@ -0,0 +1,160 @@
+OC.L10N.register(
+ "files",
+ {
+ "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
+ "Storage invalid" : "El almacenamiento es inválido",
+ "Unknown error" : "Se presentó un error desconocido",
+ "All files" : "Todos los archivos",
+ "Recent" : "Reciente",
+ "File could not be found" : "No fue posible encontrar el archivo",
+ "Home" : "Inicio",
+ "Close" : "Cerrar",
+ "Favorites" : "Favoritos",
+ "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
+ "Upload cancelled." : "Carga cancelada.",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estas cargando {size1} pero sólo cuentas con {size2} disponible",
+ "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
+ "Not enough free space" : "No cuentas con suficiente espacio libre",
+ "…" : "...",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
+ "Actions" : "Acciones",
+ "Download" : "Descargar",
+ "Rename" : "Renombrar",
+ "Move or copy" : "Mover o copiar",
+ "Target folder" : "Carpeta destino",
+ "Delete" : "Borrar",
+ "Disconnect storage" : "Desconectar almacenamiento",
+ "Unshare" : "Dejar de compartir",
+ "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
+ "Files" : "Archivos",
+ "Details" : "Detalles",
+ "Select" : "Seleccionar",
+ "Pending" : "Pendiente",
+ "Unable to determine date" : "No fue posible determinar la fecha",
+ "This operation is forbidden" : "Esta operación está prohibida",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
+ "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
+ "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
+ "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
+ "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
+ "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
+ "{newName} already exists" : "{newName} ya existe",
+ "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
+ "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
+ "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
+ "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
+ "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
+ "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
+ "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
+ "Name" : "Nombre",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado",
+ "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas"],
+ "_%n file_::_%n files_" : ["%n archivo","%n archivos"],
+ "{dirs} and {files}" : "{dirs} y {files}",
+ "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos"],
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos"],
+ "New" : "Nuevo",
+ "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
+ "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
+ "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
+ "Storage of {owner} is full, files can not be updated or synced anymore!" : "El espacio de {owner} está lleno. ¡Los archivos ya no se pueden actualizar o sincronizar!",
+ "Your storage is full, files can not be updated or synced anymore!" : "Tu espacio está lleno. ¡Los archivos ya no se pueden actualizar o sincronizar!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "El espacio de {owner} está casi lleno ({usedSpacePercent}%)",
+ "Your storage is almost full ({usedSpacePercent}%)" : "Tu espacio está casi lleno ({usedSpacePercent}%)",
+ "_matches '{filter}'_::_match '{filter}'_" : ["coincide '{filter}'","coincidencia '{filter}'"],
+ "View in folder" : "Ver en la carpeta",
+ "Copied!" : "¡Copiado!",
+ "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
+ "Path" : "Ruta",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
+ "Favorited" : "Marcado como favorito",
+ "Favorite" : "Favorito",
+ "New folder" : "Carpeta nueva",
+ "Upload file" : "Cargar archivo",
+ "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
+ "Added to favorites" : "Agregado a los favoritos",
+ "Removed from favorites" : "Eliminado de los favoritos",
+ "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
+ "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
+ "File changes" : "Cambios al archivo",
+ "Created by {user}" : "Creado por {user}",
+ "Changed by {user}" : "Cambiado por {user}",
+ "Deleted by {user}" : "Borrado por {user}",
+ "Restored by {user}" : "Restaurado por {user}",
+ "Renamed by {user}" : "Renombrado por {user}",
+ "Moved by {user}" : "Movido por {user}",
+ "\"remote user\"" : "\"usuario remoto\"",
+ "You created {file}" : "Creaste {file}",
+ "{user} created {file}" : "{user} creó {file}",
+ "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
+ "You changed {file}" : "Cambiaste {file}",
+ "{user} changed {file}" : "{user} cambió {file}",
+ "You deleted {file}" : "Borraste {file}",
+ "{user} deleted {file}" : "{user} borró {file}",
+ "You restored {file}" : "Restauraste {file}",
+ "{user} restored {file}" : "{user} restauró {file}",
+ "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
+ "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
+ "A file has been added to or removed from your favorites" : "Un archivo ha sido agregado o eliminado de tus favoritos",
+ "A file or folder has been changed or renamed" : "Un archivo o carpeta ha sido cambiado o renombrado",
+ "A new file or folder has been created" : "Un archivo o carpeta ha sido creado",
+ "A file or folder has been deleted" : "Un archivo o carpeta ha sido borrado",
+ "Limit notifications about creation and changes to your favorite files(Stream only)" : "Limita las notificaciones de la creación y cambios a tus archivos favoritos(sólo flujo)",
+ "A file or folder has been restored" : "Un archivo o carpeta ha sido restaurado",
+ "Unlimited" : "Ilimitado",
+ "Upload (max. %s)" : "Cargar (max. %s)",
+ "File handling" : "Manejo de archivos",
+ "Maximum upload size" : "Tamaño máximo de carga",
+ "max. possible: " : "max. posible:",
+ "Save" : "Guardar",
+ "With PHP-FPM it might take 5 minutes for changes to be applied." : "Con PHP-FPM podría tomar 5 minutos para que los cambios apliquen. ",
+ "Missing permissions to edit from here." : "Faltan privilegios para editar desde aquí. ",
+ "%s of %s used" : "%s de %s usado",
+ "%s used" : "%s usado",
+ "Settings" : "Configuraciones ",
+ "Show hidden files" : "Mostrar archivos ocultos",
+ "WebDAV" : "WebDAV",
+ "Use this address to access your Files via WebDAV" : "Usa esta dirección para acceder tus archivos vía WebDAV",
+ "Cancel upload" : "Cancelar carga",
+ "No files in here" : "No hay archivos aquí",
+ "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
+ "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
+ "Select all" : "Seleccionar todo",
+ "Upload too large" : "La carga es demasido grande",
+ "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
+ "No favorites yet" : "Aún no hay favoritos",
+ "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
+ "Shared with you" : "Compartido con usted",
+ "Shared with others" : "Compartido con otros",
+ "Shared by link" : "Compartido por liga",
+ "Tags" : "Etiquetas",
+ "Deleted files" : "Archivos borrados",
+ "Text file" : "Archivo de texto",
+ "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
+ "Uploading..." : "Cargando...",
+ "..." : "...",
+ "_{hours}:{minutes}:{seconds} hour left_::_{hours}:{minutes}:{seconds} hours left_" : ["falta {hours}:{minutes}:{seconds} hora","faltan {hours}:{minutes}:{seconds} horas"],
+ "{hours}:{minutes}h" : "{hours}:{minutes}h",
+ "_{minutes}:{seconds} minute left_::_{minutes}:{seconds} minutes left_" : ["falta {minutes}:{seconds} minuto","faltan {minutes}:{seconds} minutos"],
+ "{minutes}:{seconds}m" : "{minutes}:{seconds}m",
+ "_{seconds} second left_::_{seconds} seconds left_" : ["falta {seconds} segundo","faltan {seconds} segundos"],
+ "{seconds}s" : "{seconds}s",
+ "Any moment now..." : "En cualquier momento...",
+ "Soon..." : "Pronto...",
+ "File upload is in progress. Leaving the page now will cancel the upload." : "La carga del archivo está en curso. El salir de la página ahora, la cancelará. ",
+ "Move" : "Mover",
+ "Copy local link" : "Copiar liga local",
+ "Folder" : "Carpeta",
+ "Upload" : "Cargar",
+ "A new file or folder has been deleted" : "Un archivo o carpeta ha sido borrado",
+ "A new file or folder has been restored" : "Un archivo o carpeta ha sido restaurado",
+ "No favorites" : "No hay favoritos"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/es_CO.json b/apps/files/l10n/es_CO.json
new file mode 100644
index 0000000000..284e43b4ab
--- /dev/null
+++ b/apps/files/l10n/es_CO.json
@@ -0,0 +1,158 @@
+{ "translations": {
+ "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
+ "Storage invalid" : "El almacenamiento es inválido",
+ "Unknown error" : "Se presentó un error desconocido",
+ "All files" : "Todos los archivos",
+ "Recent" : "Reciente",
+ "File could not be found" : "No fue posible encontrar el archivo",
+ "Home" : "Inicio",
+ "Close" : "Cerrar",
+ "Favorites" : "Favoritos",
+ "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
+ "Upload cancelled." : "Carga cancelada.",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estas cargando {size1} pero sólo cuentas con {size2} disponible",
+ "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
+ "Not enough free space" : "No cuentas con suficiente espacio libre",
+ "…" : "...",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
+ "Actions" : "Acciones",
+ "Download" : "Descargar",
+ "Rename" : "Renombrar",
+ "Move or copy" : "Mover o copiar",
+ "Target folder" : "Carpeta destino",
+ "Delete" : "Borrar",
+ "Disconnect storage" : "Desconectar almacenamiento",
+ "Unshare" : "Dejar de compartir",
+ "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
+ "Files" : "Archivos",
+ "Details" : "Detalles",
+ "Select" : "Seleccionar",
+ "Pending" : "Pendiente",
+ "Unable to determine date" : "No fue posible determinar la fecha",
+ "This operation is forbidden" : "Esta operación está prohibida",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
+ "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
+ "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
+ "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
+ "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
+ "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
+ "{newName} already exists" : "{newName} ya existe",
+ "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
+ "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
+ "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
+ "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
+ "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
+ "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
+ "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
+ "Name" : "Nombre",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado",
+ "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas"],
+ "_%n file_::_%n files_" : ["%n archivo","%n archivos"],
+ "{dirs} and {files}" : "{dirs} y {files}",
+ "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos"],
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos"],
+ "New" : "Nuevo",
+ "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
+ "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
+ "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
+ "Storage of {owner} is full, files can not be updated or synced anymore!" : "El espacio de {owner} está lleno. ¡Los archivos ya no se pueden actualizar o sincronizar!",
+ "Your storage is full, files can not be updated or synced anymore!" : "Tu espacio está lleno. ¡Los archivos ya no se pueden actualizar o sincronizar!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "El espacio de {owner} está casi lleno ({usedSpacePercent}%)",
+ "Your storage is almost full ({usedSpacePercent}%)" : "Tu espacio está casi lleno ({usedSpacePercent}%)",
+ "_matches '{filter}'_::_match '{filter}'_" : ["coincide '{filter}'","coincidencia '{filter}'"],
+ "View in folder" : "Ver en la carpeta",
+ "Copied!" : "¡Copiado!",
+ "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
+ "Path" : "Ruta",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
+ "Favorited" : "Marcado como favorito",
+ "Favorite" : "Favorito",
+ "New folder" : "Carpeta nueva",
+ "Upload file" : "Cargar archivo",
+ "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
+ "Added to favorites" : "Agregado a los favoritos",
+ "Removed from favorites" : "Eliminado de los favoritos",
+ "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
+ "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
+ "File changes" : "Cambios al archivo",
+ "Created by {user}" : "Creado por {user}",
+ "Changed by {user}" : "Cambiado por {user}",
+ "Deleted by {user}" : "Borrado por {user}",
+ "Restored by {user}" : "Restaurado por {user}",
+ "Renamed by {user}" : "Renombrado por {user}",
+ "Moved by {user}" : "Movido por {user}",
+ "\"remote user\"" : "\"usuario remoto\"",
+ "You created {file}" : "Creaste {file}",
+ "{user} created {file}" : "{user} creó {file}",
+ "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
+ "You changed {file}" : "Cambiaste {file}",
+ "{user} changed {file}" : "{user} cambió {file}",
+ "You deleted {file}" : "Borraste {file}",
+ "{user} deleted {file}" : "{user} borró {file}",
+ "You restored {file}" : "Restauraste {file}",
+ "{user} restored {file}" : "{user} restauró {file}",
+ "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
+ "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
+ "A file has been added to or removed from your favorites" : "Un archivo ha sido agregado o eliminado de tus favoritos",
+ "A file or folder has been changed or renamed" : "Un archivo o carpeta ha sido cambiado o renombrado",
+ "A new file or folder has been created" : "Un archivo o carpeta ha sido creado",
+ "A file or folder has been deleted" : "Un archivo o carpeta ha sido borrado",
+ "Limit notifications about creation and changes to your favorite files(Stream only)" : "Limita las notificaciones de la creación y cambios a tus archivos favoritos(sólo flujo)",
+ "A file or folder has been restored" : "Un archivo o carpeta ha sido restaurado",
+ "Unlimited" : "Ilimitado",
+ "Upload (max. %s)" : "Cargar (max. %s)",
+ "File handling" : "Manejo de archivos",
+ "Maximum upload size" : "Tamaño máximo de carga",
+ "max. possible: " : "max. posible:",
+ "Save" : "Guardar",
+ "With PHP-FPM it might take 5 minutes for changes to be applied." : "Con PHP-FPM podría tomar 5 minutos para que los cambios apliquen. ",
+ "Missing permissions to edit from here." : "Faltan privilegios para editar desde aquí. ",
+ "%s of %s used" : "%s de %s usado",
+ "%s used" : "%s usado",
+ "Settings" : "Configuraciones ",
+ "Show hidden files" : "Mostrar archivos ocultos",
+ "WebDAV" : "WebDAV",
+ "Use this address to access your Files via WebDAV" : "Usa esta dirección para acceder tus archivos vía WebDAV",
+ "Cancel upload" : "Cancelar carga",
+ "No files in here" : "No hay archivos aquí",
+ "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
+ "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
+ "Select all" : "Seleccionar todo",
+ "Upload too large" : "La carga es demasido grande",
+ "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
+ "No favorites yet" : "Aún no hay favoritos",
+ "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
+ "Shared with you" : "Compartido con usted",
+ "Shared with others" : "Compartido con otros",
+ "Shared by link" : "Compartido por liga",
+ "Tags" : "Etiquetas",
+ "Deleted files" : "Archivos borrados",
+ "Text file" : "Archivo de texto",
+ "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
+ "Uploading..." : "Cargando...",
+ "..." : "...",
+ "_{hours}:{minutes}:{seconds} hour left_::_{hours}:{minutes}:{seconds} hours left_" : ["falta {hours}:{minutes}:{seconds} hora","faltan {hours}:{minutes}:{seconds} horas"],
+ "{hours}:{minutes}h" : "{hours}:{minutes}h",
+ "_{minutes}:{seconds} minute left_::_{minutes}:{seconds} minutes left_" : ["falta {minutes}:{seconds} minuto","faltan {minutes}:{seconds} minutos"],
+ "{minutes}:{seconds}m" : "{minutes}:{seconds}m",
+ "_{seconds} second left_::_{seconds} seconds left_" : ["falta {seconds} segundo","faltan {seconds} segundos"],
+ "{seconds}s" : "{seconds}s",
+ "Any moment now..." : "En cualquier momento...",
+ "Soon..." : "Pronto...",
+ "File upload is in progress. Leaving the page now will cancel the upload." : "La carga del archivo está en curso. El salir de la página ahora, la cancelará. ",
+ "Move" : "Mover",
+ "Copy local link" : "Copiar liga local",
+ "Folder" : "Carpeta",
+ "Upload" : "Cargar",
+ "A new file or folder has been deleted" : "Un archivo o carpeta ha sido borrado",
+ "A new file or folder has been restored" : "Un archivo o carpeta ha sido restaurado",
+ "No favorites" : "No hay favoritos"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 2c4adea018..4f242d15a7 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estas cargando {size1} pero sólo cuentas con {size2} disponible",
"Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
"Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Actions" : "Acciones",
@@ -123,7 +122,6 @@ OC.L10N.register(
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Usa esta dirección para acceder tus archivos vía WebDAV",
- "Uploading @" : "Actualizando @",
"Cancel upload" : "Cancelar carga",
"No files in here" : "No hay archivos aquí",
"Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index b783e8b08f..284e43b4ab 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estas cargando {size1} pero sólo cuentas con {size2} disponible",
"Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
"Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Actions" : "Acciones",
@@ -121,7 +120,6 @@
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Usa esta dirección para acceder tus archivos vía WebDAV",
- "Uploading @" : "Actualizando @",
"Cancel upload" : "Cancelar carga",
"No files in here" : "No hay archivos aquí",
"Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index 74b386761c..ee01092fb6 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Pole piisavalt vaba ruumi. Sa laadid üles {size1}, kuid ainult {size2} on saadaval.",
"Target folder \"{dir}\" does not exist any more" : "Kausta \"{dir}\" pole enam olemas",
"Not enough free space" : "Pole piisavalt vaba ruumi",
- "Uploading …" : "Üleslaadminie ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{loadedSize} ({bitrate})",
"Actions" : "Tegevused",
@@ -118,7 +117,6 @@ OC.L10N.register(
"Show hidden files" : "Näita peidetud faile",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Kasuta seda aadressi, et oma failidele WebDAV kaudu ligi pääseda",
- "Uploading @" : "Üleslaadimine @",
"No files in here" : "Siin ei ole faile",
"Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!",
"No entries found in this folder" : "Selles kaustast ei leitud kirjeid",
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index b1489a9a21..30af89aa3e 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Pole piisavalt vaba ruumi. Sa laadid üles {size1}, kuid ainult {size2} on saadaval.",
"Target folder \"{dir}\" does not exist any more" : "Kausta \"{dir}\" pole enam olemas",
"Not enough free space" : "Pole piisavalt vaba ruumi",
- "Uploading …" : "Üleslaadminie ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{loadedSize} ({bitrate})",
"Actions" : "Tegevused",
@@ -116,7 +115,6 @@
"Show hidden files" : "Näita peidetud faile",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Kasuta seda aadressi, et oma failidele WebDAV kaudu ligi pääseda",
- "Uploading @" : "Üleslaadimine @",
"No files in here" : "Siin ei ole faile",
"Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!",
"No entries found in this folder" : "Selles kaustast ei leitud kirjeid",
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index 10777541bd..af69bc9395 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -16,12 +16,13 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ez dago leku nahikorik, zu {size1} igotzen ari zara baina bakarrik {size2} libre dago",
"Target folder \"{dir}\" does not exist any more" : "\"{dir}\" karpeta ez du gehiago existitzen",
"Not enough free space" : "Ez dago nahiko leku librea",
- "Uploading …" : "Igotzen …",
+ "Uploading …" : "Igotzen...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})",
"Actions" : "Ekintzak",
"Download" : "Deskargatu",
"Rename" : "Berrizendatu",
+ "Move or copy" : "Mugitu edo kopiatu",
"Target folder" : "Xede karpeta",
"Delete" : "Ezabatu",
"Disconnect storage" : "Deskonektatu biltegia",
@@ -36,6 +37,10 @@ OC.L10N.register(
"This directory is unavailable, please check the logs or contact the administrator" : "Direktorio hau ez dago erabilgarri, begira itzazu erregistroa edo administratzailearekin harremanetan jarri",
"Could not move \"{file}\", target exists" : "Ezin da \"{file}\" mugitu, helburuan existitzen da jadanik",
"Could not move \"{file}\"" : "Ezin da mugitu \"{file}\"",
+ "Could not copy \"{file}\", target exists" : "Ezin da \"{file}\" kopiatu; helburuan existitzen da",
+ "Could not copy \"{file}\"" : "Ezin da \"{file}\" kopiatu",
+ "Copied {origin} inside {destination}" : "{origin} {destination} barruan kopiatu da",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} eta {nbfiles} beste fitxategiak {destination}-en kopiatu dira",
"{newName} already exists" : "{newName} existitzen da dagoeneko",
"Could not rename \"{fileName}\", it does not exist any more" : "Ezin izan da \"{fileName}\" berrizendatu, ez da existitzen",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" izena dagoeneko dago erabilita \"{dir}\" karpetan. Mesedez, beste bat aukeratu.",
@@ -72,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Gogokoa",
"New folder" : "Karpeta berria",
"Upload file" : "Igo fitxategia",
+ "Not favorited" : "Ez da gogokoa",
+ "Remove from favorites" : "Gogokoetatik kenduta",
+ "Add to favorites" : "Gogokoetara gehitu",
"An error occurred while trying to update the tags" : "Errore bat gertatu da etiketak eguneratzerakoan",
"Added to favorites" : "Gogokoetan gehitu da",
"Removed from favorites" : "Gogokoetatik kendu da",
@@ -118,7 +126,7 @@ OC.L10N.register(
"Show hidden files" : "Erakutsi ezkutuko fitxategiak",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Erabili helbide hau WebDAV bidez zure fitxategietara sartzeko ",
- "Uploading @" : "Igotzen @",
+ "Cancel upload" : "Igoera bertan behera utzita",
"No files in here" : "Ez dago fitxategirik hemen",
"Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!",
"No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan",
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index d3dbffe1cd..151eed9786 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -14,12 +14,13 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ez dago leku nahikorik, zu {size1} igotzen ari zara baina bakarrik {size2} libre dago",
"Target folder \"{dir}\" does not exist any more" : "\"{dir}\" karpeta ez du gehiago existitzen",
"Not enough free space" : "Ez dago nahiko leku librea",
- "Uploading …" : "Igotzen …",
+ "Uploading …" : "Igotzen...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})",
"Actions" : "Ekintzak",
"Download" : "Deskargatu",
"Rename" : "Berrizendatu",
+ "Move or copy" : "Mugitu edo kopiatu",
"Target folder" : "Xede karpeta",
"Delete" : "Ezabatu",
"Disconnect storage" : "Deskonektatu biltegia",
@@ -34,6 +35,10 @@
"This directory is unavailable, please check the logs or contact the administrator" : "Direktorio hau ez dago erabilgarri, begira itzazu erregistroa edo administratzailearekin harremanetan jarri",
"Could not move \"{file}\", target exists" : "Ezin da \"{file}\" mugitu, helburuan existitzen da jadanik",
"Could not move \"{file}\"" : "Ezin da mugitu \"{file}\"",
+ "Could not copy \"{file}\", target exists" : "Ezin da \"{file}\" kopiatu; helburuan existitzen da",
+ "Could not copy \"{file}\"" : "Ezin da \"{file}\" kopiatu",
+ "Copied {origin} inside {destination}" : "{origin} {destination} barruan kopiatu da",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} eta {nbfiles} beste fitxategiak {destination}-en kopiatu dira",
"{newName} already exists" : "{newName} existitzen da dagoeneko",
"Could not rename \"{fileName}\", it does not exist any more" : "Ezin izan da \"{fileName}\" berrizendatu, ez da existitzen",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" izena dagoeneko dago erabilita \"{dir}\" karpetan. Mesedez, beste bat aukeratu.",
@@ -70,6 +75,9 @@
"Favorite" : "Gogokoa",
"New folder" : "Karpeta berria",
"Upload file" : "Igo fitxategia",
+ "Not favorited" : "Ez da gogokoa",
+ "Remove from favorites" : "Gogokoetatik kenduta",
+ "Add to favorites" : "Gogokoetara gehitu",
"An error occurred while trying to update the tags" : "Errore bat gertatu da etiketak eguneratzerakoan",
"Added to favorites" : "Gogokoetan gehitu da",
"Removed from favorites" : "Gogokoetatik kendu da",
@@ -116,7 +124,7 @@
"Show hidden files" : "Erakutsi ezkutuko fitxategiak",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Erabili helbide hau WebDAV bidez zure fitxategietara sartzeko ",
- "Uploading @" : "Igotzen @",
+ "Cancel upload" : "Igoera bertan behera utzita",
"No files in here" : "Ez dago fitxategirik hemen",
"Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!",
"No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan",
diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js
index 98e91b172a..3edbbc8ba1 100644
--- a/apps/files/l10n/fi.js
+++ b/apps/files/l10n/fi.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ei riittävästi vapaata tilaa. Lähetyksesi koko on {size1}, mutta vain {size2} on jäljellä",
"Target folder \"{dir}\" does not exist any more" : "Kohdekansio \"{dir}\" ei ole enää olemassa",
"Not enough free space" : "Ei tarpeeksi vapaata tilaa",
- "Uploading …" : "Lähetetään…",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize} ({bitrate})",
"Actions" : "Toiminnot",
@@ -121,7 +120,7 @@ OC.L10N.register(
"Show hidden files" : "Näytä piilotetut tiedostot",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Käytä tätä osoitetta päästäksesi tiedostoihisi WebDAV-liittymän kautta",
- "Uploading @" : "Lähetetään @",
+ "Cancel upload" : "Perus lähetys",
"No files in here" : "Täällä ei ole tiedostoja",
"Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!",
"No entries found in this folder" : "Ei kohteita tässä kansiossa",
diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json
index 3148ed7f29..54fe53b85a 100644
--- a/apps/files/l10n/fi.json
+++ b/apps/files/l10n/fi.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ei riittävästi vapaata tilaa. Lähetyksesi koko on {size1}, mutta vain {size2} on jäljellä",
"Target folder \"{dir}\" does not exist any more" : "Kohdekansio \"{dir}\" ei ole enää olemassa",
"Not enough free space" : "Ei tarpeeksi vapaata tilaa",
- "Uploading …" : "Lähetetään…",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize} ({bitrate})",
"Actions" : "Toiminnot",
@@ -119,7 +118,7 @@
"Show hidden files" : "Näytä piilotetut tiedostot",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Käytä tätä osoitetta päästäksesi tiedostoihisi WebDAV-liittymän kautta",
- "Uploading @" : "Lähetetään @",
+ "Cancel upload" : "Perus lähetys",
"No files in here" : "Täällä ei ole tiedostoja",
"Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!",
"No entries found in this folder" : "Ei kohteita tässä kansiossa",
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 0111a0d02d..9574a557cd 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Espace libre insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles",
"Target folder \"{dir}\" does not exist any more" : "Le dossier cible « {dir} » n'existe plus",
"Not enough free space" : "Espace disponible insuffisant",
- "Uploading …" : "Téléversement...",
+ "Uploading …" : "Téléversement en cours...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} sur {totalSize} ({bitrate})",
"Actions" : "Actions",
@@ -77,6 +77,8 @@ OC.L10N.register(
"Favorite" : "Favoris",
"New folder" : "Nouveau dossier",
"Upload file" : "Téléverser un fichier",
+ "Remove from favorites" : "Retirer des favoris",
+ "Add to favorites" : "Ajouter aux favoris",
"An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes",
"Added to favorites" : "Ajouté aux favoris",
"Removed from favorites" : "Retiré des favoris",
@@ -123,7 +125,6 @@ OC.L10N.register(
"Show hidden files" : "Afficher les fichiers cachés",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Utilisez cette adresse pour accéder à vos fichiers par WebDAV",
- "Uploading @" : "Envoi en cours @",
"Cancel upload" : "Annuler le téléversement",
"No files in here" : "Aucun fichier",
"Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !",
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 0cc1f32c47..21074489ee 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -14,7 +14,7 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Espace libre insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles",
"Target folder \"{dir}\" does not exist any more" : "Le dossier cible « {dir} » n'existe plus",
"Not enough free space" : "Espace disponible insuffisant",
- "Uploading …" : "Téléversement...",
+ "Uploading …" : "Téléversement en cours...",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} sur {totalSize} ({bitrate})",
"Actions" : "Actions",
@@ -75,6 +75,8 @@
"Favorite" : "Favoris",
"New folder" : "Nouveau dossier",
"Upload file" : "Téléverser un fichier",
+ "Remove from favorites" : "Retirer des favoris",
+ "Add to favorites" : "Ajouter aux favoris",
"An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes",
"Added to favorites" : "Ajouté aux favoris",
"Removed from favorites" : "Retiré des favoris",
@@ -121,7 +123,6 @@
"Show hidden files" : "Afficher les fichiers cachés",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Utilisez cette adresse pour accéder à vos fichiers par WebDAV",
- "Uploading @" : "Envoi en cours @",
"Cancel upload" : "Annuler le téléversement",
"No files in here" : "Aucun fichier",
"Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !",
diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js
index 694aeb1e61..0c770e4a1d 100644
--- a/apps/files/l10n/hu.js
+++ b/apps/files/l10n/hu.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nincs elég szabad hely. A feltöltés mérete {size1}, de csak ennyi hely van: {size2}.",
"Target folder \"{dir}\" does not exist any more" : "A cél mappa már nem létezik: \"{dir}\"",
"Not enough free space" : "Nincs elég szabad hely",
- "Uploading …" : "Feltöltés ...",
+ "Uploading …" : "Feltöltés...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Actions" : "Műveletek",
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Kedvenc",
"New folder" : "Új mappa",
"Upload file" : "Fájl feltöltés",
+ "Not favorited" : "Nincs a kedvencek között",
+ "Remove from favorites" : "Eltávolítás a kedvencekből",
+ "Add to favorites" : "Hozzáadás a kedvencekhez",
"An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket",
"Added to favorites" : "Hozzáadva a kedvencekhez",
"Removed from favorites" : "Eltávolítva a kedvencekből",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Rejtett fájlok megjelenítése",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Használja ezt a címet a Fájlok eléréséhez WebDAV-on keresztül.",
- "Uploading @" : "Feltöltés @",
"Cancel upload" : "Feltöltés megszakítása",
"No files in here" : "Itt nincsenek fájlok",
"Upload some content or sync with your devices!" : "Tölts fel néhány tartalmat, vagy szinkronizálj az eszközöddel!",
diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json
index 9dc06fb48f..9e7d724c06 100644
--- a/apps/files/l10n/hu.json
+++ b/apps/files/l10n/hu.json
@@ -14,7 +14,7 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nincs elég szabad hely. A feltöltés mérete {size1}, de csak ennyi hely van: {size2}.",
"Target folder \"{dir}\" does not exist any more" : "A cél mappa már nem létezik: \"{dir}\"",
"Not enough free space" : "Nincs elég szabad hely",
- "Uploading …" : "Feltöltés ...",
+ "Uploading …" : "Feltöltés...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Actions" : "Műveletek",
@@ -75,6 +75,9 @@
"Favorite" : "Kedvenc",
"New folder" : "Új mappa",
"Upload file" : "Fájl feltöltés",
+ "Not favorited" : "Nincs a kedvencek között",
+ "Remove from favorites" : "Eltávolítás a kedvencekből",
+ "Add to favorites" : "Hozzáadás a kedvencekhez",
"An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket",
"Added to favorites" : "Hozzáadva a kedvencekhez",
"Removed from favorites" : "Eltávolítva a kedvencekből",
@@ -121,7 +124,6 @@
"Show hidden files" : "Rejtett fájlok megjelenítése",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Használja ezt a címet a Fájlok eléréséhez WebDAV-on keresztül.",
- "Uploading @" : "Feltöltés @",
"Cancel upload" : "Feltöltés megszakítása",
"No files in here" : "Itt nincsenek fájlok",
"Upload some content or sync with your devices!" : "Tölts fel néhány tartalmat, vagy szinkronizálj az eszközöddel!",
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index d125409167..65256f1548 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Eftirlæti",
"New folder" : "Ný mappa",
"Upload file" : "Senda inn skrá",
+ "Not favorited" : "Ekki í eftirlætum",
+ "Remove from favorites" : "Fjarlægja úr eftirlætum",
+ "Add to favorites" : "Bæta í eftirlæti",
"An error occurred while trying to update the tags" : "Villa kom upp við að reyna að uppfæra merkin",
"Added to favorites" : "Bætt í eftirlæti",
"Removed from favorites" : "Fjarlægt úr eftirlætum",
@@ -123,7 +126,7 @@ OC.L10N.register(
"Show hidden files" : "Sýna faldar skrár",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Notaðu þetta vistfang til að nálgast skrárnar þínar með WebDAV",
- "Uploading @" : "Sendi inn @",
+ "Cancel upload" : "Hætta við innsendingu",
"No files in here" : "Engar skrár hér",
"Upload some content or sync with your devices!" : "Sendu inn eitthvað efni eða samstilltu við tækin þín!",
"No entries found in this folder" : "Engar skrár fundust í þessari möppu",
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 80c56f26ce..29b8d7eb79 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -75,6 +75,9 @@
"Favorite" : "Eftirlæti",
"New folder" : "Ný mappa",
"Upload file" : "Senda inn skrá",
+ "Not favorited" : "Ekki í eftirlætum",
+ "Remove from favorites" : "Fjarlægja úr eftirlætum",
+ "Add to favorites" : "Bæta í eftirlæti",
"An error occurred while trying to update the tags" : "Villa kom upp við að reyna að uppfæra merkin",
"Added to favorites" : "Bætt í eftirlæti",
"Removed from favorites" : "Fjarlægt úr eftirlætum",
@@ -121,7 +124,7 @@
"Show hidden files" : "Sýna faldar skrár",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Notaðu þetta vistfang til að nálgast skrárnar þínar með WebDAV",
- "Uploading @" : "Sendi inn @",
+ "Cancel upload" : "Hætta við innsendingu",
"No files in here" : "Engar skrár hér",
"Upload some content or sync with your devices!" : "Sendu inn eitthvað efni eða samstilltu við tækin þín!",
"No entries found in this folder" : "Engar skrár fundust í þessari möppu",
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index e4d742f918..8b92a250be 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Preferito",
"New folder" : "Nuova cartella",
"Upload file" : "Carica file",
+ "Not favorited" : "Non preferito",
+ "Remove from favorites" : "Rimuovi dai preferiti",
+ "Add to favorites" : "Aggiungi ai preferiti",
"An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette",
"Added to favorites" : "Aggiunto ai preferiti",
"Removed from favorites" : "Rimosso dai preferiti",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Mostra i file nascosti",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Utilizza questo indirizzo per accedere ai tuoi file con WebDAV",
- "Uploading @" : "Caricamento @",
"Cancel upload" : "Annulla caricamento",
"No files in here" : "Qui non c'è alcun file",
"Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!",
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index 3a2e542564..53d0f106fa 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -75,6 +75,9 @@
"Favorite" : "Preferito",
"New folder" : "Nuova cartella",
"Upload file" : "Carica file",
+ "Not favorited" : "Non preferito",
+ "Remove from favorites" : "Rimuovi dai preferiti",
+ "Add to favorites" : "Aggiungi ai preferiti",
"An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette",
"Added to favorites" : "Aggiunto ai preferiti",
"Removed from favorites" : "Rimosso dai preferiti",
@@ -121,7 +124,6 @@
"Show hidden files" : "Mostra i file nascosti",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Utilizza questo indirizzo per accedere ai tuoi file con WebDAV",
- "Uploading @" : "Caricamento @",
"Cancel upload" : "Annulla caricamento",
"No files in here" : "Qui non c'è alcun file",
"Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!",
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index 41c1256e8d..dd4b96aaf3 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。",
"Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません",
"Not enough free space" : "十分な空き容量がありません",
- "Uploading …" : "アップロード中...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})",
"Actions" : "アクション",
"Download" : "ダウンロード",
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index 9112fb9bb1..58f16fa2c2 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。",
"Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません",
"Not enough free space" : "十分な空き容量がありません",
- "Uploading …" : "アップロード中...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})",
"Actions" : "アクション",
"Download" : "ダウンロード",
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index 2395bad8d7..5910d8e9e5 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nepakanka laisvos vietos. Jūs bandote įkelti {size1} dydžio bylą, bet liko tik {size2} vietos",
"Target folder \"{dir}\" does not exist any more" : "Paskirties aplanko \"{dir}\" daugiau nebėra",
"Not enough free space" : "Trūksta laisvos vietos",
- "Uploading …" : "Įkeliama ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} iš {totalSize} ({bitrate})",
"Actions" : "Veiksmai",
@@ -118,7 +117,6 @@ OC.L10N.register(
"Show hidden files" : "Rodyti paslėptus failus",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Naudokite šį adresą norėdami pasiekti failus per WebDAV",
- "Uploading @" : "Įkeliama @",
"No files in here" : "Čia nėra failų",
"Upload some content or sync with your devices!" : "Įkelkite kokį nors turinį, arba sinchronizuokite su savo įrenginiais!",
"No entries found in this folder" : "Nerasta įrašų šiame aplanke",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index d2d320380d..c8d9492905 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nepakanka laisvos vietos. Jūs bandote įkelti {size1} dydžio bylą, bet liko tik {size2} vietos",
"Target folder \"{dir}\" does not exist any more" : "Paskirties aplanko \"{dir}\" daugiau nebėra",
"Not enough free space" : "Trūksta laisvos vietos",
- "Uploading …" : "Įkeliama ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} iš {totalSize} ({bitrate})",
"Actions" : "Veiksmai",
@@ -116,7 +115,6 @@
"Show hidden files" : "Rodyti paslėptus failus",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Naudokite šį adresą norėdami pasiekti failus per WebDAV",
- "Uploading @" : "Įkeliama @",
"No files in here" : "Čia nėra failų",
"Upload some content or sync with your devices!" : "Įkelkite kokį nors turinį, arba sinchronizuokite su savo įrenginiais!",
"No entries found in this folder" : "Nerasta įrašų šiame aplanke",
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index 0363627955..d37c9e00df 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ikke nok ledig plass. Du laster opp size1} men bare {size2} er ledig",
"Target folder \"{dir}\" does not exist any more" : "Målmappen \"{dir}\" finnes ikke lenger",
"Not enough free space" : "Ikke nok ledig diskplass",
- "Uploading …" : "Laster opp…",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} av {totalSize} ({bitrate})",
"Actions" : "Handlinger",
@@ -77,6 +76,9 @@ OC.L10N.register(
"Favorite" : "Gjør til favoritt",
"New folder" : "Ny mappe",
"Upload file" : "Last opp fil",
+ "Not favorited" : "Ikke i favoritter",
+ "Remove from favorites" : "Fjern fra favoritter",
+ "Add to favorites" : "Legg til i favoritter",
"An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av merkelappene",
"Added to favorites" : "Lagt til i favoritter",
"Removed from favorites" : "Fjernet fra favoritter",
@@ -123,7 +125,6 @@ OC.L10N.register(
"Show hidden files" : "Vis skjulte filer",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Bruk adressen for å få tilgang til WebDAV",
- "Uploading @" : "Laster opp @",
"Cancel upload" : "Avbryt opplasting",
"No files in here" : "Ingen filer her",
"Upload some content or sync with your devices!" : "Last opp noe innhold eller synkroniser med enhetene dine!",
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index 239793a7e7..dc1937bd0f 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ikke nok ledig plass. Du laster opp size1} men bare {size2} er ledig",
"Target folder \"{dir}\" does not exist any more" : "Målmappen \"{dir}\" finnes ikke lenger",
"Not enough free space" : "Ikke nok ledig diskplass",
- "Uploading …" : "Laster opp…",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} av {totalSize} ({bitrate})",
"Actions" : "Handlinger",
@@ -75,6 +74,9 @@
"Favorite" : "Gjør til favoritt",
"New folder" : "Ny mappe",
"Upload file" : "Last opp fil",
+ "Not favorited" : "Ikke i favoritter",
+ "Remove from favorites" : "Fjern fra favoritter",
+ "Add to favorites" : "Legg til i favoritter",
"An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av merkelappene",
"Added to favorites" : "Lagt til i favoritter",
"Removed from favorites" : "Fjernet fra favoritter",
@@ -121,7 +123,6 @@
"Show hidden files" : "Vis skjulte filer",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Bruk adressen for å få tilgang til WebDAV",
- "Uploading @" : "Laster opp @",
"Cancel upload" : "Avbryt opplasting",
"No files in here" : "Ingen filer her",
"Upload some content or sync with your devices!" : "Last opp noe innhold eller synkroniser med enhetene dine!",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 6bb95a1a00..5461b88999 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Niet genoeg vrije ruimte. Je uploadt {size1}, maar er is slechts {size2} beschikbaar",
"Target folder \"{dir}\" does not exist any more" : "Doelmap \"{dir}\" bestaat niet meer",
"Not enough free space" : "Onvoldoende vrije ruimte",
- "Uploading …" : "Uploaden ...",
+ "Uploading …" : "Uploaden …",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})",
"Actions" : "Acties",
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Favoriet",
"New folder" : "Nieuwe map",
"Upload file" : "Bestand uploaden",
+ "Not favorited" : "Niet in favorieten",
+ "Remove from favorites" : "Verwijder van favorieten",
+ "Add to favorites" : "Aan favorieten toevoegen",
"An error occurred while trying to update the tags" : "Er trad een fout op bij jouw poging om de markeringen bij te werken",
"Added to favorites" : "Toevoegen aan favorieten",
"Removed from favorites" : "Verwijderen uit favorieten",
@@ -123,7 +126,7 @@ OC.L10N.register(
"Show hidden files" : "Verborgen bestanden tonen",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Gebruik deze link om je bestanden via WebDAV te benaderen",
- "Uploading @" : "Uploaden @",
+ "Cancel upload" : "Stop upload",
"No files in here" : "Hier geen bestanden",
"Upload some content or sync with your devices!" : "Upload je inhoud of synchroniseer met je apparaten!",
"No entries found in this folder" : "Niets",
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index efda557da8..bf02491b39 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -14,7 +14,7 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Niet genoeg vrije ruimte. Je uploadt {size1}, maar er is slechts {size2} beschikbaar",
"Target folder \"{dir}\" does not exist any more" : "Doelmap \"{dir}\" bestaat niet meer",
"Not enough free space" : "Onvoldoende vrije ruimte",
- "Uploading …" : "Uploaden ...",
+ "Uploading …" : "Uploaden …",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})",
"Actions" : "Acties",
@@ -75,6 +75,9 @@
"Favorite" : "Favoriet",
"New folder" : "Nieuwe map",
"Upload file" : "Bestand uploaden",
+ "Not favorited" : "Niet in favorieten",
+ "Remove from favorites" : "Verwijder van favorieten",
+ "Add to favorites" : "Aan favorieten toevoegen",
"An error occurred while trying to update the tags" : "Er trad een fout op bij jouw poging om de markeringen bij te werken",
"Added to favorites" : "Toevoegen aan favorieten",
"Removed from favorites" : "Verwijderen uit favorieten",
@@ -121,7 +124,7 @@
"Show hidden files" : "Verborgen bestanden tonen",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Gebruik deze link om je bestanden via WebDAV te benaderen",
- "Uploading @" : "Uploaden @",
+ "Cancel upload" : "Stop upload",
"No files in here" : "Hier geen bestanden",
"Upload some content or sync with your devices!" : "Upload je inhoud of synchroniseer met je apparaten!",
"No entries found in this folder" : "Niets",
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index 1d11928c27..9d298be0e2 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Ulubione",
"New folder" : "Nowy folder",
"Upload file" : "Wyślij plik",
+ "Not favorited" : "Wyłączone z ulubionych",
+ "Remove from favorites" : "Usuń z ulubionych",
+ "Add to favorites" : "Dodaj do ulubionych",
"An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów",
"Added to favorites" : "Dodano do ulubionych",
"Removed from favorites" : "Usunięto z ulubionych",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Pokaż ukryte pliki",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Użyj tego adresu aby uzyskać dostęp do swoich plików poprzez WebDAV",
- "Uploading @" : "Wysyłanie",
"Cancel upload" : "Anuluj wysyłanie",
"No files in here" : "Brak plików",
"Upload some content or sync with your devices!" : "Wgraj coś, albo wykonaj synchronizację ze swoimi urządzeniami.",
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index 91fe2b1c44..38986e0cd2 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -75,6 +75,9 @@
"Favorite" : "Ulubione",
"New folder" : "Nowy folder",
"Upload file" : "Wyślij plik",
+ "Not favorited" : "Wyłączone z ulubionych",
+ "Remove from favorites" : "Usuń z ulubionych",
+ "Add to favorites" : "Dodaj do ulubionych",
"An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów",
"Added to favorites" : "Dodano do ulubionych",
"Removed from favorites" : "Usunięto z ulubionych",
@@ -121,7 +124,6 @@
"Show hidden files" : "Pokaż ukryte pliki",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Użyj tego adresu aby uzyskać dostęp do swoich plików poprzez WebDAV",
- "Uploading @" : "Wysyłanie",
"Cancel upload" : "Anuluj wysyłanie",
"No files in here" : "Brak plików",
"Upload some content or sync with your devices!" : "Wgraj coś, albo wykonaj synchronizację ze swoimi urządzeniami.",
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index ab8f1c14af..ea38f68d6b 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Favorito",
"New folder" : "Nova pasta",
"Upload file" : "Enviar arquivo",
+ "Not favorited" : "Sem favoritos",
+ "Remove from favorites" : "Excluir dos favoritos",
+ "Add to favorites" : "Adicionar aos favoritos",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
"Added to favorites" : "Adicionado aos favoritos",
"Removed from favorites" : "Excluído dos favoritos",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Mostrar arquivos ocultos",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Use este endereço para acessar seus arquivos via WebDAV",
- "Uploading @" : "Enviando @",
"Cancel upload" : "Cancelar envio",
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Envie algum conteúdo ou sincronize com seus dispositivos!",
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index c551e03a97..26fafd4c5d 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -75,6 +75,9 @@
"Favorite" : "Favorito",
"New folder" : "Nova pasta",
"Upload file" : "Enviar arquivo",
+ "Not favorited" : "Sem favoritos",
+ "Remove from favorites" : "Excluir dos favoritos",
+ "Add to favorites" : "Adicionar aos favoritos",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
"Added to favorites" : "Adicionado aos favoritos",
"Removed from favorites" : "Excluído dos favoritos",
@@ -121,7 +124,6 @@
"Show hidden files" : "Mostrar arquivos ocultos",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Use este endereço para acessar seus arquivos via WebDAV",
- "Uploading @" : "Enviando @",
"Cancel upload" : "Cancelar envio",
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Envie algum conteúdo ou sincronize com seus dispositivos!",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index 1455ed2abd..b56de035d1 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -12,11 +12,11 @@ OC.L10N.register(
"Favorites" : "Избранные",
"Could not create folder \"{dir}\"" : "Невозможно создать каталог «{dir}»",
"Upload cancelled." : "Выгрузка отменена.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно выгрузить «{filename}», так как это либо каталог, либо файл нулевого размера",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, вы выгружаете {size1}, но только {size2} доступно",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно загрузить «{filename}», так как это либо каталог, либо файл нулевого размера",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, вы загружаете {size1}, но только {size2} доступно",
"Target folder \"{dir}\" does not exist any more" : "Целевой каталог «{dir}» более не существует",
"Not enough free space" : "Недостаточно свободного места",
- "Uploading …" : "Выгрузка...",
+ "Uploading …" : "Загрузка...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} из {totalSize} ({bitrate})",
"Actions" : "Действия",
@@ -58,7 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"],
"You don’t have permission to upload or create files here" : "У вас нет разрешений на создание или загрузку файлов в эту папку.",
- "_Uploading %n file_::_Uploading %n files_" : ["Выгружа%nется файл","Выгружаются %n файла","Выгружаются %n файлов","Выгружаются %n файлов"],
+ "_Uploading %n file_::_Uploading %n files_" : ["Выгружа%nется файл","Выгружаются %n файла","Выгружаются %n файлов","Загружаются %n файлов"],
"New" : "Новый",
"\"{name}\" is an invalid file name." : "«{name}» — недопустимое имя файла.",
"File name cannot be empty." : "Имя файла не может быть пустым.",
@@ -76,7 +76,10 @@ OC.L10N.register(
"Favorited" : "Избранное",
"Favorite" : "Добавить в избранное",
"New folder" : "Новый каталог",
- "Upload file" : "Выгрузить файл",
+ "Upload file" : "Зарузить файл",
+ "Not favorited" : "Не избранное",
+ "Remove from favorites" : "Удалить из избранных",
+ "Add to favorites" : "Добавить в избранное",
"An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка",
"Added to favorites" : "Добавлено в избранное",
"Removed from favorites" : "Удалено из избранного",
@@ -110,9 +113,9 @@ OC.L10N.register(
"Limit notifications about creation and changes to your favorite files(Stream only)" : "Ограничить уведомления о создании и изменении ваших избранных файлов(отображать только в приложении события)",
"A file or folder has been restored" : "Файл или каталог был восстановлен",
"Unlimited" : "Неограничено",
- "Upload (max. %s)" : "Выгрузка (максимум %s)",
+ "Upload (max. %s)" : "Загрузка (максимум %s)",
"File handling" : "Управление файлами",
- "Maximum upload size" : "Максимальный размер выгружаемого файла",
+ "Maximum upload size" : "Максимальный размер загружаемого файла",
"max. possible: " : "макс. возможно: ",
"Save" : "Сохранить",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "В режиме PHP-FPM применение изменений может занять до 5 минут.",
@@ -123,8 +126,7 @@ OC.L10N.register(
"Show hidden files" : "Показывать скрытые файлы",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Используйте этот адрес для доступа по WebDAV",
- "Uploading @" : "Выгрузка @",
- "Cancel upload" : "Отменить выгрузку",
+ "Cancel upload" : "Отменить загрузку",
"No files in here" : "Здесь нет файлов",
"Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!",
"No entries found in this folder" : "В этом каталоге ничего не найдено",
@@ -140,7 +142,7 @@ OC.L10N.register(
"Deleted files" : "Корзина",
"Text file" : "Текстовый файл",
"New text file.txt" : "Новый текстовый файл.txt",
- "Uploading..." : "Выгрузка...",
+ "Uploading..." : "Загрузка...",
"..." : "...",
"_{hours}:{minutes}:{seconds} hour left_::_{hours}:{minutes}:{seconds} hours left_" : ["Остался {hours}:{minutes}:{seconds} час","Осталось {hours}:{minutes}:{seconds} часа","Осталось {hours}:{minutes}:{seconds} часов","Осталось {hours}:{minutes}:{seconds} часов"],
"{hours}:{minutes}h" : "{hours}:{minutes}ч",
@@ -150,7 +152,7 @@ OC.L10N.register(
"{seconds}s" : "{seconds}с",
"Any moment now..." : "В любой момент...",
"Soon..." : "Скоро...",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Выполняется передача файла. Покинув страницу, вы прервёте выгрузку.",
+ "File upload is in progress. Leaving the page now will cancel the upload." : "Выполняется передача файла. Покинув страницу, вы прервёте загрузку.",
"Move" : "Перенести",
"Copy local link" : "Скопировать локальную ссылку",
"Folder" : "Каталог",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 20bbb1d2e3..53c74b50f6 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -10,11 +10,11 @@
"Favorites" : "Избранные",
"Could not create folder \"{dir}\"" : "Невозможно создать каталог «{dir}»",
"Upload cancelled." : "Выгрузка отменена.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно выгрузить «{filename}», так как это либо каталог, либо файл нулевого размера",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, вы выгружаете {size1}, но только {size2} доступно",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно загрузить «{filename}», так как это либо каталог, либо файл нулевого размера",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, вы загружаете {size1}, но только {size2} доступно",
"Target folder \"{dir}\" does not exist any more" : "Целевой каталог «{dir}» более не существует",
"Not enough free space" : "Недостаточно свободного места",
- "Uploading …" : "Выгрузка...",
+ "Uploading …" : "Загрузка...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} из {totalSize} ({bitrate})",
"Actions" : "Действия",
@@ -56,7 +56,7 @@
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"],
"You don’t have permission to upload or create files here" : "У вас нет разрешений на создание или загрузку файлов в эту папку.",
- "_Uploading %n file_::_Uploading %n files_" : ["Выгружа%nется файл","Выгружаются %n файла","Выгружаются %n файлов","Выгружаются %n файлов"],
+ "_Uploading %n file_::_Uploading %n files_" : ["Выгружа%nется файл","Выгружаются %n файла","Выгружаются %n файлов","Загружаются %n файлов"],
"New" : "Новый",
"\"{name}\" is an invalid file name." : "«{name}» — недопустимое имя файла.",
"File name cannot be empty." : "Имя файла не может быть пустым.",
@@ -74,7 +74,10 @@
"Favorited" : "Избранное",
"Favorite" : "Добавить в избранное",
"New folder" : "Новый каталог",
- "Upload file" : "Выгрузить файл",
+ "Upload file" : "Зарузить файл",
+ "Not favorited" : "Не избранное",
+ "Remove from favorites" : "Удалить из избранных",
+ "Add to favorites" : "Добавить в избранное",
"An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка",
"Added to favorites" : "Добавлено в избранное",
"Removed from favorites" : "Удалено из избранного",
@@ -108,9 +111,9 @@
"Limit notifications about creation and changes to your favorite files(Stream only)" : "Ограничить уведомления о создании и изменении ваших избранных файлов(отображать только в приложении события)",
"A file or folder has been restored" : "Файл или каталог был восстановлен",
"Unlimited" : "Неограничено",
- "Upload (max. %s)" : "Выгрузка (максимум %s)",
+ "Upload (max. %s)" : "Загрузка (максимум %s)",
"File handling" : "Управление файлами",
- "Maximum upload size" : "Максимальный размер выгружаемого файла",
+ "Maximum upload size" : "Максимальный размер загружаемого файла",
"max. possible: " : "макс. возможно: ",
"Save" : "Сохранить",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "В режиме PHP-FPM применение изменений может занять до 5 минут.",
@@ -121,8 +124,7 @@
"Show hidden files" : "Показывать скрытые файлы",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Используйте этот адрес для доступа по WebDAV",
- "Uploading @" : "Выгрузка @",
- "Cancel upload" : "Отменить выгрузку",
+ "Cancel upload" : "Отменить загрузку",
"No files in here" : "Здесь нет файлов",
"Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!",
"No entries found in this folder" : "В этом каталоге ничего не найдено",
@@ -138,7 +140,7 @@
"Deleted files" : "Корзина",
"Text file" : "Текстовый файл",
"New text file.txt" : "Новый текстовый файл.txt",
- "Uploading..." : "Выгрузка...",
+ "Uploading..." : "Загрузка...",
"..." : "...",
"_{hours}:{minutes}:{seconds} hour left_::_{hours}:{minutes}:{seconds} hours left_" : ["Остался {hours}:{minutes}:{seconds} час","Осталось {hours}:{minutes}:{seconds} часа","Осталось {hours}:{minutes}:{seconds} часов","Осталось {hours}:{minutes}:{seconds} часов"],
"{hours}:{minutes}h" : "{hours}:{minutes}ч",
@@ -148,7 +150,7 @@
"{seconds}s" : "{seconds}с",
"Any moment now..." : "В любой момент...",
"Soon..." : "Скоро...",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Выполняется передача файла. Покинув страницу, вы прервёте выгрузку.",
+ "File upload is in progress. Leaving the page now will cancel the upload." : "Выполняется передача файла. Покинув страницу, вы прервёте загрузку.",
"Move" : "Перенести",
"Copy local link" : "Скопировать локальную ссылку",
"Folder" : "Каталог",
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index 79e74f8fc3..b103172e81 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie je dostatok voľného miesta, chcete nahrať {size1} ale k dispozíciji je len {size2}",
"Target folder \"{dir}\" does not exist any more" : "Cieľový priečinok \"{dir}\" už neexistuje",
"Not enough free space" : "Nedostatok voľného miesta",
- "Uploading …" : "Nahráva sa ...",
+ "Uploading …" : "Nahrávanie...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Actions" : "Akcie",
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Obľúbené",
"New folder" : "Nový priečinok",
"Upload file" : "Nahrať súbor",
+ "Not favorited" : "Nie je obľúbený",
+ "Remove from favorites" : "Odstrániť z obľúbených",
+ "Add to favorites" : "Pridať do obľúbených",
"An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe",
"Added to favorites" : "Pridané do obľúbených",
"Removed from favorites" : "Odstránené z obľúbených",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Zobraziť skryté súbory",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Použi túto adresu pre prístup ku svojím súborom cez WebDAV",
- "Uploading @" : "Nahráva sa @",
"Cancel upload" : "Zrušiť nahrávanie",
"No files in here" : "Nie sú tu žiadne súbory",
"Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!",
diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json
index 3abaef4aa9..5947e0b1dc 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -14,7 +14,7 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie je dostatok voľného miesta, chcete nahrať {size1} ale k dispozíciji je len {size2}",
"Target folder \"{dir}\" does not exist any more" : "Cieľový priečinok \"{dir}\" už neexistuje",
"Not enough free space" : "Nedostatok voľného miesta",
- "Uploading …" : "Nahráva sa ...",
+ "Uploading …" : "Nahrávanie...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Actions" : "Akcie",
@@ -75,6 +75,9 @@
"Favorite" : "Obľúbené",
"New folder" : "Nový priečinok",
"Upload file" : "Nahrať súbor",
+ "Not favorited" : "Nie je obľúbený",
+ "Remove from favorites" : "Odstrániť z obľúbených",
+ "Add to favorites" : "Pridať do obľúbených",
"An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe",
"Added to favorites" : "Pridané do obľúbených",
"Removed from favorites" : "Odstránené z obľúbených",
@@ -121,7 +124,6 @@
"Show hidden files" : "Zobraziť skryté súbory",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Použi túto adresu pre prístup ku svojím súborom cez WebDAV",
- "Uploading @" : "Nahráva sa @",
"Cancel upload" : "Zrušiť nahrávanie",
"No files in here" : "Nie sú tu žiadne súbory",
"Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!",
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index cedf0bfc2b..28a97a6cdb 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Na voljo ni dovolj prostora. Velikost poslane datoteke je {size1}, na voljo pa je je {size2}.",
"Target folder \"{dir}\" does not exist any more" : "Ciljna mapa \"{dir}\" ne obstaja več",
"Not enough free space" : "Ni dovolj prostora",
- "Uploading …" : "Nalaganje",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} od {totalSize} ({bitrate})",
"Actions" : "Dejanja",
@@ -119,7 +118,6 @@ OC.L10N.register(
"Show hidden files" : "Pokaži skrite datoteke",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Uporabite naslov za dostop do datotek prek sistema WebDAV.",
- "Uploading @" : "Nalaganje @",
"Cancel upload" : "Prekini nalaganje",
"No files in here" : "V mapi ni datotek",
"Upload some content or sync with your devices!" : "Uvozite vsebino ali pa omogočite usklajevanje z napravami!",
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index a10d6ac1d9..c5dd2eb6e2 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Na voljo ni dovolj prostora. Velikost poslane datoteke je {size1}, na voljo pa je je {size2}.",
"Target folder \"{dir}\" does not exist any more" : "Ciljna mapa \"{dir}\" ne obstaja več",
"Not enough free space" : "Ni dovolj prostora",
- "Uploading …" : "Nalaganje",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} od {totalSize} ({bitrate})",
"Actions" : "Dejanja",
@@ -117,7 +116,6 @@
"Show hidden files" : "Pokaži skrite datoteke",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Uporabite naslov za dostop do datotek prek sistema WebDAV.",
- "Uploading @" : "Nalaganje @",
"Cancel upload" : "Prekini nalaganje",
"No files in here" : "V mapi ni datotek",
"Upload some content or sync with your devices!" : "Uvozite vsebino ali pa omogočite usklajevanje z napravami!",
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index 1a3b01420f..62d72d56d4 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Нема простора. Отпремате {size1} али само {size2} је преостало",
"Target folder \"{dir}\" does not exist any more" : "Одредишна фасцикла \"{dir}\" више не постоји",
"Not enough free space" : "Нема довољно слободног места",
- "Uploading …" : "Отпремам …",
+ "Uploading …" : "Отпремам…",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} од {totalSize} ({bitrate})",
"Actions" : "Радње",
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Омиљени",
"New folder" : "Нова фасцикла",
"Upload file" : "Отпреми фајл",
+ "Not favorited" : "Није омиљено",
+ "Remove from favorites" : "Избаци из омиљених",
+ "Add to favorites" : "Додај у омиљене",
"An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака",
"Added to favorites" : "Додато у омиљено",
"Removed from favorites" : "Избачено из омиљених",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Прикажи скривене фајлове",
"WebDAV" : "ВебДАВ",
"Use this address to access your Files via WebDAV" : "Користи ову адресу да приступате Вашим фајловима преко ВебДАВа",
- "Uploading @" : "Отпремам @",
"Cancel upload" : "Откажи отпремање",
"No files in here" : "Овде нема фајлова",
"Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!",
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index c8db7af7ab..190e304549 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -14,7 +14,7 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Нема простора. Отпремате {size1} али само {size2} је преостало",
"Target folder \"{dir}\" does not exist any more" : "Одредишна фасцикла \"{dir}\" више не постоји",
"Not enough free space" : "Нема довољно слободног места",
- "Uploading …" : "Отпремам …",
+ "Uploading …" : "Отпремам…",
"…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} од {totalSize} ({bitrate})",
"Actions" : "Радње",
@@ -75,6 +75,9 @@
"Favorite" : "Омиљени",
"New folder" : "Нова фасцикла",
"Upload file" : "Отпреми фајл",
+ "Not favorited" : "Није омиљено",
+ "Remove from favorites" : "Избаци из омиљених",
+ "Add to favorites" : "Додај у омиљене",
"An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака",
"Added to favorites" : "Додато у омиљено",
"Removed from favorites" : "Избачено из омиљених",
@@ -121,7 +124,6 @@
"Show hidden files" : "Прикажи скривене фајлове",
"WebDAV" : "ВебДАВ",
"Use this address to access your Files via WebDAV" : "Користи ову адресу да приступате Вашим фајловима преко ВебДАВа",
- "Uploading @" : "Отпремам @",
"Cancel upload" : "Откажи отпремање",
"No files in here" : "Овде нема фајлова",
"Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!",
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index ef6e091ecc..43515856b8 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Inte tillräckligt med ledigt utrymme, du laddar upp {size1} men endast {size2} finns kvar.",
"Target folder \"{dir}\" does not exist any more" : "Målmapp \"{dir}\" existerar inte mer",
"Not enough free space" : "Inte tillräckligt med ledigt utrymme",
- "Uploading …" : "Laddar upp ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} av {totalSize} ({bitrate})",
"Actions" : "Åtgärder",
@@ -123,7 +122,6 @@ OC.L10N.register(
"Show hidden files" : "Visa dolda filer",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Använd den här adressen för att komma åt dina filer via WebDAV",
- "Uploading @" : "Laddar upp @",
"Cancel upload" : "Avbryt uppladdning",
"No files in here" : "Inga filer kunde hittas",
"Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!",
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index 88b6d108dc..a3cc329f71 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Inte tillräckligt med ledigt utrymme, du laddar upp {size1} men endast {size2} finns kvar.",
"Target folder \"{dir}\" does not exist any more" : "Målmapp \"{dir}\" existerar inte mer",
"Not enough free space" : "Inte tillräckligt med ledigt utrymme",
- "Uploading …" : "Laddar upp ...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} av {totalSize} ({bitrate})",
"Actions" : "Åtgärder",
@@ -121,7 +120,6 @@
"Show hidden files" : "Visa dolda filer",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Använd den här adressen för att komma åt dina filer via WebDAV",
- "Uploading @" : "Laddar upp @",
"Cancel upload" : "Avbryt uppladdning",
"No files in here" : "Inga filer kunde hittas",
"Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!",
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index d5ee46c53b..b7116cbbd8 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -77,6 +77,9 @@ OC.L10N.register(
"Favorite" : "Sık kullanılanlara ekle",
"New folder" : "Yeni klasör",
"Upload file" : "Dosya yükle",
+ "Not favorited" : "Sık kullanılanlarda değil",
+ "Remove from favorites" : "Sık kullanılanlardan kaldır",
+ "Add to favorites" : "Sık kullanılanlara ekle",
"An error occurred while trying to update the tags" : "Etiketler güncellenirken bir sorun çıktı",
"Added to favorites" : "Sık kullanılanlara eklendi",
"Removed from favorites" : "Sık kullanılanlardan çıkarıldı",
@@ -123,7 +126,6 @@ OC.L10N.register(
"Show hidden files" : "Gizli dosyaları görüntüle",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Dosyalarınıza WebDAV üzerinden erişmek için bu adresi kullanın",
- "Uploading @" : "Yükleniyor @",
"Cancel upload" : "Yüklemeyi iptal et",
"No files in here" : "Burada herhangi bir dosya yok",
"Upload some content or sync with your devices!" : "Bir şeyler yükleyin ya da aygıtlarınızla eşitleyin!",
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index b63f114f80..efd609da06 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -75,6 +75,9 @@
"Favorite" : "Sık kullanılanlara ekle",
"New folder" : "Yeni klasör",
"Upload file" : "Dosya yükle",
+ "Not favorited" : "Sık kullanılanlarda değil",
+ "Remove from favorites" : "Sık kullanılanlardan kaldır",
+ "Add to favorites" : "Sık kullanılanlara ekle",
"An error occurred while trying to update the tags" : "Etiketler güncellenirken bir sorun çıktı",
"Added to favorites" : "Sık kullanılanlara eklendi",
"Removed from favorites" : "Sık kullanılanlardan çıkarıldı",
@@ -121,7 +124,6 @@
"Show hidden files" : "Gizli dosyaları görüntüle",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Dosyalarınıza WebDAV üzerinden erişmek için bu adresi kullanın",
- "Uploading @" : "Yükleniyor @",
"Cancel upload" : "Yüklemeyi iptal et",
"No files in here" : "Burada herhangi bir dosya yok",
"Upload some content or sync with your devices!" : "Bir şeyler yükleyin ya da aygıtlarınızla eşitleyin!",
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index a24c058ce5..451f6adfe6 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостатньо вільного місця, ви вивантажуєте {size1}, а залишилося лише {size2}",
"Target folder \"{dir}\" does not exist any more" : "Теки призначення \"{dir}\" більше не існує.",
"Not enough free space" : "Недостатньо вільного місця",
- "Uploading …" : "Вивантаження...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} з {totalSize} ({bitrate})",
"Actions" : "Дії",
@@ -118,7 +117,6 @@ OC.L10N.register(
"Show hidden files" : "Показати приховані файли",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Використайте цю адресу для доступу через WebDAV",
- "Uploading @" : "Вивантаження @",
"No files in here" : "Тут немає файлів",
"Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!",
"No entries found in this folder" : "В цій теці нічого немає",
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index dd4b04e1e7..1d14e89de2 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостатньо вільного місця, ви вивантажуєте {size1}, а залишилося лише {size2}",
"Target folder \"{dir}\" does not exist any more" : "Теки призначення \"{dir}\" більше не існує.",
"Not enough free space" : "Недостатньо вільного місця",
- "Uploading …" : "Вивантаження...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} з {totalSize} ({bitrate})",
"Actions" : "Дії",
@@ -116,7 +115,6 @@
"Show hidden files" : "Показати приховані файли",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Використайте цю адресу для доступу через WebDAV",
- "Uploading @" : "Вивантаження @",
"No files in here" : "Тут немає файлів",
"Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!",
"No entries found in this folder" : "В цій теці нічого немає",
diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js
index 34c9c79b5a..426c52d3d8 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Không đủ dung lượng trống, bạn đang tải {size1} nhưng chỉ còn {size2} trống",
"Target folder \"{dir}\" does not exist any more" : "Thư mục đích \"{dir}\" không còn tồn tại",
"Not enough free space" : "Không đủ dung lượng trống",
- "Uploading …" : "Đang tải lên …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} trong tổng số {totalSize} ({bitrate})",
"Actions" : "Actions",
"Download" : "Tải về",
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index 5bf200eb0a..09e81edb37 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Không đủ dung lượng trống, bạn đang tải {size1} nhưng chỉ còn {size2} trống",
"Target folder \"{dir}\" does not exist any more" : "Thư mục đích \"{dir}\" không còn tồn tại",
"Not enough free space" : "Không đủ dung lượng trống",
- "Uploading …" : "Đang tải lên …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} trong tổng số {totalSize} ({bitrate})",
"Actions" : "Actions",
"Download" : "Tải về",
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 97be741304..3efe7b5443 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空间不足,您上传的文件大小为 {size1} ,但可用空间仅剩 {size2}",
"Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在",
"Not enough free space" : "可用空间不足",
- "Uploading …" : "正在上传...",
"…" : "undefined",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Actions" : "操作",
@@ -123,7 +122,6 @@ OC.L10N.register(
"Show hidden files" : "显示隐藏文件",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "使用这个地址 通过 WebDAV 访问您的文件",
- "Uploading @" : "上传中",
"Cancel upload" : "取消上传",
"No files in here" : "无文件",
"Upload some content or sync with your devices!" : "上传或从您的设备中同步!",
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index b8630ae0b1..185635f9a5 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -14,7 +14,6 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空间不足,您上传的文件大小为 {size1} ,但可用空间仅剩 {size2}",
"Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在",
"Not enough free space" : "可用空间不足",
- "Uploading …" : "正在上传...",
"…" : "undefined",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Actions" : "操作",
@@ -121,7 +120,6 @@
"Show hidden files" : "显示隐藏文件",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "使用这个地址 通过 WebDAV 访问您的文件",
- "Uploading @" : "上传中",
"Cancel upload" : "取消上传",
"No files in here" : "无文件",
"Upload some content or sync with your devices!" : "上传或从您的设备中同步!",
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 154fa2ca81..d6051f1307 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -22,6 +22,7 @@ OC.L10N.register(
"Actions" : "動作",
"Download" : "下載",
"Rename" : "重新命名",
+ "Move or copy" : "移動或複製",
"Target folder" : "目標資料夾",
"Delete" : "刪除",
"Disconnect storage" : "斷開儲存空間連接",
@@ -36,6 +37,8 @@ OC.L10N.register(
"This directory is unavailable, please check the logs or contact the administrator" : "這個目錄無法存取,請檢查伺服器記錄檔或聯絡管理員",
"Could not move \"{file}\", target exists" : "無法移動 \"{file}\",目標已經存在",
"Could not move \"{file}\"" : "無法移動 \"{file}\"",
+ "Could not copy \"{file}\", target exists" : "無法複製\"{file}\",目標已存在",
+ "Could not copy \"{file}\"" : "無法複製\"{file}\"",
"{newName} already exists" : "{newName} 已經存在",
"Could not rename \"{fileName}\", it does not exist any more" : "無法命名檔案 \"{fileName}\",因為此檔案已經不存在",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱 \"{targetName}\" 在這資料夾 \"{dir}\" 已經被使用。請重新選擇不同的名稱",
@@ -72,9 +75,12 @@ OC.L10N.register(
"Favorite" : "我的最愛",
"New folder" : "新資料夾",
"Upload file" : "上傳檔案",
+ "Not favorited" : "未加入至最愛",
+ "Remove from favorites" : "從最愛中移除",
+ "Add to favorites" : "添加到最愛",
"An error occurred while trying to update the tags" : "更新標籤時發生錯誤",
- "Added to favorites" : "添加到最愛",
- "Removed from favorites" : "從最愛移除",
+ "Added to favorites" : "已添加到最愛",
+ "Removed from favorites" : "已從最愛中移除",
"You added {file} to your favorites" : "你已添加 {file} 至最愛",
"You removed {file} from your favorites" : "你已移除 {file} 從最愛",
"File changes" : "檔案更動",
@@ -118,7 +124,7 @@ OC.L10N.register(
"Show hidden files" : "顯示隱藏檔",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "使用這個位址來使用 WebDAV 存取檔案",
- "Uploading @" : "正在上傳 @",
+ "Cancel upload" : "取消上傳",
"No files in here" : "沒有任何檔案",
"Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容",
"No entries found in this folder" : "在此資料夾中沒有任何項目",
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index 13502ecc95..45cfeb15b6 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -20,6 +20,7 @@
"Actions" : "動作",
"Download" : "下載",
"Rename" : "重新命名",
+ "Move or copy" : "移動或複製",
"Target folder" : "目標資料夾",
"Delete" : "刪除",
"Disconnect storage" : "斷開儲存空間連接",
@@ -34,6 +35,8 @@
"This directory is unavailable, please check the logs or contact the administrator" : "這個目錄無法存取,請檢查伺服器記錄檔或聯絡管理員",
"Could not move \"{file}\", target exists" : "無法移動 \"{file}\",目標已經存在",
"Could not move \"{file}\"" : "無法移動 \"{file}\"",
+ "Could not copy \"{file}\", target exists" : "無法複製\"{file}\",目標已存在",
+ "Could not copy \"{file}\"" : "無法複製\"{file}\"",
"{newName} already exists" : "{newName} 已經存在",
"Could not rename \"{fileName}\", it does not exist any more" : "無法命名檔案 \"{fileName}\",因為此檔案已經不存在",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱 \"{targetName}\" 在這資料夾 \"{dir}\" 已經被使用。請重新選擇不同的名稱",
@@ -70,9 +73,12 @@
"Favorite" : "我的最愛",
"New folder" : "新資料夾",
"Upload file" : "上傳檔案",
+ "Not favorited" : "未加入至最愛",
+ "Remove from favorites" : "從最愛中移除",
+ "Add to favorites" : "添加到最愛",
"An error occurred while trying to update the tags" : "更新標籤時發生錯誤",
- "Added to favorites" : "添加到最愛",
- "Removed from favorites" : "從最愛移除",
+ "Added to favorites" : "已添加到最愛",
+ "Removed from favorites" : "已從最愛中移除",
"You added {file} to your favorites" : "你已添加 {file} 至最愛",
"You removed {file} from your favorites" : "你已移除 {file} 從最愛",
"File changes" : "檔案更動",
@@ -116,7 +122,7 @@
"Show hidden files" : "顯示隱藏檔",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "使用這個位址來使用 WebDAV 存取檔案",
- "Uploading @" : "正在上傳 @",
+ "Cancel upload" : "取消上傳",
"No files in here" : "沒有任何檔案",
"Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容",
"No entries found in this folder" : "在此資料夾中沒有任何項目",
diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php
index 46bd9351e3..92f64a52a2 100644
--- a/apps/files/templates/list.php
+++ b/apps/files/templates/list.php
@@ -2,7 +2,7 @@