<?php

namespace VisualM\FormBundle\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;

/**
 * This is the class that loads and manages your bundle configuration
 *
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
 */
class VisualMFormExtension extends Extension
{
    /**
     * {@inheritdoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);

        $container->setParameter('visualm.form.allow_subform_include', $config['allow_subform_include']);
        $container->setParameter('visualm.form.template.form', $config['form_html_template']);
        $container->setParameter('visualm.form.template.email', $config['email_html_template']);
        $container->setParameter('visualm.form.sender_address', $config['sender_address']);
        $container->setParameter('visualm.form.status_waarden', $config['status_waarden']);
        $container->setParameter('visualm.form.default_status', (count($config['status_waarden']) > 0) ? $config['status_waarden'][0] : null);

        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.yml');

        if ($config['enable_widget'] === false) {
            $container->removeDefinition('visualm.form.ckeditor_widget.form.provider');
        }

    }
}
