Bladeren bron

Merge branch 'master' into autocomplete-gui

Arthur Schiwon 6 jaren geleden
bovenliggende
commit
e2805f02aa
100 gewijzigde bestanden met toevoegingen van 2626 en 147 verwijderingen
  1. 4 0
      .gitignore
  2. 7 0
      apps/admin_audit/composer/autoload.php
  3. 13 0
      apps/admin_audit/composer/composer.json
  4. 445 0
      apps/admin_audit/composer/composer/ClassLoader.php
  5. 21 0
      apps/admin_audit/composer/composer/LICENSE
  6. 20 0
      apps/admin_audit/composer/composer/autoload_classmap.php
  7. 9 0
      apps/admin_audit/composer/composer/autoload_namespaces.php
  8. 10 0
      apps/admin_audit/composer/composer/autoload_psr4.php
  9. 52 0
      apps/admin_audit/composer/composer/autoload_real.php
  10. 46 0
      apps/admin_audit/composer/composer/autoload_static.php
  11. 7 0
      apps/comments/composer/autoload.php
  12. 13 0
      apps/comments/composer/composer.json
  13. 445 0
      apps/comments/composer/composer/ClassLoader.php
  14. 21 0
      apps/comments/composer/composer/LICENSE
  15. 18 0
      apps/comments/composer/composer/autoload_classmap.php
  16. 9 0
      apps/comments/composer/composer/autoload_namespaces.php
  17. 10 0
      apps/comments/composer/composer/autoload_psr4.php
  18. 52 0
      apps/comments/composer/composer/autoload_real.php
  19. 44 0
      apps/comments/composer/composer/autoload_static.php
  20. 0 2
      apps/comments/css/comments.css
  21. 34 0
      apps/comments/l10n/es_CO.js
  22. 32 0
      apps/comments/l10n/es_CO.json
  23. 6 0
      apps/comments/lib/Activity/Provider.php
  24. 23 13
      apps/comments/tests/Unit/Controller/NotificationsTest.php
  25. 8 8
      apps/comments/tests/Unit/Notification/ListenerTest.php
  26. 7 0
      apps/dav/composer/autoload.php
  27. 13 0
      apps/dav/composer/composer.json
  28. 445 0
      apps/dav/composer/composer/ClassLoader.php
  29. 21 0
      apps/dav/composer/composer/LICENSE
  30. 145 0
      apps/dav/composer/composer/autoload_classmap.php
  31. 9 0
      apps/dav/composer/composer/autoload_namespaces.php
  32. 10 0
      apps/dav/composer/composer/autoload_psr4.php
  33. 52 0
      apps/dav/composer/composer/autoload_real.php
  34. 171 0
      apps/dav/composer/composer/autoload_static.php
  35. 1 1
      apps/dav/l10n/bg.js
  36. 1 1
      apps/dav/l10n/bg.json
  37. 1 1
      apps/dav/l10n/ca.js
  38. 1 1
      apps/dav/l10n/ca.json
  39. 1 1
      apps/dav/l10n/cs.js
  40. 1 1
      apps/dav/l10n/cs.json
  41. 5 2
      apps/dav/l10n/da.js
  42. 5 2
      apps/dav/l10n/da.json
  43. 2 2
      apps/dav/l10n/de.js
  44. 2 2
      apps/dav/l10n/de.json
  45. 2 2
      apps/dav/l10n/de_DE.js
  46. 2 2
      apps/dav/l10n/de_DE.json
  47. 1 1
      apps/dav/l10n/el.js
  48. 1 1
      apps/dav/l10n/el.json
  49. 5 2
      apps/dav/l10n/en_GB.js
  50. 5 2
      apps/dav/l10n/en_GB.json
  51. 1 1
      apps/dav/l10n/es.js
  52. 1 1
      apps/dav/l10n/es.json
  53. 1 1
      apps/dav/l10n/es_AR.js
  54. 1 1
      apps/dav/l10n/es_AR.json
  55. 51 0
      apps/dav/l10n/es_CO.js
  56. 49 0
      apps/dav/l10n/es_CO.json
  57. 2 3
      apps/dav/l10n/es_MX.js
  58. 2 3
      apps/dav/l10n/es_MX.json
  59. 5 2
      apps/dav/l10n/fi.js
  60. 5 2
      apps/dav/l10n/fi.json
  61. 3 2
      apps/dav/l10n/fr.js
  62. 3 2
      apps/dav/l10n/fr.json
  63. 2 2
      apps/dav/l10n/hu.js
  64. 2 2
      apps/dav/l10n/hu.json
  65. 5 2
      apps/dav/l10n/is.js
  66. 5 2
      apps/dav/l10n/is.json
  67. 5 2
      apps/dav/l10n/it.js
  68. 5 2
      apps/dav/l10n/it.json
  69. 1 1
      apps/dav/l10n/ko.js
  70. 1 1
      apps/dav/l10n/ko.json
  71. 1 1
      apps/dav/l10n/lt_LT.js
  72. 1 1
      apps/dav/l10n/lt_LT.json
  73. 1 1
      apps/dav/l10n/nb.js
  74. 1 1
      apps/dav/l10n/nb.json
  75. 4 2
      apps/dav/l10n/nl.js
  76. 4 2
      apps/dav/l10n/nl.json
  77. 5 2
      apps/dav/l10n/pl.js
  78. 5 2
      apps/dav/l10n/pl.json
  79. 2 2
      apps/dav/l10n/pt_BR.js
  80. 2 2
      apps/dav/l10n/pt_BR.json
  81. 1 1
      apps/dav/l10n/ro.js
  82. 1 1
      apps/dav/l10n/ro.json
  83. 5 2
      apps/dav/l10n/ru.js
  84. 5 2
      apps/dav/l10n/ru.json
  85. 5 2
      apps/dav/l10n/sk.js
  86. 5 2
      apps/dav/l10n/sk.json
  87. 1 1
      apps/dav/l10n/sq.js
  88. 1 1
      apps/dav/l10n/sq.json
  89. 2 2
      apps/dav/l10n/sr.js
  90. 2 2
      apps/dav/l10n/sr.json
  91. 1 1
      apps/dav/l10n/sv.js
  92. 1 1
      apps/dav/l10n/sv.json
  93. 2 2
      apps/dav/l10n/tr.js
  94. 2 2
      apps/dav/l10n/tr.json
  95. 1 1
      apps/dav/l10n/zh_CN.js
  96. 1 1
      apps/dav/l10n/zh_CN.json
  97. 47 19
      apps/dav/lib/CalDAV/Activity/Backend.php
  98. 26 2
      apps/dav/lib/CalDAV/Activity/Provider/Base.php
  99. 55 5
      apps/dav/lib/CalDAV/Activity/Provider/Calendar.php
  100. 28 2
      apps/dav/lib/CalDAV/Activity/Provider/Event.php

