Source of file TemplateImportCommand.php

Size: 1,397 Bytes - Last Modified: 2023-11-16T22:56:03+01:00

/home/websites/teicee/packagist/site/phpdoc/conf/../vendor/teicee/mail-bundle/src/Command/TemplateImportCommand.php

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
<?php
namespace TIC\MailBundle\Command;

use TIC\CoreBundle\Base\TICCommand as BaseCommand;

use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

/**
 * Commande d'import de modèles pour les messages des notifications envoyées par l'application.
 */
class TemplateImportCommand extends BaseCommand
{
	use \TIC\DormBundle\Traits\ManagerTrait;

	/**
	 * {@inheritdoc}
	 */
	protected function configure(): void
	{
		parent::configure();
		$this
			->setDescription("Import de modèles pour les notifications envoyées par l'application.")
			->addArgument('file', InputArgument::REQUIRED, "Fichier contenant un ou plusieurs modèles exportés à importer")
		;
	}

	/**
	 * {@inheritdoc}
	 */
	protected function execute(InputInterface $input, OutputInterface $output): int
	{
		$source = $input->getArgument('file');
		if (! \file_exists($source)) $this->exitError("Fichier source non trouvé : $source");
		
		$rc = $this->getRepo('Template')->importMail(new \SplFileInfo($source));
		if ($rc === null) {
			$this->io->success("Import des modèles de notification réussi.");
			return self::SUCCESS;
		}
		$this->io->error("Échec lors de l'import de modèles de notification : $rc");
#		return self::FAILURE;
		return self::INVALID;
	}

}