Newer
Older
<?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']);
$bundles = $container->getParameter('kernel.bundles');
if(!isset($bundles['CLTissueBundle'])) {
// On a pas le CLTissueBundle => pas d'antivirus
$container->removeDefinition('irstea_file_upload.virus_scanner');
}
}
/**
* {@inheritdoc}
*/
public function prepend(ContainerBuilder $container)
{
$pluginDir = '%kernel.root_dir%/../../vendor/blueimp/jquery-file-upload';
Guillaume Perréal
committed
$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'
],
],
Guillaume Perréal
committed
'form_css' => [
'inputs' => [
"$pluginDir/css/jquery.fileupload.css",
"$pluginDir/css/jquery.fileupload-ui.css",
'@IrsteaFileUploadBundle/Resources/less/file_upload.less'
Guillaume Perréal
committed
],
],