protected function execute(array $arguments = array(), array $options = array()) { $message = $this->formatLine('Project configuration', nbLogger::COMMENT); $message .= "\n"; if (isset($options['filter'])) { $params = nbConfig::get($options['filter']); $params = nbArrayUtils::getAssociative($params); $message .= $this->formatLine('Filter is: <info>' . $options['filter'] . '</info> ', nbLogger::COMMENT); $message .= "\n"; } else { $params = nbConfig::getAll(true); } ksort($params); $max = 0; foreach ($params as $param => $value) { if ($max < strlen($param)) { $max = strlen($param); } } foreach ($params as $param => $value) { $message .= $this->format(sprintf(" %-{$max}s", $param), nbLogger::INFO); $message .= sprintf(" => %s\n", $this->format($value, nbLogger::COMMENT)); } $this->log($message); }
public function replaceTokens($config, $prefix, $parentPath = '') { $replaceTokens = false; foreach (nbArrayUtils::getAssociative($config) as $path => $value) { if (is_array($value)) { if (!nbArrayUtils::isAssociative($value)) { //echo 'Checking non associative path: ' . $path . "\n"; if ($this->replaceTokens($value, $prefix, $path . '_')) { $replaceTokens = true; } } else { //echo 'Checking associative path: ' . $path . "\n"; foreach ($value as $i => $v) { //echo $v. "\n"; if ($this->replaceTokens($v, $prefix, $path . '_' . $i . '_')) { $replaceTokens = true; } } } } else { $tokenizer = new ConfigTokenReplacer($this, $prefix); $replaced = preg_replace_callback('/%([^%]+)%/', array(&$tokenizer, 'replaceTokens'), $value); if ($replaced != $value) { $this->set($parentPath . $path, $replaced); $replaceTokens = true; } } } return $replaceTokens; }
<?php require_once dirname(__FILE__) . '/../../../bootstrap/unit.php'; $t = new lime_test(8); $t->comment('nbArrayUtils - Test getAssociative'); $key1 = array('foo' => 'fooValue'); $t->is(nbArrayUtils::getAssociative($key1), $key1, 'nbArrayUtils::getAssociative() returns an associative array of all config keys'); $key1 = array('foo' => array('bar', 'baz')); $t->is(nbArrayUtils::getAssociative($key1), $key1, 'nbArrayUtils::getAssociative() returns an associative array of all config keys'); $key1 = array('foo' => array('bar' => 'baz')); $result = array('foo_bar' => 'baz'); $t->is(nbArrayUtils::getAssociative($key1), $result, 'nbArrayUtils::getAssociative() returns an associative array of all config keys'); $key1 = array('foo' => array('bar' => array('baz' => 'baq'))); $result = array('foo_bar_baz' => 'baq'); $t->is(nbArrayUtils::getAssociative($key1), $result, 'nbArrayUtils::getAssociative() returns an associative array of all config keys'); $key1 = array('foo' => 'fooValue', 'bar' => 'barValue'); $t->is(nbArrayUtils::getAssociative($key1), $key1, 'nbArrayUtils::getAssociative() returns an associative array of all config keys'); $key1 = array('foo' => 'fooValue', 'bar' => array('barValue1', 'barValue2')); $t->is(nbArrayUtils::getAssociative($key1), $key1, 'nbArrayUtils::getAssociative() returns an associative array of all config keys'); $key1 = array('foo' => 'fooValue', 'bar' => array('bar1' => 'barValue1', 'bar2' => 'barValue2')); $result = array('foo' => 'fooValue', 'bar_bar1' => 'barValue1', 'bar_bar2' => 'barValue2'); $t->is(nbArrayUtils::getAssociative($key1), $result, 'nbArrayUtils::getAssociative() returns an associative array of all config keys'); $key1 = array('foo' => 'fooValue', 'bar' => array('bar1' => 'barValue1', 'bar2' => 'barValue2'), 'baz' => array('baz1' => array('subbaz' => array('a', 'b', 'c')))); $result = array('foo' => 'fooValue', 'bar_bar1' => 'barValue1', 'bar_bar2' => 'barValue2', 'baz_baz1_subbaz' => array('a', 'b', 'c')); $t->is(nbArrayUtils::getAssociative($key1), $result, 'nbArrayUtils::getAssociative() returns an associative array of all config keys');