Files
Phraseanet/lib/classes/module/console/systemTemplateGenerator.php
Romain Neutron 12f9575a8b Merge branch '3.8'
Conflicts:
	lib/Alchemy/Phrasea/Controller/Prod/Lazaret.php
	lib/classes/API/OAuth2/Adapter.php
	lib/classes/API/V1/adapter.php
	lib/classes/Feed/Adapter.php
	lib/classes/Feed/Collection.php
	lib/classes/Feed/Entry/Adapter.php
	lib/classes/Feed/Entry/Item.php
	lib/classes/Feed/Publisher/Adapter.php
	lib/classes/User/Adapter.php
	lib/classes/base.php
	lib/classes/connection.php
	lib/classes/databox/cgu.php
	lib/classes/eventsmanager/notify/autoregister.php
	lib/classes/eventsmanager/notify/bridgeuploadfail.php
	lib/classes/eventsmanager/notify/order.php
	lib/classes/eventsmanager/notify/orderdeliver.php
	lib/classes/eventsmanager/notify/ordernotdelivered.php
	lib/classes/eventsmanager/notify/push.php
	lib/classes/eventsmanager/notify/register.php
	lib/classes/eventsmanager/notify/validate.php
	lib/classes/eventsmanager/notify/validationdone.php
	lib/classes/eventsmanager/notify/validationreminder.php
	lib/classes/module/console/taskState.php
	lib/classes/module/console/taskrun.php
	lib/classes/record/adapter.php
	lib/classes/registry.php
	lib/classes/set/order.php
	lib/classes/task/abstract.php
	lib/classes/task/appboxAbstract.php
	lib/classes/task/databoxAbstract.php
	lib/classes/task/manager.php
	lib/classes/task/period/RecordMover.php
	lib/classes/task/period/apibridge.php
	lib/classes/task/period/archive.php
	lib/classes/task/period/ftp.php
	lib/classes/task/period/ftpPull.php
	templates/web/prod/upload/lazaret.html.twig
2014-02-20 16:05:23 +01:00

71 lines
2.0 KiB
PHP

<?php
/*
* This file is part of Phraseanet
*
* (c) 2005-2014 Alchemy
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use Alchemy\Phrasea\Command\Command;
use Symfony\Component\Finder\Finder;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class module_console_systemTemplateGenerator extends Command
{
public function __construct($name = null)
{
parent::__construct($name);
$this->setDescription('Generates Twig templates files');
return $this;
}
protected function doExecute(InputInterface $input, OutputInterface $output)
{
$tplDirs = [
realpath(__DIR__ . '/../../../../templates/web/'),
realpath(__DIR__ . '/../../../../templates/mobile/')
];
$n_ok = $n_error = 0;
// Twig fails if there's no request
$this->container['request'] = new Request();
// Twig must be initialized in order to access loader
$this->container['twig'];
foreach ($tplDirs as $tplDir) {
$this->container['twig.loader.filesystem']->setPaths([$tplDir]);
$finder = new Finder();
foreach ($finder->files()->in([$tplDir]) as $file) {
try {
$this->container['twig']->loadTemplate(str_replace($tplDir, '', $file->getPathname()));
$output->writeln('' . $file . '');
$n_ok ++;
} catch (\Exception $e) {
$output->writeln('<error>' . $e->getMessage() . '</error>');
$n_error ++;
}
}
}
$output->writeln("");
$output->write(sprintf('%d templates generated. ', $n_ok));
if ($n_error > 0) {
$output->write(sprintf('<error>%d templates failed.</error>', $n_error));
}
$output->writeln("");
return $n_error;
}
}