Page MenuHomec4science

PhabricatorConfigManagementGetWorkflow.php
No OneTemporary

File Metadata

Created
Thu, Feb 6, 23:10

PhabricatorConfigManagementGetWorkflow.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));
}
}

Event Timeline