diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-08-05 01:09:15 -0700 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-08-05 01:09:15 -0700 |
commit | bf1a9dfae3c7203dd018153e2ab5d779d835e06c (patch) | |
tree | e34cda16ca504413203f6e97c5e2ec21081617aa | |
parent | d1a39ab01ca071aa762c83b0e642c21996ff45e8 (diff) | |
parent | 010c4e0b833409e233b60c2a833485d2f1a34989 (diff) | |
download | nextcloud-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.php | 31 | ||||
-rw-r--r-- | console.php | 36 |
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; +} |