Completed
Push — master ( e48220...15f13c )
by
unknown
07:36
created

ImageProvider::supportsDownload()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 2
1
<?php
2
3
namespace MediaMonks\SonataMediaBundle\Provider;
4
5
use MediaMonks\SonataMediaBundle\Entity\Media;
6
use Sonata\AdminBundle\Form\FormMapper;
7
use Symfony\Component\Validator\Constraints as Constraint;
8
9
class ImageProvider extends AbstractProvider
10
{
11
    /**
12
     * @param FormMapper $formMapper
13
     */
14
    public function buildProviderCreateForm(FormMapper $formMapper)
15
    {
16
        $this->addRequiredFileUploadField($formMapper, 'binaryContent', 'Image');
17
    }
18
19
    /**
20
     * @param FormMapper $formMapper
21
     */
22
    public function buildProviderEditForm(FormMapper $formMapper)
23
    {
24
        $this->addFileUploadField($formMapper, 'binaryContent', 'Image');
25
    }
26
27
    /**
28
     * @param FormMapper $formMapper
29
     */
30
    public function buildEditForm(FormMapper $formMapper)
31
    {
32
        parent::buildEditForm($formMapper);
33
34
        $formMapper->remove('imageContent');
35
    }
36
37
    /**
38
     * @param Media $media
39
     */
40
    public function update(Media $media)
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);
51
    }
52
53
    /**
54
     * @return string
55
     */
56
    public function getIcon()
57
    {
58
        return 'photo';
59
    }
60
61
    /**
62
     * @return string
63
     */
64
    public function getTitle()
65
    {
66
        return 'Image';
67
    }
68
69
    public function getType()
70
    {
71
        return 'image';
72
    }
73
74
    /**
75
     * @return string
76
     */
77
    public function getMediaTemplate()
78
    {
79
        return 'MediaMonksSonataMediaBundle:Provider:image_media.html.twig';
80
    }
81
82
    /**
83
     * @return bool
84
     */
85
    public function supportsDownload()
86
    {
87
        return true;
88
    }
89
90
    /**
91
     * @return bool
92
     */
93
    public function supportsEmbed()
94
    {
95
        return true;
96
    }
97
98
    /**
99
     * @return bool
100
     */
101
    public function supportsImage()
102
    {
103
        return true;
104
    }
105
}
106