Beispiel #1
0
 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);
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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;
 }
Beispiel #5
0
 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;
 }
Beispiel #6
0
$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();