processConfiguration($configuration, $configs); } catch (InvalidConfigurationException $e) { trigger_error('Found invalid "kimai" configuration: ' . $e->getMessage()); $config = []; } $this->createInvoiceParameter($config, $container); } /** * @param array $config * @param ContainerBuilder $container */ private function createInvoiceParameter(array $config, ContainerBuilder $container) { $keys = ['renderer', 'calculator', 'number_generator']; foreach ($keys as $key) { if (!isset($config['invoice'][$key]) || 0 === count($config['invoice'][$key])) { throw new InvalidDefinitionException('Missing invoice configuration: kimai.invoice.' . $key); } $container->setParameter('kimai.invoice.' . $key, $config['invoice'][$key]); } $container->setParameter('kimai.invoice', $config['invoice']); $container->setParameter('kimai.timesheet.rates', $config['timesheet']['rates']); $container->setParameter('kimai.timesheet.rounding', $config['timesheet']['rounding']); } /** * {@inheritdoc} */ public function getAlias() { return 'kimai'; } }