Skip to content

Commit 20aea08

Browse files
committed
Merge pull request sonata-project#130 from dramentol/2.0
Update Provider/FileProvider.php
2 parents 37cc8ee + e420f16 commit 20aea08

File tree

3 files changed

+36
-26
lines changed

3 files changed

+36
-26
lines changed

DependencyInjection/Configuration.php

+34-24
Original file line numberDiff line numberDiff line change
@@ -187,21 +187,27 @@ private function addProvidersSection(ArrayNodeDefinition $node)
187187
->scalarNode('cdn')->defaultValue('sonata.media.cdn.server')->end()
188188
->scalarNode('generator')->defaultValue('sonata.media.generator.default')->end()
189189
->scalarNode('thumbnail')->defaultValue('sonata.media.thumbnail.format')->end()
190-
->scalarNode('allowed_extensions')->defaultValue(array(
191-
'pdf', 'txt', 'rtf',
192-
'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx',
193-
'odt', 'odg', 'odp', 'ods', 'odc', 'odf', 'odb',
194-
'csv',
195-
'xml',
196-
))->end()
197-
->scalarNode('allowed_mime_types')->defaultValue(array(
198-
'application/pdf', 'application/x-pdf', 'application/rtf', 'text/html', 'text/rtf', 'text/plain',
199-
'application/excel', 'application/msword', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint',
200-
'application/vnd.ms-powerpoint', 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.graphics', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.chart', 'application/vnd.oasis.opendocument.formula', 'application/vnd.oasis.opendocument.database', 'application/vnd.oasis.opendocument.image',
201-
'text/comma-separated-values',
202-
'text/xml',
203-
'application/zip', // seems to be used for xlsx document ...
204-
))->end()
190+
->arrayNode('allowed_extensions')
191+
->prototype('scalar')->end()
192+
->defaultValue(array(
193+
'pdf', 'txt', 'rtf',
194+
'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pttx',
195+
'odt', 'odg', 'odp', 'ods', 'odc', 'odf', 'odb',
196+
'csv',
197+
'xml',
198+
))
199+
->end()
200+
->arrayNode('allowed_mime_types')
201+
->prototype('scalar')->end()
202+
->defaultValue(array(
203+
'application/pdf', 'application/x-pdf', 'application/rtf', 'text/html', 'text/rtf', 'text/plain',
204+
'application/excel', 'application/msword', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint',
205+
'application/vnd.ms-powerpoint', 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.graphics', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.chart', 'application/vnd.oasis.opendocument.formula', 'application/vnd.oasis.opendocument.database', 'application/vnd.oasis.opendocument.image',
206+
'text/comma-separated-values',
207+
'text/xml',
208+
'application/zip', // seems to be used for xlsx document ...
209+
))
210+
->end()
205211
->end()
206212
->end()
207213

@@ -215,15 +221,19 @@ private function addProvidersSection(ArrayNodeDefinition $node)
215221
->scalarNode('generator')->defaultValue('sonata.media.generator.default')->end()
216222
->scalarNode('thumbnail')->defaultValue('sonata.media.thumbnail.format')->end()
217223
->scalarNode('adapter')->defaultValue('sonata.media.adapter.image.gd')->end()
218-
->scalarNode('allowed_extensions')->defaultValue(array(
219-
'jpg', 'png'
220-
))->end()
221-
->scalarNode('allowed_mime_types')->defaultValue(array(
222-
'image/pjpeg',
223-
'image/jpeg',
224-
'image/png',
225-
'image/x-png',
226-
))->end()
224+
->arrayNode('allowed_extensions')
225+
->prototype('scalar')->end()
226+
->defaultValue(array('jpg', 'png'))
227+
->end()
228+
->arrayNode('allowed_mime_types')
229+
->prototype('scalar')->end()
230+
->defaultValue(array(
231+
'image/pjpeg',
232+
'image/jpeg',
233+
'image/png',
234+
'image/x-png',
235+
))
236+
->end()
227237
->end()
228238
->end()
229239

DependencyInjection/SonataMediaExtension.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public function load(array $configs, ContainerBuilder $container)
118118
public function configureProviders(ContainerBuilder $container, $config)
119119
{
120120
$container->getDefinition('sonata.media.provider.image')
121-
->replaceArgument(5, $config['providers']['image']['allowed_extensions'])
121+
->replaceArgument(5, array_map('strtolower', $config['providers']['image']['allowed_extensions']))
122122
->replaceArgument(6, $config['providers']['image']['allowed_mime_types'])
123123
->replaceArgument(7, new Reference($config['providers']['image']['adapter']))
124124
;

Provider/FileProvider.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ public function validate(ErrorElement $errorElement, MediaInterface $media)
315315
$fileName = $media->getBinaryContent()->getFilename();
316316
}
317317

318-
if (!in_array(pathinfo($fileName, PATHINFO_EXTENSION), $this->allowedExtensions)) {
318+
if (!in_array(strtolower(pathinfo($fileName, PATHINFO_EXTENSION)), $this->allowedExtensions)) {
319319
$errorElement
320320
->with('binaryContent')
321321
->addViolation('Invalid extensions')

0 commit comments

Comments
 (0)