zend-blog-3-backend

Форк
0
358 строк · 5.9 Кб
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: morontt
5
 * Date: 03.04.16
6
 * Time: 23:21
7
 */
8

9
namespace App\Entity;
10

11
use App\Entity\Traits\ModifyEntityTrait;
12
use DateTime;
13
use Doctrine\ORM\Mapping as ORM;
14

15
/**
16
 * @ORM\Table()
17
 * @ORM\Entity(repositoryClass="App\Repository\MediaFileRepository")
18
 * @ORM\HasLifecycleCallbacks()
19
 */
20
class MediaFile
21
{
22
    use ModifyEntityTrait;
23

24
    /**
25
     * @var int
26
     *
27
     * @ORM\Id
28
     * @ORM\Column(type="integer")
29
     * @ORM\GeneratedValue(strategy="AUTO")
30
     */
31
    protected $id;
32

33
    /**
34
     * @var Post
35
     *
36
     * @ORM\ManyToOne(targetEntity="Post", inversedBy="mediaFiles")
37
     * @ORM\JoinColumn(onDelete="SET NULL", nullable=true)
38
     */
39
    protected $post;
40

41
    /**
42
     * @var string
43
     *
44
     * @ORM\Column(type="string", unique=true)
45
     */
46
    protected $path;
47

48
    /**
49
     * @var string
50
     *
51
     * @ORM\Column(type="string", nullable=true)
52
     */
53
    protected $description;
54

55
    /**
56
     * @var int
57
     *
58
     * @ORM\Column(type="integer")
59
     */
60
    protected $fileSize;
61

62
    /**
63
     * @var bool
64
     *
65
     * @ORM\Column(type="boolean")
66
     */
67
    protected $defaultImage = false;
68

69
    /**
70
     * @var bool
71
     *
72
     * @ORM\Column(type="boolean")
73
     */
74
    protected $backedUp = false;
75

76
    /**
77
     * @var int|null
78
     *
79
     * @ORM\Column(type="smallint", nullable=true, options={"unsigned": true})
80
     */
81
    private $width;
82

83
    /**
84
     * @var int|null
85
     *
86
     * @ORM\Column(type="smallint", nullable=true, options={"unsigned": true})
87
     */
88
    private $height;
89

90
    /**
91
     * @var string|null
92
     *
93
     * @ORM\Column(type="text", length=65535, nullable=true)
94
     */
95
    private $pictureTag;
96

97
    /**
98
     * @var string|null
99
     *
100
     * @ORM\Column(type="text", length=65535, nullable=true)
101
     */
102
    private $srcSet;
103

104
    public function __construct()
105
    {
106
        $this->timeCreated = new DateTime();
107
    }
108

109
    /**
110
     * Get id
111
     *
112
     * @return int|null
113
     */
114
    public function getId(): ?int
115
    {
116
        return $this->id;
117
    }
118

119
    /**
120
     * Set path
121
     *
122
     * @param string $path
123
     *
124
     * @return MediaFile
125
     */
126
    public function setPath(string $path): MediaFile
127
    {
128
        $this->path = $path;
129

130
        return $this;
131
    }
132

133
    /**
134
     * Get path
135
     *
136
     * @return string
137
     */
138
    public function getPath(): string
139
    {
140
        return $this->path;
141
    }
142

143
    /**
144
     * @return string
145
     */
146
    public function getOriginalFileName(): string
147
    {
148
        return pathinfo($this->path, PATHINFO_BASENAME);
149
    }
150

151
    /**
152
     * @return bool
153
     */
154
    public function isImage(): bool
155
    {
156
        if (!$this->path) {
157
            return false;
158
        }
159

160
        return in_array(strtolower(pathinfo($this->path, PATHINFO_EXTENSION)), ['png', 'jpeg', 'jpg', 'gif']);
161
    }
162

163
    /**
164
     * Set post
165
     *
166
     * @param Post|null $post
167
     *
168
     * @return MediaFile
169
     */
170
    public function setPost(Post $post = null): MediaFile
171
    {
172
        $this->post = $post;
173

174
        return $this;
175
    }
176

177
    /**
178
     * Get post
179
     *
180
     * @return Post
181
     */
182
    public function getPost(): ?Post
183
    {
184
        return $this->post;
185
    }
186

187
    /**
188
     * Set description
189
     *
190
     * @param string|null $description
191
     *
192
     * @return MediaFile
193
     */
194
    public function setDescription(string $description = null): MediaFile
195
    {
196
        $this->description = $description;
197

198
        return $this;
199
    }
200

201
    /**
202
     * Get description
203
     *
204
     * @return string
205
     */
206
    public function getDescription(): ?string
207
    {
208
        return $this->description;
209
    }
210

211
    /**
212
     * Set fileSize
213
     *
214
     * @param int $fileSize
215
     *
216
     * @return MediaFile
217
     */
218
    public function setFileSize(int $fileSize): MediaFile
219
    {
220
        $this->fileSize = $fileSize;
221

222
        return $this;
223
    }
224

225
    /**
226
     * Get fileSize
227
     *
228
     * @return int
229
     */
230
    public function getFileSize(): int
231
    {
232
        return $this->fileSize;
233
    }
234

235
    /**
236
     * Set defaultImage
237
     *
238
     * @param bool $defaultImage
239
     *
240
     * @return MediaFile
241
     */
242
    public function setDefaultImage(bool $defaultImage): MediaFile
243
    {
244
        $this->defaultImage = $defaultImage;
245

246
        return $this;
247
    }
248

249
    /**
250
     * Is defaultImage
251
     *
252
     * @return bool
253
     */
254
    public function isDefaultImage(): bool
255
    {
256
        return $this->defaultImage;
257
    }
258

259
    /**
260
     * @return bool
261
     */
262
    public function isBackedUp(): bool
263
    {
264
        return $this->backedUp;
265
    }
266

267
    /**
268
     * @param bool $backedUp
269
     *
270
     * @return $this
271
     */
272
    public function setBackedUp(bool $backedUp): MediaFile
273
    {
274
        $this->backedUp = $backedUp;
275

276
        return $this;
277
    }
278

279
    /**
280
     * @return int|null
281
     */
282
    public function getWidth(): ?int
283
    {
284
        return $this->width;
285
    }
286

287
    /**
288
     * @param int|null $width
289
     *
290
     * @return MediaFile
291
     */
292
    public function setWidth(?int $width): MediaFile
293
    {
294
        $this->width = $width;
295

296
        return $this;
297
    }
298

299
    /**
300
     * @return int|null
301
     */
302
    public function getHeight(): ?int
303
    {
304
        return $this->height;
305
    }
306

307
    /**
308
     * @param int|null $height
309
     *
310
     * @return MediaFile
311
     */
312
    public function setHeight(?int $height): MediaFile
313
    {
314
        $this->height = $height;
315

316
        return $this;
317
    }
318

319
    /**
320
     * @return string|null
321
     */
322
    public function getPictureTag(): ?string
323
    {
324
        return $this->pictureTag;
325
    }
326

327
    /**
328
     * @param string|null $pictureTag
329
     *
330
     * @return MediaFile
331
     */
332
    public function setPictureTag(?string $pictureTag): MediaFile
333
    {
334
        $this->pictureTag = $pictureTag;
335

336
        return $this;
337
    }
338

339
    /**
340
     * @return string|null
341
     */
342
    public function getSrcSet(): ?string
343
    {
344
        return $this->srcSet;
345
    }
346

347
    /**
348
     * @param string|null $srcSet
349
     *
350
     * @return MediaFile
351
     */
352
    public function setSrcSet(?string $srcSet): MediaFile
353
    {
354
        $this->srcSet = $srcSet;
355

356
        return $this;
357
    }
358
}
359

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.