+ 4 - 0
.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/

+ 7 - 0
apps/admin_audit/composer/autoload.php

@@ -0,0 +1,7 @@
+<?php
+
+// autoload.php @generated by Composer
+
+require_once __DIR__ . '/composer/autoload_real.php';
+
+return ComposerAutoloaderInitAdminAudit::getLoader();

+ 13 - 0
apps/admin_audit/composer/composer.json

@@ -0,0 +1,13 @@
+{
+    "config" : {
+        "vendor-dir": ".",
+        "optimize-autoloader": true,
+        "authorative-autoloader": true,
+        "autoloader-suffix": "AdminAudit"
+    },
+    "autoload" : {
+        "psr-4": {
+            "OCA\\AdminAudit\\": "../lib/"
+        }
+    }
+}

+ 445 - 0
apps/admin_audit/composer/composer/ClassLoader.php

@@ -0,0 +1,445 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * 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 <fabien@symfony.com>
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ * @see    http://www.php-fig.org/psr/psr-0/
+ * @see    http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+    // 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;
+}

+ 21 - 0
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.
+

+ 20 - 0
apps/admin_audit/composer/composer/autoload_classmap.php

@@ -0,0 +1,20 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+    'OCA\\AdminAudit\\Actions\\Action' => $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',
+);

+ 9 - 0
apps/admin_audit/composer/composer/autoload_namespaces.php

@@ -0,0 +1,9 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+);

+ 10 - 0
apps/admin_audit/composer/composer/autoload_psr4.php

@@ -0,0 +1,10 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+    'OCA\\AdminAudit\\' => array($baseDir . '/../lib'),
+);

+ 52 - 0
apps/admin_audit/composer/composer/autoload_real.php

