1
0
Fork 0

Fix config listing

pull/1328/head
Jordi Boggiano 2012-11-13 12:30:17 +01:00
parent 75da832cd3
commit ef68125b3b
1 changed files with 9 additions and 4 deletions

View File

@ -267,25 +267,30 @@ EOT
*/ */
protected function listConfiguration(array $contents, OutputInterface $output, $k = null) protected function listConfiguration(array $contents, OutputInterface $output, $k = null)
{ {
$origK = $k;
foreach ($contents as $key => $value) { foreach ($contents as $key => $value) {
if ($k === null && !in_array($key, array('config', 'repositories'))) { if ($k === null && !in_array($key, array('config', 'repositories'))) {
continue; continue;
} }
if (is_array($value)) { if (is_array($value) && !is_numeric(key($value))) {
$k .= preg_replace('{^config\.}', '', $key . '.'); $k .= preg_replace('{^config\.}', '', $key . '.');
$this->listConfiguration($value, $output, $k); $this->listConfiguration($value, $output, $k);
if (substr_count($k,'.') > 1) { if (substr_count($k, '.') > 1) {
$k = str_split($k,strrpos($k,'.',-2)); $k = str_split($k, strrpos($k, '.', -2));
$k = $k[0] . '.'; $k = $k[0] . '.';
} else { } else {
$k = null; $k = $origK;
} }
continue; continue;
} }
if (is_array($value)) {
$value = '['.implode(', ', $value).']';
}
$output->writeln('[<comment>' . $k . $key . '</comment>] <info>' . $value . '</info>'); $output->writeln('[<comment>' . $k . $key . '</comment>] <info>' . $value . '</info>');
} }
} }