Completed
Push — master ( 3b23f0...80edcc )
by
unknown
13:12
created

ImageProvider::getEmbedTemplate()   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
8
class ImageProvider extends AbstractProvider
9
{
10
    /**
11
     * @param FormMapper $formMapper
12
     */
13
    public function buildProviderCreateForm(FormMapper $formMapper)
14
    {
15
        $this->addRequiredFileUploadField($formMapper, 'binaryContent', 'Image');
16
    }
17
18
    /**
19
     * @param FormMapper $formMapper
20
     */
21
    public function buildProviderEditForm(FormMapper $formMapper)
22
    {
23
        $this->addFileUploadField($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 Media $media
38
     */
39
    public function update(Media $media)
40
    {
41
        if (!is_null($media->getBinaryContent())) {
42
            $media->setImage(null);
43
            $filename = $this->handleFileUpload($media, true);
44
            if (!empty($filename)) {
45
                $media->setProviderReference($filename);
46
            }
47
        }
48
49
        parent::update($media);
50
    }
51
52
    /**
53
     * @return string
54
     */
55
    public function getIcon()
56
    {
57
        return 'photo';
58
    }
59
60
    /**
61
     * @return string
62
     */
63
    public function getTitle()
64
    {
65
        return 'Image';
66
    }
67
68
    public function getType()
69
    {
70
        return 'image';
71
    }
72
73
    /**
74
     * @return string
75
     */
76
    public function getEmbedTemplate()
77
    {
78
        return 'MediaMonksSonataMediaBundle:Provider:image_embed.html.twig';
79
    }
80
81
    /**
82
     * @return bool
83
     */
84
    public function supportsDownload()
85
    {
86
        return true;
87
    }
88
89
    /**
90
     * @return bool
91
     */
92
    public function supportsEmbed()
93
    {
94
        return false;
95
    }
96
97
    /**
98
     * @return bool
99
     */
100
    public function supportsImage()
101
    {
102
        return true;
103
    }
104
}
105