setName('tagengine:update-slugs')
->setDescription('Actualise les slugs')
// Dans l'avenir on pourra préciser:
// - le type
// - l'élément
// ->addOption('sites', null, InputOption::VALUE_REQUIRED, 'Liste exhaustive des site a traiter')
// ->addArgument('sites', InputArgument::OPTIONAL, 'Liste exhaustive des site a traiter')
// ->addOption('yell', null, InputOption::VALUE_NONE, 'If set, the task will yell in uppercase letters')
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$doctrine = $this->getContainer()->get('doctrine');
$em = $doctrine->getEntityManager();
$output->writeln('#');
$output->writeln('## Script de mise a jour des slugs tags ##');
$output->writeln('#');
// On récupère les tags
$tags = $em->getRepository('MuzichCoreBundle:Tag')->findAll();
$tag_manager = $this->getContainer()->get('muzich_tag_manager');
$output->writeln('Nombre de tags a traiter: '.count($tags).'');
$output->writeln('Début du traitement ...');
foreach ($tags as $tag)
{
$tag_manager->updateSlug($tag);
$em->persist($tag);
}
$output->writeln('Traitement terminé, enregistrement en base ...');
$em->flush();
$output->writeln('Enregistrement terminé !');
}
}