diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 2a8db4b..354c6df 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -20,11 +20,10 @@ class Configuration implements ConfigurationInterface /** * {@inheritdoc} */ - public function getConfigTreeBuilder() + public function getConfigTreeBuilder(): TreeBuilder { $tb = new TreeBuilder('sherlockode_advanced_form'); - // BC layer for symfony/config < 4.2 - $root = \method_exists($tb, 'getRootNode') ? $tb->getRootNode() : $tb->root('sherlockode_advanced_form'); + $root = $tb->getRootNode(); $this->addStorageSection($root); $this->addUploaderSection($root); diff --git a/DependencyInjection/SherlockodeAdvancedFormExtension.php b/DependencyInjection/SherlockodeAdvancedFormExtension.php index 0ce0411..e7c591c 100644 --- a/DependencyInjection/SherlockodeAdvancedFormExtension.php +++ b/DependencyInjection/SherlockodeAdvancedFormExtension.php @@ -7,7 +7,7 @@ use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; -use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; +use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\HttpKernel\DependencyInjection\Extension; @@ -76,12 +76,12 @@ private function getStorageDefinition($name, $config) */ private function loadServices(ContainerBuilder $container) { - $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); + $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $toBeLoaded = [ - 'command.yml', - 'controller.yml', - 'form.yml', - 'manager.yml', + 'command.xml', + 'controller.xml', + 'form.xml', + 'manager.xml', ]; foreach ($toBeLoaded as $file) { $loader->load($file); diff --git a/Form/DataTransformer/TemporaryUploadFileTransformer.php b/Form/DataTransformer/TemporaryUploadFileTransformer.php index 942a586..2dab7ec 100644 --- a/Form/DataTransformer/TemporaryUploadFileTransformer.php +++ b/Form/DataTransformer/TemporaryUploadFileTransformer.php @@ -65,7 +65,6 @@ public function reverseTransform($data) $data->getFilename(), null, null, - null, true ); } diff --git a/Form/Type/DependentEntityType.php b/Form/Type/DependentEntityType.php index 0724702..bd0e5e6 100644 --- a/Form/Type/DependentEntityType.php +++ b/Form/Type/DependentEntityType.php @@ -61,7 +61,7 @@ public function __construct( $this->router = $router; } - public function getParent() + public function getParent(): ?string { return EntityType::class; } diff --git a/Form/Type/FileCollectionType.php b/Form/Type/FileCollectionType.php index 80096fa..ef4e0f6 100644 --- a/Form/Type/FileCollectionType.php +++ b/Form/Type/FileCollectionType.php @@ -59,7 +59,7 @@ public function configureOptions(OptionsResolver $resolver) $resolver->setRequired('mapping'); } - public function getParent() + public function getParent(): ?string { return CollectionType::class; } diff --git a/Form/Type/FileType.php b/Form/Type/FileType.php index 5973b5e..1861960 100644 --- a/Form/Type/FileType.php +++ b/Form/Type/FileType.php @@ -168,7 +168,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) /** * {@inheritdoc} */ - public function getBlockPrefix() + public function getBlockPrefix(): string { return 'afb_file'; } diff --git a/Form/Type/RemoveFileType.php b/Form/Type/RemoveFileType.php index 01aed1c..00e2193 100644 --- a/Form/Type/RemoveFileType.php +++ b/Form/Type/RemoveFileType.php @@ -38,7 +38,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) /** * @return string */ - public function getBlockPrefix() + public function getBlockPrefix(): string { return 'afb_remove_file'; } diff --git a/Form/Type/TemporaryUploadedFileType.php b/Form/Type/TemporaryUploadedFileType.php index e2e6524..6c2545d 100644 --- a/Form/Type/TemporaryUploadedFileType.php +++ b/Form/Type/TemporaryUploadedFileType.php @@ -76,7 +76,7 @@ public function configureOptions(OptionsResolver $resolver) /** * @return string */ - public function getBlockPrefix() + public function getBlockPrefix(): string { return 'afb_temporary_uploaded_file'; } diff --git a/Form/Type/UploadFileType.php b/Form/Type/UploadFileType.php index 05f105f..7a7e853 100644 --- a/Form/Type/UploadFileType.php +++ b/Form/Type/UploadFileType.php @@ -115,7 +115,7 @@ public function configureOptions(OptionsResolver $optionsResolver) /** * @return string */ - public function getBlockPrefix() + public function getBlockPrefix(): string { return 'afb_upload_file'; } diff --git a/README.md b/README.md index b5549b1..96104f3 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Import the routing in `config/routes.yml` ```yaml sherlockode_advanced_form: - resource: "@SherlockodeAdvancedFormBundle/Resources/config/routing/all.yml" + resource: "@SherlockodeAdvancedFormBundle/Resources/config/routing/all.xml" ``` ### Step 4: Publish assets diff --git a/Resources/config/command.xml b/Resources/config/command.xml new file mode 100644 index 0000000..d2e6b77 --- /dev/null +++ b/Resources/config/command.xml @@ -0,0 +1,14 @@ + + + + + + + %sherlockode_afb.tmp_uploaded_file_class% + + + + diff --git a/Resources/config/command.yml b/Resources/config/command.yml deleted file mode 100644 index 7af3876..0000000 --- a/Resources/config/command.yml +++ /dev/null @@ -1,8 +0,0 @@ -services: - sherlockode_afb.command.remove_tmp_files: - class: Sherlockode\AdvancedFormBundle\Command\RemoveTemporaryFileCommand - arguments: - - '@doctrine.orm.entity_manager' - - '@sherlockode_afb.storage.tmp_storage' - - '%sherlockode_afb.tmp_uploaded_file_class%' - tags: ['console.command'] diff --git a/Resources/config/controller.xml b/Resources/config/controller.xml new file mode 100644 index 0000000..2cdef0b --- /dev/null +++ b/Resources/config/controller.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + %sherlockode_afb.tmp_uploaded_file_class% + + + + + + + + + + + + + + + diff --git a/Resources/config/controller.yml b/Resources/config/controller.yml deleted file mode 100644 index 51598cd..0000000 --- a/Resources/config/controller.yml +++ /dev/null @@ -1,24 +0,0 @@ -services: - sherlockode_afb.file_upload.controller: - class: Sherlockode\AdvancedFormBundle\Controller\FileUploadController - public: true - arguments: - - '@sherlockode_afb.upload_manager' - - '@sherlockode_afb.mapping_manager' - - '@doctrine.orm.entity_manager' - - '@event_dispatcher' - sherlockode_afb.file_upload.temporary_upload_controller: - class: Sherlockode\AdvancedFormBundle\Controller\TemporaryFileUploadController - public: true - arguments: - - '@sherlockode_afb.upload_manager' - - '%sherlockode_afb.tmp_uploaded_file_class%' - - '@sherlockode_afb.storage.tmp_storage' - - '@event_dispatcher' - - sherlockode_afb.dependent_entity.controller: - class: Sherlockode\AdvancedFormBundle\Controller\DependentEntityController - public: true - arguments: - - '@event_dispatcher' - - '@sherlockode_afb.dependent_entity.mapper_pool' diff --git a/Resources/config/form.xml b/Resources/config/form.xml new file mode 100644 index 0000000..981ea07 --- /dev/null +++ b/Resources/config/form.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + %sherlockode_afb.tmp_uploaded_file_dir% + + + + + + + + %sherlockode_afb.tmp_uploaded_file_class% + + + + + + + + + + + + + + + + diff --git a/Resources/config/form.yml b/Resources/config/form.yml deleted file mode 100644 index 15af2b9..0000000 --- a/Resources/config/form.yml +++ /dev/null @@ -1,38 +0,0 @@ -services: - sherlockode_afb.file.form_entity_type: - class: Sherlockode\AdvancedFormBundle\Form\Type\EntityMappingType - arguments: - - '@doctrine.orm.entity_manager' - - '@sherlockode_afb.mapping_manager' - tags: ['form.type'] - sherlockode_afb.file.form_type: - class: Sherlockode\AdvancedFormBundle\Form\Type\FileType - arguments: - - '@router' - - '@sherlockode_afb.upload_manager' - - '@sherlockode_afb.mapping_manager' - - '%sherlockode_afb.tmp_uploaded_file_dir%' - tags: ['form.type'] - sherlockode_afb.file.collection_type: - class: Sherlockode\AdvancedFormBundle\Form\Type\FileCollectionType - tags: ['form.type'] - sherlockode_afb.file.tmp_type: - class: Sherlockode\AdvancedFormBundle\Form\Type\TemporaryUploadedFileType - arguments: - - '@doctrine.orm.entity_manager' - - '%sherlockode_afb.tmp_uploaded_file_class%' - tags: ['form.type'] - sherlockode_afb.file.upload_type: - class: Sherlockode\AdvancedFormBundle\Form\Type\UploadFileType - arguments: - - '@sherlockode_afb.mapping_manager' - - '@translator' - tags: ['form.type'] - sherlockode_afb.form.dependent_entity_type: - class: Sherlockode\AdvancedFormBundle\Form\Type\DependentEntityType - arguments: - - '@doctrine.orm.entity_manager' - - '@translator' - - '@sherlockode_afb.dependent_entity.mapper_pool' - - '@router' - tags: ['form.type'] diff --git a/Resources/config/manager.xml b/Resources/config/manager.xml new file mode 100644 index 0000000..5ab69a1 --- /dev/null +++ b/Resources/config/manager.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + %sherlockode_afb.tmp_uploaded_file_class% + + + + %sherlockode_afb.uploader_mappings% + + + + %sherlockode_afb.tmp_uploaded_file_dir% + + + + + + + + + + + diff --git a/Resources/config/manager.yml b/Resources/config/manager.yml deleted file mode 100644 index ee74091..0000000 --- a/Resources/config/manager.yml +++ /dev/null @@ -1,45 +0,0 @@ -services: - sherlockode_afb.upload_handler.vich: - class: Sherlockode\AdvancedFormBundle\UploadHandler\VichUploadHandler - arguments: - - '@vich_uploader.upload_handler' - - '@annotation_reader' - tags: - - { name: 'sherlockode_afb.upload_handler', alias: vich } - - sherlockode_afb.upload_handler.property: - class: Sherlockode\AdvancedFormBundle\UploadHandler\PropertyUploadHandler - arguments: - - '@sherlockode_afb.mapping_manager' - - ~ - tags: - - { name: 'sherlockode_afb.upload_handler', alias: property } - - sherlockode_afb.upload_manager: - class: Sherlockode\AdvancedFormBundle\Manager\UploadManager - arguments: - - '@doctrine.orm.entity_manager' - - '@sherlockode_afb.storage.tmp_storage' - - '%sherlockode_afb.tmp_uploaded_file_class%' - - sherlockode_afb.mapping_manager: - class: Sherlockode\AdvancedFormBundle\Manager\MappingManager - calls: - - [setMappingData, ['%sherlockode_afb.uploader_mappings%']] - - sherlockode_afb.storage.tmp_storage: - class: Sherlockode\AdvancedFormBundle\Storage\FilesystemStorage - arguments: - - '%sherlockode_afb.tmp_uploaded_file_dir%' - - sherlockode_afb.twig_extension: - class: Sherlockode\AdvancedFormBundle\Twig\Extension\UploaderExtension - arguments: - - '@router' - - '@sherlockode_afb.mapping_manager' - - '@sherlockode_afb.upload_manager' - tags: - - { name: twig.extension } - - sherlockode_afb.dependent_entity.mapper_pool: - class: Sherlockode\AdvancedFormBundle\DependentEntity\DependentMapperPool diff --git a/Resources/config/routing/all.xml b/Resources/config/routing/all.xml new file mode 100644 index 0000000..69e1974 --- /dev/null +++ b/Resources/config/routing/all.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/Resources/config/routing/all.yml b/Resources/config/routing/all.yml deleted file mode 100644 index 5deb390..0000000 --- a/Resources/config/routing/all.yml +++ /dev/null @@ -1,4 +0,0 @@ -sherlockode_afb.dependent_entity: - resource: './dependent_entity.yml' -sherlockode_afb.file_upload: - resource: './upload.yml' diff --git a/Resources/config/routing/dependent_entity.xml b/Resources/config/routing/dependent_entity.xml new file mode 100644 index 0000000..a4b2036 --- /dev/null +++ b/Resources/config/routing/dependent_entity.xml @@ -0,0 +1,9 @@ + + + + sherlockode_afb.dependent_entity.controller:getDependentResultsAction + + diff --git a/Resources/config/routing/dependent_entity.yml b/Resources/config/routing/dependent_entity.yml deleted file mode 100644 index 2819cd5..0000000 --- a/Resources/config/routing/dependent_entity.yml +++ /dev/null @@ -1,3 +0,0 @@ -sherlockode_afb_dependent_results: - path: /sherlockodeadvancedform/dependent-result - defaults: { _controller: sherlockode_afb.dependent_entity.controller:getDependentResultsAction } diff --git a/Resources/config/routing/upload.xml b/Resources/config/routing/upload.xml new file mode 100644 index 0000000..cc99e23 --- /dev/null +++ b/Resources/config/routing/upload.xml @@ -0,0 +1,21 @@ + + + + sherlockode_afb.file_upload.controller:uploadFileAction + + + sherlockode_afb.file_upload.controller:removeFileAction + + + sherlockode_afb.file_upload.temporary_upload_controller:uploadTmpAction + + + sherlockode_afb.file_upload.temporary_upload_controller:removeTmpFileAction + + + sherlockode_afb.file_upload.temporary_upload_controller:viewUploadedFileAction + + diff --git a/Resources/config/routing/upload.yml b/Resources/config/routing/upload.yml deleted file mode 100644 index 5250e14..0000000 --- a/Resources/config/routing/upload.yml +++ /dev/null @@ -1,19 +0,0 @@ -sherlockode_afb_upload: - path: /sherlockodeadvancedform/upload - defaults: { _controller: sherlockode_afb.file_upload.controller:uploadFileAction } - -sherlockode_afb_remove: - path: /sherlockodeadvancedform/remove - defaults: { _controller: sherlockode_afb.file_upload.controller:removeFileAction } - -sherlockode_afb_upload_tmp: - path: /sherlockodeadvancedform/upload_tmp - defaults: { _controller: sherlockode_afb.file_upload.temporary_upload_controller:uploadTmpAction } - -sherlockode_afb_remove_tmp: - path: /sherlockodeadvancedform/remove_tmp - defaults: { _controller: sherlockode_afb.file_upload.temporary_upload_controller:removeTmpFileAction } - -sherlockode_afb_preview: - path: /sherlockodeadvancedform/uploaded/{token} - defaults: { _controller: sherlockode_afb.file_upload.temporary_upload_controller:viewUploadedFileAction } diff --git a/composer.json b/composer.json index f68c6d5..01e43b6 100644 --- a/composer.json +++ b/composer.json @@ -10,8 +10,8 @@ } ], "require": { - "php": "^7.1", - "symfony/framework-bundle": "^3.4|^4.0|^5.0", + "php": "^7.4|^8.0", + "symfony/framework-bundle": "^4.4|^5.0", "twig/twig": "^2.0|^3.0" }, "suggest": {