]> source.dussan.org Git - nextcloud-server.git/commitdiff
adding new cli script to rescan files
authorThomas Müller <thomas.mueller@tmit.eu>
Thu, 1 Aug 2013 20:49:43 +0000 (22:49 +0200)
committerThomas Müller <thomas.mueller@tmit.eu>
Thu, 1 Aug 2013 20:49:43 +0000 (22:49 +0200)
scanFiles.php [new file with mode: 0644]

diff --git a/scanFiles.php b/scanFiles.php
new file mode 100644 (file)
index 0000000..2144fce
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+
+require_once __DIR__ . '/lib/base.php';
+
+if (!OC::$CLI) {
+       echo "This script can be run from the command line only\n";
+       return;
+}
+if (count($argv) !== 2) {
+       echo "Usage:" . PHP_EOL;
+       echo " php scanFiles.php <user_id>" . PHP_EOL;
+       echo "  will rescan all files of the given user" . PHP_EOL;
+       echo " php scanFiles.php --all" . PHP_EOL;
+       echo "  will rescan all files of all known users" . PHP_EOL;
+       return;
+}
+
+function scanFiles($user) {
+       $scanner = new \OC\Files\Utils\Scanner($user);
+       $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function($path) {
+               echo "Scanning $path" . PHP_EOL;
+       });
+       $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', function($path) {
+               echo "Scanning $path" . PHP_EOL;
+       });
+       $scanner->scan('');
+}
+
+if ($argv[1] === '--all') {
+       $users = OC_User::getUsers();
+} else {
+       $users = array($argv[1]);
+}
+
+foreach ($users as $user) {
+       scanFiles($user);
+}