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 checkConfigFile($templateFile, $configFile, $addGlobalConfiguration = false) { if (!file_exists($configFile)) { throw new Exception(sprintf('Filename %s does not exist', $configFile)); } $configuration = new nbConfiguration(); if ($addGlobalConfiguration) { $configuration->add(nbConfig::getAll()); } $configuration->add(sfYaml::load($configFile), '', true); return $this->check($templateFile, $configuration); }
protected function execute(array $arguments = array(), array $options = array()) { $listFile = $arguments['list-file']; $doit = isset($options['doit']); $configuration = new nbConfiguration(); $configuration->add(nbConfig::getAll()); $configuration->add(sfYaml::load($listFile), '', true); foreach ($configuration->get('filesystem_multi-change-mode') as $item) { $directory = $item['directory']; $dirMode = $item['dir-mode']; $fileMode = $item['file-mode']; $this->logLine(sprintf('Changing directory mode in %s for %s', $dirMode, $directory)); $command = sprintf('find %s -type d -exec chmod %s {} \\;', $directory, $dirMode); $this->executeShellCommand($command, $doit); $this->logLine(sprintf('Changing file mode in %s for files in %s', $fileMode, $directory)); $command = sprintf('find %s -type f -exec chmod %s {} \\;', $directory, $fileMode); $this->executeShellCommand($command, $doit); } $this->logLine('Mode changed successfully!'); return true; }
protected function execute(array $arguments = array(), array $options = array()) { $filename = isset($options['filename']) ? $options['filename'] : null; $printer = new nbConfigurationPrinter(); $printer->addConfiguration(nbConfig::getAll()); if ($filename) { $this->logLine(sprintf('bee configuration (file: %s)', $filename), nbLogger::COMMENT); $printer->addConfigurationFile($filename); } else { $dirs = array('./', nbConfig::get('nb_config_dir')); $this->logLine(sprintf('bee configuration (dirs: %s)', implode(', ', $dirs)), nbLogger::COMMENT); $finder = nbFileFinder::create('file')->add('*.yml')->maxdepth(0); foreach ($dirs as $dir) { $files = $finder->in($dir); foreach ($files as $file) { $this->logLine('Adding ' . $file, nbLogger::COMMENT); $printer->addConfigurationFile($file); } } } $this->logLine($printer->printAll()); return true; }
public function checkConfiguration($configDir, $configFilename) { $configFile = $this->parser->checkDefaultConfigurationDirs($configFilename); if (!file_exists($configFile)) { throw new InvalidArgumentException(sprintf('Config file "%s" does not exist', $configFilename)); } // Check configuration $checker = new nbConfigurationChecker(array('logger' => $this->getLogger(), 'verbose' => $this->isVerbose())); $configuration = new nbConfiguration(); $configuration->add(nbConfig::getAll()); $configuration->add(sfYaml::load($configFile), '', true); try { $checker->check($configDir . '/' . $this->getTemplateConfigFilename(), $configuration); } catch (Exception $e) { $this->logLine('Configuration file doesn\'t match the template', nbLogger::ERROR); $printer = new nbConfigurationPrinter(); $printer->addConfiguration($configuration->getAll()); // $printer->addConfigurationFile($configFile); $printer->addConfigurationErrors($checker->getErrors()); $this->logLine($printer->printAll()); throw $e; } return $configFile; }
$key1 = array('foo' => 'fooValue'); $key2 = array('bar' => 'barValue'); nbConfig::add($key1); nbConfig::add($key2); $t->is(nbConfig::getAll(), array('foo' => 'fooValue', 'bar' => 'barValue'), 'nbConfig::add() old and new values'); $key2 = array('bar' => 'barVal', 'bar2' => 'barValue2'); nbConfig::add($key2); $t->is(nbConfig::getAll(), array('foo' => 'fooValue', 'bar' => 'barVal', 'bar2' => 'barValue2'), 'nbConfig::add() old and new values'); $key1 = array('foo' => 'fooVal', 'foo2' => 'fooValue2'); nbConfig::add($key1); $t->is(nbConfig::getAll(), array('foo' => 'fooVal', 'foo2' => 'fooValue2', 'bar' => 'barVal', 'bar2' => 'barValue2'), 'nbConfig::add() old and new values'); $key2 = array('foo2' => 'fooVal2', 'bar' => 'barVal', 'bar2' => 'barValue2'); nbConfig::add($key2); $t->is(nbConfig::getAll(), array('foo' => 'fooVal', 'foo2' => 'fooVal2', 'bar' => 'barVal', 'bar2' => 'barValue2'), 'nbConfig::add() old and new values'); nbConfig::reset(); $key1 = array('foo' => 'fooValue'); $key2 = array('bar' => 'barValue'); $result = array('myprefix' => array('foo' => 'fooValue', 'bar' => 'barValue')); nbConfig::add($key1, 'myprefix'); nbConfig::add($key2, 'myprefix'); $t->is(nbConfig::get('myprefix_foo'), 'fooValue', 'nbConfig::add() can set a prefix for 1st level keys'); $t->is(nbConfig::getAll(), $result, 'nbConfig::add() can set a prefix for 1st level keys'); nbConfig::reset(); $t->comment('nbConfigTest - Test add with replace tokens'); $key1 = array('foo' => 'bar'); $key2 = array('baz' => '%foo%'); nbConfig::add($key1, ''); nbConfig::add($key2, '', true); $t->is(nbConfig::get('baz'), nbConfig::get('foo'), '::add() can replace tokens'); $t->is(nbConfig::get('baz'), 'bar', '::add() can replace tokens'); nbConfig::reset();