diff options
author | Joas Schilling <coding@schilljs.com> | 2017-04-06 15:10:01 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-06 15:10:01 +0300 |
commit | e5f51f2ee6a998b707542769882f878c235b09be (patch) | |
tree | 66899ac8298eef1110354a7066b3a87011cdd4da | |
parent | 02a47150dba4b7920ea80f8f7c9d9d494546b364 (diff) | |
parent | d0a7e01baf7dcb2b4c400688e01a16078816cb76 (diff) |
Merge pull request #4237 from nextcloud/backport-3781-log-spam-with-external-storages
[stable11] Also add the root of external storages to the file id list
-rw-r--r-- | apps/workflowengine/lib/Check/FileSystemTags.php | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/apps/workflowengine/lib/Check/FileSystemTags.php b/apps/workflowengine/lib/Check/FileSystemTags.php index e9b5a945967..4a2b87fd53e 100644 --- a/apps/workflowengine/lib/Check/FileSystemTags.php +++ b/apps/workflowengine/lib/Check/FileSystemTags.php @@ -23,6 +23,7 @@ namespace OCA\WorkflowEngine\Check; use OCP\Files\Cache\ICache; +use OCP\Files\IHomeStorage; use OCP\Files\Storage\IStorage; use OCP\IL10N; use OCP\SystemTag\ISystemTagManager; @@ -108,7 +109,7 @@ class FileSystemTags implements ICheck { */ protected function getSystemTags() { $cache = $this->storage->getCache(); - $fileIds = $this->getFileIds($cache, $this->path); + $fileIds = $this->getFileIds($cache, $this->path, !$this->storage->instanceOfStorage(IHomeStorage::class)); $systemTags = []; foreach ($fileIds as $i => $fileId) { @@ -135,17 +136,19 @@ class FileSystemTags implements ICheck { * Get the file ids of the given path and its parents * @param ICache $cache * @param string $path + * @param bool $isExternalStorage * @return int[] */ - protected function getFileIds(ICache $cache, $path) { + protected function getFileIds(ICache $cache, $path, $isExternalStorage) { $cacheId = $cache->getNumericStorageId(); if (isset($this->fileIds[$cacheId][$path])) { return $this->fileIds[$cacheId][$path]; } - if ($path !== dirname($path)) { - $parentIds = $this->getFileIds($cache, dirname($path)); - } else { + $parentIds = []; + if ($path !== $this->dirname($path)) { + $parentIds = $this->getFileIds($cache, $this->dirname($path), $isExternalStorage); + } else if (!$isExternalStorage) { return []; } @@ -158,4 +161,9 @@ class FileSystemTags implements ICheck { return $parentIds; } + + protected function dirname($path) { + $dir = dirname($path); + return $dir === '.' ? '' : $dir; + } } |