diff --git a/apps/files/console/scan.php b/apps/files/console/scan.php new file mode 100644 index 0000000000..70183fc888 --- /dev/null +++ b/apps/files/console/scan.php @@ -0,0 +1,31 @@ +" . 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 0000000000..538837a04b --- /dev/null +++ b/console.php @@ -0,0 +1,36 @@ + + * 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 " . 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; +}