@@ -0,0 +1,52 @@
+<?php
+
+// autoload_real.php @generated by Composer
+
+class ComposerAutoloaderInitAdminAudit
+{
+    private static $loader;
+
+    public static function loadClassLoader($class)
+    {
+        if ('Composer\Autoload\ClassLoader' === $class) {
+            require __DIR__ . '/ClassLoader.php';
+        }
+    }
+
+    public static function getLoader()
+    {
+        if (null !== self::$loader) {
+            return self::$loader;
+        }
+
+        spl_autoload_register(array('ComposerAutoloaderInitAdminAudit', 'loadClassLoader'), true, true);
+        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+        spl_autoload_unregister(array('ComposerAutoloaderInitAdminAudit', 'loadClassLoader'));
+
+        $useStaticLoader = PHP_VERSION_ID >= 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;
+    }
+}

+ 46 - 0
apps/admin_audit/composer/composer/autoload_static.php

@@ -0,0 +1,46 @@
+<?php
+
+// autoload_static.php @generated by Composer
+
+namespace Composer\Autoload;
+
+class ComposerStaticInitAdminAudit
+{
+    public static $prefixLengthsPsr4 = array (
+        'O' => 
+        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);
+    }
+}

+ 7 - 0
apps/comments/composer/autoload.php

@@ -0,0 +1,7 @@
+<?php
+
+// autoload.php @generated by Composer
+
+require_once __DIR__ . '/composer/autoload_real.php';
+
+return ComposerAutoloaderInitComments::getLoader();

+ 13 - 0
apps/comments/composer/composer.json

@@ -0,0 +1,13 @@
+{
+    "config" : {
+        "vendor-dir": ".",
+        "optimize-autoloader": true,
+        "authorative-autoloader": true,
+        "autoloader-suffix": "Comments"
+    },
+    "autoload" : {
+        "psr-4": {
+            "OCA\\Comments\\": "../lib/"
+        }
+    }
+}

+ 445 - 0
apps/comments/composer/composer/ClassLoader.php

@@ -0,0 +1,445 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * 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 <fabien@symfony.com>
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ * @see    http://www.php-fig.org/psr/psr-0/
+ * @see    http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+    // 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;
+}

+ 21 - 0
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.
+

+ 18 - 0
apps/comments/composer/composer/autoload_classmap.php

@@ -0,0 +1,18 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+    'OCA\\Comments\\Activity\\Filter' => $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',
+);

+ 9 - 0
apps/comments/composer/composer/autoload_namespaces.php

@@ -0,0 +1,9 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+);

+ 10 - 0
apps/comments/composer/composer/autoload_psr4.php

@@ -0,0 +1,10 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+    'OCA\\Comments\\' => array($baseDir . '/../lib'),
+);

+ 52 - 0
apps/comments/composer/composer/autoload_real.php

@@ -0,0 +1,52 @@
+<?php
+
+// autoload_real.php @generated by Composer
+
+class ComposerAutoloaderInitComments
+{
+    private static $loader;
+
+    public static function loadClassLoader($class)
+    {
+        if ('Composer\Autoload\ClassLoader' === $class) {
+            require __DIR__ . '/ClassLoader.php';
+        }
+    }
+
+    public static function getLoader()
+    {
+        if (null !== self::$loader) {
+            return self::$loader;
+        }
+
+        spl_autoload_register(array('ComposerAutoloaderInitComments', 'loadClassLoader'), true, true);
+        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+        spl_autoload_unregister(array('ComposerAutoloaderInitComments', 'loadClassLoader'));
+
+        $useStaticLoader = PHP_VERSION_ID >= 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;
+    }
+}

+ 44 - 0
apps/comments/composer/composer/autoload_static.php

@@ -0,0 +1,44 @@
+<?php
+
+// autoload_static.php @generated by Composer
+
+namespace Composer\Autoload;
+
+class ComposerStaticInitComments
+{
+    public static $prefixLengthsPsr4 = array (
+        'O' => 
+        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);
+    }
+}

+ 0 - 2
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;
 }
 

+ 34 - 0
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}",
+    "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> 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);");

+ 32 - 0
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}",
+    "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> 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);"
+}

+ 6 - 0
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(),

+ 23 - 13
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));

+ 8 - 8
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));

+ 7 - 0
apps/dav/composer/autoload.php

@@ -0,0 +1,7 @@
+<?php
+
+// autoload.php @generated by Composer
+
+require_once __DIR__ . '/composer/autoload_real.php';
+
+return ComposerAutoloaderInitDAV::getLoader();

+ 13 - 0
apps/dav/composer/composer.json

