mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-19 20:10:55 +01:00
63 lines
1.5 KiB
PHP
63 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
final class PhabricatorConfigManagementGetWorkflow
|
||
|
extends PhabricatorConfigManagementWorkflow {
|
||
|
|
||
|
protected function didConstruct() {
|
||
|
$this
|
||
|
->setName('get')
|
||
|
->setExamples('**get** __key__')
|
||
|
->setSynopsis('Get a local configuration value.')
|
||
|
->setArguments(
|
||
|
array(
|
||
|
array(
|
||
|
'name' => 'args',
|
||
|
'wildcard' => true,
|
||
|
),
|
||
|
));
|
||
|
}
|
||
|
|
||
|
public function execute(PhutilArgumentParser $args) {
|
||
|
$console = PhutilConsole::getConsole();
|
||
|
|
||
|
$argv = $args->getArg('args');
|
||
|
if (count($argv) == 0) {
|
||
|
throw new PhutilArgumentUsageException(
|
||
|
"Specify a configuration key to get.");
|
||
|
}
|
||
|
|
||
|
$key = $argv[0];
|
||
|
|
||
|
if (count($argv) > 1) {
|
||
|
throw new PhutilArgumentUsageException(
|
||
|
"Too many arguments: expected one key.");
|
||
|
}
|
||
|
|
||
|
$options = PhabricatorApplicationConfigOptions::loadAllOptions();
|
||
|
if (empty($options[$key])) {
|
||
|
throw new PhutilArgumentUsageException(
|
||
|
"No such configuration key '{$key}'! Use `config list` to list all ".
|
||
|
"keys.");
|
||
|
}
|
||
|
|
||
|
$config = new PhabricatorConfigLocalSource();
|
||
|
$values = $config->getKeys(array($key));
|
||
|
|
||
|
$result = array();
|
||
|
foreach ($values as $key => $value) {
|
||
|
$result[] = array(
|
||
|
'key' => $key,
|
||
|
'source' => 'local',
|
||
|
'value' => $value,
|
||
|
);
|
||
|
}
|
||
|
$result = array(
|
||
|
'config' => $result,
|
||
|
);
|
||
|
|
||
|
$json = new PhutilJSON();
|
||
|
$console->writeOut($json->encodeFormatted($result));
|
||
|
}
|
||
|
|
||
|
}
|