<?php namespace Irstea\FileUploadBundle\DependencyInjection; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; use Symfony\Component\DependencyInjection\Loader; use Symfony\Component\HttpKernel\DependencyInjection\Extension; class IrsteaFileUploadExtension extends Extension implements PrependExtensionInterface { /** * {@inheritdoc} */ public function load(array $configs, ContainerBuilder $container) { $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $configs); $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('services.yml'); $container->setParameter('irstea_file_upload.max_chunk_size', $config['max_chunk_size']); } /** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { $pluginDir = '%kernel.root_dir%/../../vendor/blueimp/jquery-file-upload'; $container->prependExtensionConfig( 'assetic', [ 'assets' => [ 'form_js' => [ 'inputs' => [ "$pluginDir/js/jquery.fileupload.js", "$pluginDir/js/jquery.fileupload-process.js", "$pluginDir/js/jquery.fileupload-validate.js", "$pluginDir/js/jquery.fileupload-ui.js", '@IrsteaFileUploadBundle/Resources/js/widget/file_upload.js' ], ], 'form_css' => [ 'inputs' => [ "$pluginDir/css/jquery.fileupload.css", "$pluginDir/css/jquery.fileupload-ui.css", ], ], ], ] ); $container->prependExtensionConfig( 'twig', [ 'form' => [ 'resources' => [ 'IrsteaFileUploadBundle:Form:file_upload.html.twig', ], ], ] ); } }