@@ -0,0 +1,13 @@
+{
+    "config" : {
+        "vendor-dir": ".",
+        "optimize-autoloader": true,
+        "authorative-autoloader": true,
+        "autoloader-suffix": "DAV"
+    },
+    "autoload" : {
+        "psr-4": {
+            "OCA\\DAV\\": "../lib/"
+        }
+    }
+}

+ 445 - 0
apps/dav/composer/composer/ClassLoader.php

@@ -0,0 +1,445 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * 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 <fabien@symfony.com>
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ * @see    http://www.php-fig.org/psr/psr-0/
+ * @see    http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+    // 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;
+}

+ 21 - 0
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.
+

+ 145 - 0
apps/dav/composer/composer/autoload_classmap.php

@@ -0,0 +1,145 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+    'OCA\\DAV\\AppInfo\\Application' => $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',
+);

+ 9 - 0
apps/dav/composer/composer/autoload_namespaces.php

@@ -0,0 +1,9 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+);

+ 10 - 0
apps/dav/composer/composer/autoload_psr4.php

@@ -0,0 +1,10 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+    'OCA\\DAV\\' => array($baseDir . '/../lib'),
+);

+ 52 - 0
apps/dav/composer/composer/autoload_real.php

@@ -0,0 +1,52 @@
+<?php
+
+// autoload_real.php @generated by Composer
+
+class ComposerAutoloaderInitDAV
+{
+    private static $loader;
+
+    public static function loadClassLoader($class)
+    {
+        if ('Composer\Autoload\ClassLoader' === $class) {
+            require __DIR__ . '/ClassLoader.php';
+        }
+    }
+
+    public static function getLoader()
+    {
+        if (null !== self::$loader) {
+            return self::$loader;
+        }
+
+        spl_autoload_register(array('ComposerAutoloaderInitDAV', 'loadClassLoader'), true, true);
+        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+        spl_autoload_unregister(array('ComposerAutoloaderInitDAV', 'loadClassLoader'));
+
+        $useStaticLoader = PHP_VERSION_ID >= 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;
+    }
+}

+ 171 - 0
apps/dav/composer/composer/autoload_static.php

@@ -0,0 +1,171 @@
+<?php
+
+// autoload_static.php @generated by Composer
+
+namespace Composer\Autoload;
+
+class ComposerStaticInitDAV
+{
+    public static $prefixLengthsPsr4 = array (
+        'O' => 
+        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);
+    }
+}

+ 1 - 1
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 <strong>event</strong> was modified" : "Календарно <strong>събитие</strong> беше променено",
     "A calendar <strong>todo</strong> was modified" : "Календарна <strong>задача</strong> беше променена",
     "Contact birthdays" : "Рождени дни на контакти",
-    "Personal" : "Личен",
     "Contacts" : "Контакти",
     "Technical details" : "Технически детайли",
     "Remote Address: %s" : "Отдалечен адрес: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "Календарно <strong>събитие</strong> беше променено",
     "A calendar <strong>todo</strong> was modified" : "Календарна <strong>задача</strong> беше променена",
     "Contact birthdays" : "Рождени дни на контакти",
-    "Personal" : "Личен",
     "Contacts" : "Контакти",
     "Technical details" : "Технически детайли",
     "Remote Address: %s" : "Отдалечен адрес: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari",
     "A calendar <strong>todo</strong> was modified" : "<strong>Tot</strong> 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",

+ 1 - 1
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 <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari",
     "A calendar <strong>todo</strong> was modified" : "<strong>Tot</strong> 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",

+ 1 - 1
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 <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna",
     "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> 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",

+ 1 - 1
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 <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna",
     "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> 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",

+ 5 - 2
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 <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
     "A calendar <strong>todo</strong> was modified" : "En kalender  <strong>opgave</strong> 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);");

+ 5 - 2
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 <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
     "A calendar <strong>todo</strong> was modified" : "En kalender  <strong>opgave</strong> 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);"
 }

+ 2 - 2
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 <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet",
     "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> 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);");

+ 2 - 2
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 <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet",
     "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> 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);"
 }

+ 2 - 2
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 <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet",
     "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> 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);");

+ 2 - 2
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 <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet",
     "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> 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);"
 }

+ 1 - 1
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 <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
     "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε",
     "Contact birthdays" : "Γενέθλια επαφών",
-    "Personal" : "Προσωπικά",
     "Contacts" : "Επαφές",
     "Technical details" : "Τεχνικές λεπτομέρειες",
     "Remote Address: %s" : "Απομακρυσμένη Διεύθυνση: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
     "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε",
     "Contact birthdays" : "Γενέθλια επαφών",
