zend-blog-3-backend
48 строк · 1.2 Кб
1<?php
2
3namespace App\Command;
4
5use App\Entity\MediaFile;
6use App\Service\ImageManager;
7use Doctrine\ORM\EntityManagerInterface;
8use Symfony\Component\Console\Command\Command;
9use Symfony\Component\Console\Input\InputInterface;
10use Symfony\Component\Console\Output\OutputInterface;
11
12class ImagesClearThumbs extends Command
13{
14private EntityManagerInterface $em;
15
16private ImageManager $im;
17
18public function __construct(EntityManagerInterface $em, ImageManager $im)
19{
20parent::__construct();
21
22$this->em = $em;
23$this->im = $im;
24}
25
26protected function configure(): void
27{
28$this
29->setName('mtt:images:clear-thumbs')
30->setDescription('Clear thumbs of images')
31;
32}
33
34protected function execute(InputInterface $input, OutputInterface $output): int
35{
36$i = 0;
37$repository = $this->em->getRepository(MediaFile::class);
38foreach ($repository->findAll() as $mediaFile) {
39$i++;
40$this->im->removeAllPreview($mediaFile);
41$output->writeln(
42sprintf('%d. <comment>%s</comment> was cleared', $i, $mediaFile->getOriginalFileName())
43);
44}
45
46return 0;
47}
48}
49