Source of file TemplateExportCommand.php

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

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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
<?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'export de modèles pour les messages des notifications envoyées par l'application.
 */
class TemplateExportCommand extends BaseCommand
{
	use \TIC\DormBundle\Traits\ManagerTrait;

	/**
	 * {@inheritdoc}
	 */
	protected function configure(): void
	{
		parent::configure();
		$this
			->setDescription("Export de modèles pour les notifications envoyées par l'application.")
			->addArgument('ref', InputArgument::OPTIONAL, "Référence d'un modèle à exporter (tous par défaut)")
		;
	}

	/**
	 * {@inheritdoc}
	 */
	protected function execute(InputInterface $input, OutputInterface $output): int
	{
		$ref = $input->getArgument('ref');
		
		$locale = null;
		$config = $this->params->get('tic_mail.config');
		$formats = $config['formats'];
		
		if (empty($ref)) {
			foreach ($this->getRepo('Template')->listAll() as $item)
				echo $item->exportMail($locale, $formats);
		} else {
			$item = $this->getRepo('Template')->find($ref);
			if ($item) echo $item->exportMail($locale, $formats);
		}
		
		return self::SUCCESS;
	}

}