-    "Personal" : "Προσωπικά",
     "Contacts" : "Επαφές",
     "Technical details" : "Τεχνικές λεπτομέρειες",
     "Remote Address: %s" : "Απομακρυσμένη Διεύθυνση: %s",

+ 5 - 2
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 <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified",
     "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> 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);");

+ 5 - 2
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 <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified",
     "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> 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);"
 }

+ 1 - 1
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 <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
     "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada",
     "Contact birthdays" : "Cumpleaños del contacto",
-    "Personal" : "Personal",
     "Contacts" : "Contactos",
     "Technical details" : "Detalles técnicos",
     "Remote Address: %s" : "Dirección remota: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
     "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada",
     "Contact birthdays" : "Cumpleaños del contacto",
-    "Personal" : "Personal",
     "Contacts" : "Contactos",
     "Technical details" : "Detalles técnicos",
     "Remote Address: %s" : "Dirección remota: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
     "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> 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",

+ 1 - 1
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 <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
     "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> 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",

+ 51 - 0
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 <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
+    "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
+    "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> 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);");

+ 49 - 0
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 <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
+    "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
+    "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> 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);"
+}

+ 2 - 3
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 <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
     "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> 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);");

+ 2 - 3
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 <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
     "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> 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);"
 }

+ 5 - 2
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 <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
     "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> 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);");

+ 5 - 2
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 <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
     "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> 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);"
 }

+ 3 - 2
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 <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié",
     "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> 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);");

+ 3 - 2
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 <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié",
     "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> 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);"
 }

+ 2 - 2
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 <strong>event</strong> was modified" : "Egy naptár <strong>esemény</strong> megváltozott",
     "A calendar <strong>todo</strong> was modified" : "Egy naptár <strong>teendő</strong> 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);");

+ 2 - 2
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 <strong>event</strong> was modified" : "Egy naptár <strong>esemény</strong> megváltozott",
     "A calendar <strong>todo</strong> was modified" : "Egy naptár <strong>teendő</strong> 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);"
 }

+ 5 - 2
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 <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt",
     "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> 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);");

+ 5 - 2
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 <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt",
     "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> 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);"
 }

+ 5 - 2
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 <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato",
     "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> 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);");

+ 5 - 2
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 <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato",
     "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> 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);"
 }

+ 1 - 1
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 <strong>event</strong> was modified" : "달력 <strong>행사</strong>가 수정됨",
     "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨",
     "Contact birthdays" : "연락처에 등록된 생일",
-    "Personal" : "개인",
     "Contacts" : "연락처",
     "Technical details" : "기술 정보",
     "Remote Address: %s" : "원격 주소: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "달력 <strong>행사</strong>가 수정됨",
     "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨",
     "Contact birthdays" : "연락처에 등록된 생일",
-    "Personal" : "개인",
     "Contacts" : "연락처",
     "Technical details" : "기술 정보",
     "Remote Address: %s" : "원격 주소: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo pakeistas",
     "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo pakeista",
     "Contact birthdays" : "Kontaktų gimtadieniai",
-    "Personal" : "Asmeniniai",
     "Contacts" : "Kontaktai",
     "Technical details" : "Techninė informacija",
     "Remote Address: %s" : "Nuotolinis adresas: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo pakeistas",
     "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo pakeista",
     "Contact birthdays" : "Kontaktų gimtadieniai",
-    "Personal" : "Asmeniniai",
     "Contacts" : "Kontaktai",
     "Technical details" : "Techninė informacija",
     "Remote Address: %s" : "Nuotolinis adresas: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
     "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret",
     "Contact birthdays" : "Kontakters fødelsdag",
-    "Personal" : "Personlig",
     "Contacts" : "Kontakter",
     "Technical details" : "Tekniske detaljer",
     "Remote Address: %s" : "Ekstern adresse: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
     "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret",
     "Contact birthdays" : "Kontakters fødelsdag",
-    "Personal" : "Personlig",
     "Contacts" : "Kontakter",
     "Technical details" : "Tekniske detaljer",
     "Remote Address: %s" : "Ekstern adresse: %s",

+ 4 - 2
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 <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast",
     "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> 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);");

+ 4 - 2
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 <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast",
     "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> 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);"
 }

+ 5 - 2
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 <strong>event</strong> was modified" : "<strong>Zdarzenie</strong> kalendarza zostało zmodyfikowane",
     "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> 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);");

