1: <?php
2: namespace TIC\MailBundle\Command;
3:
4: use TIC\CoreBundle\Base\TICCommand as BaseCommand;
5:
6: use Symfony\Component\Console\Input\InputOption;
7: use Symfony\Component\Console\Input\InputArgument;
8: use Symfony\Component\Console\Input\InputInterface;
9: use Symfony\Component\Console\Output\OutputInterface;
10:
11: /**
12: * Commande d'import de modèles pour les messages des notifications envoyées par l'application.
13: */
14: class TemplateImportCommand extends BaseCommand
15: {
16: use \TIC\DormBundle\Traits\ManagerTrait;
17:
18: /**
19: * {@inheritdoc}
20: */
21: protected function configure(): void
22: {
23: parent::configure();
24: $this
25: ->setDescription("Import de modèles pour les notifications envoyées par l'application.")
26: ->addArgument('file', InputArgument::REQUIRED, "Fichier contenant un ou plusieurs modèles exportés à importer")
27: ;
28: }
29:
30: /**
31: * {@inheritdoc}
32: */
33: protected function execute(InputInterface $input, OutputInterface $output): int
34: {
35: $source = $input->getArgument('file');
36: if (! \file_exists($source)) $this->exitError("Fichier source non trouvé : $source");
37:
38: $rc = $this->getRepo('Template')->importMail(new \SplFileInfo($source));
39: if ($rc === null) {
40: $this->io->success("Import des modèles de notification réussi.");
41: return self::SUCCESS;
42: }
43: $this->io->error("Échec lors de l'import de modèles de notification : $rc");
44: # return self::FAILURE;
45: return self::INVALID;
46: }
47:
48: }
49: