X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FConsole%2FMaintenance.php;h=076b89db828279fc8bc7d0b7c97370b5af777747;hb=4e674d98eb1396f252988e3bde827e850b8a9239;hp=dd20a727edb4618fab3e1d590f1dd312797abcd9;hpb=cb80108957f16011b5b7b1b8961da8cbd78d60c9;p=friendica.git diff --git a/src/Console/Maintenance.php b/src/Console/Maintenance.php index dd20a727ed..076b89db82 100644 --- a/src/Console/Maintenance.php +++ b/src/Console/Maintenance.php @@ -1,14 +1,31 @@ . + * + */ namespace Friendica\Console; use Friendica\App; -use Friendica\Core\Config\IConfig; +use Friendica\Core\Config\Capability\IManageConfigValues; /** * Sets maintenance mode for this node - * - * @author Hypolite Petovan */ class Maintenance extends \Asika\SimpleConsole\Console { @@ -19,7 +36,7 @@ class Maintenance extends \Asika\SimpleConsole\Console */ private $appMode; /** - * @var IConfig + * @var IManageConfigValues */ private $config; @@ -52,7 +69,7 @@ HELP; return $help; } - public function __construct(App\Mode $appMode, IConfig $config, $argv = null) + public function __construct(App\Mode $appMode, IManageConfigValues $config, $argv = null) { parent::__construct($argv); @@ -60,7 +77,7 @@ HELP; $this->config = $config; } - protected function doExecute() + protected function doExecute(): int { if ($this->getOption('v')) { $this->out('Class: ' . __CLASS__); @@ -83,16 +100,20 @@ HELP; $enabled = intval($this->getArgument(0)); - $this->config->set('system', 'maintenance', $enabled); + $transactionConfig = $this->config->beginTransaction(); + + $transactionConfig->set('system', 'maintenance', $enabled); $reason = $this->getArgument(1); if ($enabled && $this->getArgument(1)) { - $this->config->set('system', 'maintenance_reason', $this->getArgument(1)); + $transactionConfig->set('system', 'maintenance_reason', $this->getArgument(1)); } else { - $this->config->set('system', 'maintenance_reason', ''); + $transactionConfig->delete('system', 'maintenance_reason'); } + $transactionConfig->commit(); + if ($enabled) { $mode_str = "maintenance mode"; } else {