Completed
Push — master ( c5041c...dff1db )
by
unknown
27:23
created

ImageProvider   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 69
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 34.62%

Importance

Changes 0
Metric Value
wmc 9
lcom 0
cbo 3
dl 0
loc 69
ccs 9
cts 26
cp 0.3462
rs 10
c 0
b 0
f 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A buildProviderCreateForm() 0 4 1
A getIcon() 0 4 1
A getName() 0 4 1
A getType() 0 4 1
A buildProviderEditFormBefore() 0 4 1
A buildEditForm() 0 6 1
A update() 0 12 3
1
<?php
2
3
namespace MediaMonks\SonataMediaBundle\Provider;
4
5
use MediaMonks\SonataMediaBundle\Model\AbstractMedia;
6
use Sonata\AdminBundle\Form\FormMapper;
7
8
class ImageProvider extends AbstractProvider implements ProviderInterface, DownloadableProviderInterface
9
{
10
    /**
11
     * @param FormMapper $formMapper
12
     */
13 1
    public function buildProviderCreateForm(FormMapper $formMapper)
14
    {
15 1
        $this->addRequiredImageField($formMapper, 'binaryContent', 'image');
16 1
    }
17
18
    /**
19
     * @param FormMapper $formMapper
20
     */
21
    public function buildProviderEditFormBefore(FormMapper $formMapper)
22
    {
23
        $this->addImageField($formMapper, 'binaryContent', 'image');
24
    }
25
26
    /**
27
     * @param FormMapper $formMapper
28
     */
29
    public function buildEditForm(FormMapper $formMapper)
30
    {
31
        parent::buildEditForm($formMapper);
32
33
        $formMapper->remove('imageContent');
34
    }
35
36
    /**
37
     * @param AbstractMedia $media
38
     * @param bool $providerReferenceUpdated
39
     */
40
    public function update(AbstractMedia $media, $providerReferenceUpdated)
41
    {
42
        if (!is_null($media->getBinaryContent())) {
43
            $media->setImage(null);
44
            $filename = $this->handleFileUpload($media, true);
45
            if (!empty($filename)) {
46
                $media->setProviderReference($filename);
47
            }
48
        }
49
50
        parent::update($media, $providerReferenceUpdated);
51
    }
52
53
    /**
54
     * @return string
55
     */
56 1
    public function getIcon()
57
    {
58 1
        return 'fa fa-photo';
59
    }
60
61
    /**
62
     * @return string
63
     */
64 3
    public function getName()
65
    {
66 3
        return 'image';
67
    }
68
69
    /**
70
     * @return string
71
     */
72 1
    public function getType()
73
    {
74 1
        return AbstractProvider::TYPE_IMAGE;
75
    }
76
}
77