Source of file InitAclCommand.php
Size: 2,024 Bytes - Last Modified: 2013-07-17T08:22:21+02:00
/home/theseer/Downloads/Symfony/vendor/symfony/symfony/src/Symfony/Bundle/SecurityBundle/Command/InitAclCommand.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bundle\SecurityBundle\Command; use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Doctrine\DBAL\Schema\SchemaException; /** * Installs the tables required by the ACL system * * @author Johannes M. Schmitt <schmittjoh@gmail.com> */ class InitAclCommand extends ContainerAwareCommand { /** * @see Command */ protected function configure() { $this ->setName('init:acl') ->setDescription('Mounts ACL tables in the database') ->setHelp(<<<EOF The <info>%command.name%</info> command mounts ACL tables in the database. <info>php %command.full_name%</info> The name of the DBAL connection must be configured in your <info>app/config/security.yml</info> configuration file in the <info>security.acl.connection</info> variable. <info>security: acl: connection: default</info> EOF ) ; } /** * @see Command::execute() */ protected function execute(InputInterface $input, OutputInterface $output) { $container = $this->getContainer(); $connection = $container->get('security.acl.dbal.connection'); $schema = $container->get('security.acl.dbal.schema'); try { $schema->addToSchema($connection->getSchemaManager()->createSchema()); } catch (SchemaException $e) { $output->writeln("Aborting: ".$e->getMessage()); return 1; } foreach ($schema->toSql($connection->getDatabasePlatform()) as $sql) { $connection->exec($sql); } $output->writeln('ACL tables have been initialized successfully.'); } } |