Newer
Older
parameters:
irstea_file_upload.entity: Irstea\FileUploadBundle\Entity\UploadedFile
irstea_file_upload.upload_controller.class: Irstea\FileUploadBundle\Controller\UploadController
irstea_file_upload.entity_listener.class: Irstea\FileUploadBundle\Listener\UploadedFileListener
irstea_file_upload.field_type.class: Irstea\FileUploadBundle\Form\Type\FileUploadType
irstea_file_upload.filesystem.name: irstea_file_upload
irstea_file_upload.max_chunk_size: 0
services:
# Le gestionnaire de fichiers
irstea_file_upload.file_manager:
class: Irstea\FileUploadBundle\Model\FileManagerInterface
factory: [ @doctrine.orm.entity_manager, getRepository ]
arguments:
- %irstea_file_upload.entity%
calls:
- [ setFilesystem, [ @irstea_file_upload.filesystem ] ]
- [ setLogger, [ @logger ] ]
- [ setEventDispatcher, [ @event_dispatcher ] ]
tags:
- { name: monolog.logger, channel: irstea_file_upload }
# Le contrôleur qui gère les uploads
irstea_file_upload.upload_controller:
class: %irstea_file_upload.upload_controller.class%
arguments:
- @irstea_file_upload.file_manager
- @router
- @form.csrf_provider
- @security.token_storage
# Type de champ
irstea_file_upload.field_type:
class: %irstea_file_upload.field_type.class%
arguments:
- @router
- @irstea_file_upload.file_manager
- %irstea_file_upload.max_chunk_size%
tags:
- { name: form.type, alias: file_upload }
# Le listener
irstea_file_upload.entity_listener:
class: %irstea_file_upload.entity_listener.class%
arguments:
- @irstea_file_upload.filesystem
tags:
- { name: doctrine.orm.entity_listener }
# Le backend de stockage des fichiers
irstea_file_upload.filesystem:
class: Gaufrette\Filesystem
factory: [ @knp_gaufrette.filesystem_map, get ]
arguments:
- %irstea_file_upload.filesystem.name%
# Scanner anti-virus
irstea_file_upload.virus_scanner:
class: Irstea\FileUploadBundle\Listener\VirusScannerListener
arguments:
- @cl_tissue.scanner
tags:
- { name: kernel.event_listener, event: file_upload.complete, method: onFileUploadCompleted }
Guillaume Perréal
committed
# Extension Twig
irstea_file_upload.twig_extension:
class: Irstea\FileUploadBundle\Twig\FileUploadExtension
arguments:
- @translator
Guillaume Perréal
committed
- @irstea_file_upload.url_generator
Guillaume Perréal
committed
tags:
- { name: twig.extension }
Guillaume Perréal
committed
# Générateur d'URL
irstea_file_upload.url_generator:
class: Irstea\FileUploadBundle\Service\FileUrlGenerator
arguments:
- @router
- @security.csrf.token_manager