<?php
/**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
use Asika\SimpleConsole\CommandArgsException;
use Friendica\App;
-use Friendica\Core\Config\IConfig;
+use Friendica\Core\Config\Capability\IManageConfigValues;
use RuntimeException;
/**
*/
private $appMode;
/**
- * @var IConfig
+ * @var IManageConfigValues
*/
private $config;
return $help;
}
- public function __construct(App\Mode $appMode, IConfig $config, array $argv = null)
+ public function __construct(App\Mode $appMode, IManageConfigValues $config, array $argv = null)
{
parent::__construct($argv);
throw new RuntimeException("$cat.$key is an array and can't be set using this command.");
}
+ if ($this->config->get($cat, $key) === $value) {
+ throw new RuntimeException("$cat.$key already set to $value.");
+ }
+
$result = $this->config->set($cat, $key, $value);
if ($result) {
$this->out("{$cat}.{$key} <= " .
$this->out("{$cat}.{$key}[{$k}] => " . (is_array($v) ? implode(', ', $v) : $v));
}
} else {
- $this->out("{$cat}.{$key} => " . $value);
+ $this->out("{$cat}.{$key} => " . ($value ?? 'NULL'));
}
}