summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorC. Montero Luque <cmonteroluque@users.noreply.github.com>2016-04-26 14:50:02 -0400
committerC. Montero Luque <cmonteroluque@users.noreply.github.com>2016-04-26 14:50:02 -0400
commit4f5c03e3103ba70541db1176ac57f77f89a89ad6 (patch)
treea0bf6a6ce15389eb8bf8e1845fde0c781d2cf6f8 /lib
parent36bba775750182c65d7590f3a728343d930c3c9f (diff)
parent1397d9a93c0b86f412688825871cbbe8b841f9b5 (diff)
downloadnextcloud-server-4f5c03e3103ba70541db1176ac57f77f89a89ad6.tar.gz
nextcloud-server-4f5c03e3103ba70541db1176ac57f77f89a89ad6.zip
Merge pull request #24261 from owncloud/scanner-propagate-9
[9.0] triger the propagator from the command line scanner
Diffstat (limited to 'lib')
-rw-r--r--lib/private/files/utils/scanner.php16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/private/files/utils/scanner.php b/lib/private/files/utils/scanner.php
index 06526583899..b013cbecabc 100644
--- a/lib/private/files/utils/scanner.php
+++ b/lib/private/files/utils/scanner.php
@@ -29,6 +29,7 @@ use OC\Files\Filesystem;
use OC\ForbiddenException;
use OC\Hooks\PublicEmitter;
use OC\Lock\DBLockingProvider;
+use OCP\Files\Storage\IStorage;
use OCP\Files\StorageNotAvailableException;
use OCP\ILogger;
@@ -153,6 +154,17 @@ class Scanner extends PublicEmitter {
$scanner->setUseTransactions(false);
$this->attachListener($mount);
$isDbLocking = \OC::$server->getLockingProvider() instanceof DBLockingProvider;
+
+ $scanner->listen('\OC\Files\Cache\Scanner', 'removeFromCache', function ($path) use ($storage) {
+ $this->triggerPropagator($storage, $path);
+ });
+ $scanner->listen('\OC\Files\Cache\Scanner', 'updateCache', function ($path) use ($storage) {
+ $this->triggerPropagator($storage, $path);
+ });
+ $scanner->listen('\OC\Files\Cache\Scanner', 'addToCache', function ($path) use ($storage) {
+ $this->triggerPropagator($storage, $path);
+ });
+
if (!$isDbLocking) {
$this->db->beginTransaction();
}
@@ -168,5 +180,9 @@ class Scanner extends PublicEmitter {
}
}
}
+
+ private function triggerPropagator(IStorage $storage, $internalPath) {
+ $storage->getPropagator()->propagateChange($internalPath, time());
+ }
}