/**
* Find and replace
*
* @param $input
* @param $bundles
* @param $registerNamespaces
* @param $registerPrefixes
*/
private function findAndReplace($input, $bundles, $registerNamespaces, $registerPrefixes, $customConfig)
{
$twig_config = ('twig' === $input->getOption('template-engine')) ? $this->loadConfigFile('twig') : '';
$assetic_config = ($input->getOption('assetic')) ? $this->loadConfigFile('assetic') : '';
$assetic_dev_config = ($input->getOption('assetic')) ? $this->loadConfigFile('assetic_dev') : '';
$doctrine_config = ('doctrine' === $input->getOption('orm')) ? $this->loadConfigFile('doctrine') : '';
$doctrine_config = str_replace(
array('{{ app }}', '{{ namespace }}'),
array($input->getArgument('app'), $input->getArgument('vendor')),
$doctrine_config);
$propel_config = ('propel' === $input->getOption('orm')) ? $this->loadConfigFile('propel') : '';
$swift_config = ($input->getOption('swiftmailer')) ? $this->loadConfigFile('swiftmailer') : '';
$swift_autoload = ($input->getOption('swiftmailer')) ? $this->loadConfigFile('swiftmailer_autoload') : '';
$swift_test = ($input->getOption('swiftmailer')) ? $this->loadConfigFile('swiftmailer_test') : '';
$routing = ($input->getOption('controller')) ? $this->loadConfigFile('routing') : '';
$routing = str_replace(
array('{{ app }}', '{{ namespace }}'),
array($input->getArgument('app'), $input->getArgument('vendor')),
$routing);
$mandango_config = ('mandango' === $input->getOption('odm')) ? $this->loadConfigFile('mandango_config') : '';
$mandango_config_dev = ('mandango' === $input->getOption('odm')) ? $this->loadConfigFile('mandango_config_dev') : '';
Mustache::renderDir($input->getArgument('path'), array(
'namespace' => $input->getArgument('vendor'),
'appname' => $input->getArgument('app'),
'controller' => $input->getOption('controller'),
'secret' => Tool::generateSecret(),
'session_start' => $input->getOption('session-start') ? 'true' : 'false',
'session_name' => $input->getOption('session-name'),
'template_engine' => $input->getOption('template-engine'),
'routing' => $routing,
'bundles' => $bundles,
'registerNamespaces' => $registerNamespaces,
'registerPrefixes' => $registerPrefixes,
'twig' => $twig_config,
'assetic' => $assetic_config,
'assetic_dev' => $assetic_dev_config,
'doctrine' => $doctrine_config,
'propel' => $propel_config,
'swiftmailer' => $swift_config,
'swiftmailer_autoload' => $swift_autoload,
'swiftmailer_test' => $swift_test,
'custom' => $customConfig,
'mandango_config' => $mandango_config,
'mandango_config_dev' => $mandango_config_dev
));
}