+ 5 - 2
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 <strong>event</strong> was modified" : "<strong>Zdarzenie</strong> kalendarza zostało zmodyfikowane",
     "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> 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);"
 }

+ 2 - 2
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 <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado",
     "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> 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);");

+ 2 - 2
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 <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado",
     "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> 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);"
 }

+ 1 - 1
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 <strong>event</strong> was modified" : "Un <strong>eveniment</strong> din calendar a fost modificat",
     "A calendar <strong>todo</strong> was modified" : "O <strong>listă</strong> 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",

+ 1 - 1
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 <strong>event</strong> was modified" : "Un <strong>eveniment</strong> din calendar a fost modificat",
     "A calendar <strong>todo</strong> was modified" : "O <strong>listă</strong> 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",

+ 5 - 2
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 <strong>event</strong> was modified" : "<strong>Событие</strong> календаря была изменена",
     "A calendar <strong>todo</strong> was modified" : "<strong>Задача</strong> календаря была изменена",
     "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);");

+ 5 - 2
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 <strong>event</strong> was modified" : "<strong>Событие</strong> календаря была изменена",
     "A calendar <strong>todo</strong> was modified" : "<strong>Задача</strong> календаря была изменена",
     "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);"
 }

+ 5 - 2
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 <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená",
     "A calendar <strong>todo</strong> 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;");

+ 5 - 2
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 <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená",
     "A calendar <strong>todo</strong> 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;"
 }

+ 1 - 1
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 <strong>event</strong> was modified" : "Një <strong>event</strong> në kalendar u modifikua",
     "A calendar <strong>todo</strong> was modified" : "Një kalendar <strong>todo<strong> u modifikua",
     "Contact birthdays" : "Ditëlindjet e kontakteve",
-    "Personal" : "Personale",
     "Contacts" : "Kontaktet",
     "Technical details" : "Detaje teknike",
     "Remote Address: %s" : "Adresa remote: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "Një <strong>event</strong> në kalendar u modifikua",
     "A calendar <strong>todo</strong> was modified" : "Një kalendar <strong>todo<strong> u modifikua",
     "Contact birthdays" : "Ditëlindjet e kontakteve",
-    "Personal" : "Personale",
     "Contacts" : "Kontaktet",
     "Technical details" : "Detaje teknike",
     "Remote Address: %s" : "Adresa remote: %s",

+ 2 - 2
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 <strong>event</strong> was modified" : "<strong>Догађај</strong> из календара је измењен",
     "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен",
     "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);");

+ 2 - 2
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 <strong>event</strong> was modified" : "<strong>Догађај</strong> из календара је измењен",
     "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен",
     "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);"
 }

+ 1 - 1
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 <strong>event</strong> was modified" : "En kalender-<strong>händelse</strong> modifierades",
     "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
     "Contact birthdays" : "Födelsedagar",
-    "Personal" : "Privat",
     "Contacts" : "Kontakter",
     "Technical details" : "Tekniska detaljer",
     "Remote Address: %s" : "Extern adress: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "En kalender-<strong>händelse</strong> modifierades",
     "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
     "Contact birthdays" : "Födelsedagar",
-    "Personal" : "Privat",
     "Contacts" : "Kontakter",
     "Technical details" : "Tekniska detaljer",
     "Remote Address: %s" : "Extern adress: %s",

+ 2 - 2
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 <strong>event</strong> was modified" : "Bir takvim <strong>etkinliği</strong> düzenlendi",
     "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> 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);");

+ 2 - 2
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 <strong>event</strong> was modified" : "Bir takvim <strong>etkinliği</strong> düzenlendi",
     "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> 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);"
 }

+ 1 - 1
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 <strong>event</strong> was modified" : "日历中<strong>事件</strong>已经修改",
     "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改",
     "Contact birthdays" : "联系人生日",
-    "Personal" : "个人",
     "Contacts" : "联系人",
     "Technical details" : "技术细节",
     "Remote Address: %s" : "远程地址: %s",

+ 1 - 1
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 <strong>event</strong> was modified" : "日历中<strong>事件</strong>已经修改",
     "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改",
     "Contact birthdays" : "联系人生日",
-    "Personal" : "个人",
     "Contacts" : "联系人",
     "Technical details" : "技术细节",
     "Remote Address: %s" : "远程地址: %s",

+ 47 - 19
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'],
 						],

+ 26 - 2
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,

+ 55 - 5
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]),
 				];
 		}

+ 28 - 2
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]),
 				];
 		}

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