summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-08-05 01:09:15 -0700
committerThomas Müller <thomas.mueller@tmit.eu>2013-08-05 01:09:15 -0700
commitbf1a9dfae3c7203dd018153e2ab5d779d835e06c (patch)
treee34cda16ca504413203f6e97c5e2ec21081617aa
parentd1a39ab01ca071aa762c83b0e642c21996ff45e8 (diff)
parent010c4e0b833409e233b60c2a833485d2f1a34989 (diff)
downloadnextcloud-server-bf1a9dfae3c7203dd018153e2ab5d779d835e06c.tar.gz
nextcloud-server-bf1a9dfae3c7203dd018153e2ab5d779d835e06c.zip
Merge pull request #4285 from owncloud/scan-files-script-master
adding new cli script to rescan files
-rw-r--r--apps/files/console/scan.php31
-rw-r--r--console.php36
2 files changed, 67 insertions, 0 deletions
diff --git a/apps/files/console/scan.php b/apps/files/console/scan.php
new file mode 100644
index 00000000000..70183fc888a
--- /dev/null
+++ b/apps/files/console/scan.php
@@ -0,0 +1,31 @@
+<?php
+
+if (count($argv) !== 2) {
+ echo "Usage:" . PHP_EOL;
+ echo " files:scan <user_id>" . PHP_EOL;
+ echo " will rescan all files of the given user" . PHP_EOL;
+ echo " files:scan --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);
+}
diff --git a/console.php b/console.php
new file mode 100644
index 00000000000..538837a04b4
--- /dev/null
+++ b/console.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+$RUNTIME_NOAPPS = true;
+require_once 'lib/base.php';
+
+// Don't do anything if ownCloud has not been installed yet
+if (!OC_Config::getValue('installed', false)) {
+ echo "Console can only be used once ownCloud has been installed" . PHP_EOL;
+ exit(0);
+}
+
+if (!OC::$CLI) {
+ echo "This script can be run from the command line only" . PHP_EOL;
+ exit(0);
+}
+
+if ($argc < 1) {
+ echo "Usage:" . PHP_EOL;
+ echo " php console.php <command>" . PHP_EOL;
+ exit(0);
+}
+
+$command = $argv[1];
+array_shift($argv);
+
+if ($command === 'files:scan') {
+ require_once 'apps/files/console/scan.php';
+} else {
+ echo "Unknown command '$command'" . PHP_EOL;
+}