Fix handling table name during storage move

This commit is contained in:
Philipp Holzer 2019-03-01 18:07:08 +01:00
parent c079a35397
commit 16ff5af221
No known key found for this signature in database
GPG key ID: 517BE60E2CE5C8A5
2 changed files with 6 additions and 4 deletions

View file

@ -112,19 +112,21 @@ HELP;
protected function do_move()
{
$table = null;
$tables = null;
if (count($this->args) < 1 || count($this->args) > 2) {
throw new CommandArgsException('Invalid arguments');
}
if (count($this->args) == 2) {
$table = strtolower($this->args[1]);
if (!in_array($table, ['photo', 'attach'])) {
throw new CommandArgsException('Invalid table');
}
$tables = [$table];
}
$current = StorageManager::getBackend();
$r = StorageManager::move($current);
$r = StorageManager::move($current, $tables);
$this->out(sprintf('Moved %d files', $r));
}
}

View file

@ -110,8 +110,8 @@ class StorageManager
* Copy existing data to destination storage and delete from source.
* This method cannot move to legacy in-table `data` field.
*
* @param string $dest Destination storage class name
* @param array $tables Tables to look in for resources. Optional, defaults to ['photo', 'attach']
* @param string $dest Destination storage class name
* @param array|null $tables Tables to look in for resources. Optional, defaults to ['photo', 'attach']
*
* @throws \Exception
* @return int Number of moved resources