summaryrefslogtreecommitdiffstats
path: root/Acl/Dbal/Schema.php
diff options
context:
space:
mode:
authorNicolas Grekas <nicolas.grekas@gmail.com>2015-08-01 12:05:47 +0200
committerNicolas Grekas <nicolas.grekas@gmail.com>2015-08-01 12:05:47 +0200
commitc63a0c6b5f1d05f1e57d8b29cf2c38b770fad5b3 (patch)
tree0239e276f5957263774224d1f9d6128f2302111a /Acl/Dbal/Schema.php
parent6de838905fc31153ba80ad1a8f0919fe8ab58ad1 (diff)
parentb60dfa578d6ab5e1766af7adb3f882e585ed161e (diff)
downloadsymfony-security-c63a0c6b5f1d05f1e57d8b29cf2c38b770fad5b3.zip
symfony-security-c63a0c6b5f1d05f1e57d8b29cf2c38b770fad5b3.tar.gz
symfony-security-c63a0c6b5f1d05f1e57d8b29cf2c38b770fad5b3.tar.bz2
Merge branch '2.8'
* 2.8: [Locale] Add missing @group legacy annotations [Form] Add missing @group legacy annotations [Form] Use FQCN form types Fix security-acl deps Fix typo [Security] Removed security-acl from the core fixed typos Fix doctrine mapping validation type error Remove skipping of tests based on ICU data version whenever possible Fix the handling of null as locale in the stub intl classes do not dump leading backslashes in class names fix issue #15377 Skip ::class constant [Config] type specific check for emptiness [Form] Deprecated FormTypeInterface::getName() and passing of type instances Conflicts: UPGRADE-2.8.md composer.json src/Symfony/Bridge/Doctrine/composer.json src/Symfony/Bridge/Twig/composer.json src/Symfony/Bundle/SecurityBundle/composer.json src/Symfony/Component/ClassLoader/ClassMapGenerator.php src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php src/Symfony/Component/Form/Tests/AbstractExtensionTest.php src/Symfony/Component/Form/Tests/AbstractLayoutTest.php src/Symfony/Component/Form/Tests/SimpleFormTest.php src/Symfony/Component/Locale/Tests/LocaleTest.php src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php src/Symfony/Component/Security/Acl/README.md src/Symfony/Component/Security/Acl/composer.json
Diffstat (limited to 'Acl/Dbal/Schema.php')
-rw-r--r--Acl/Dbal/Schema.php154
1 files changed, 0 insertions, 154 deletions
diff --git a/Acl/Dbal/Schema.php b/Acl/Dbal/Schema.php
deleted file mode 100644
index ed9327c..0000000
--- a/Acl/Dbal/Schema.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?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\Component\Security\Acl\Dbal;
-
-use Doctrine\DBAL\Schema\Schema as BaseSchema;
-use Doctrine\DBAL\Connection;
-
-/**
- * The schema used for the ACL system.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-final class Schema extends BaseSchema
-{
- protected $options;
-
- /**
- * Constructor.
- *
- * @param array $options the names for tables
- * @param Connection $connection
- */
- public function __construct(array $options, Connection $connection = null)
- {
- $schemaConfig = null === $connection ? null : $connection->getSchemaManager()->createSchemaConfig();
-
- parent::__construct(array(), array(), $schemaConfig);
-
- $this->options = $options;
-
- $this->addClassTable();
- $this->addSecurityIdentitiesTable();
- $this->addObjectIdentitiesTable();
- $this->addObjectIdentityAncestorsTable();
- $this->addEntryTable();
- }
-
- /**
- * Merges ACL schema with the given schema.
- *
- * @param BaseSchema $schema
- */
- public function addToSchema(BaseSchema $schema)
- {
- foreach ($this->getTables() as $table) {
- $schema->_addTable($table);
- }
-
- foreach ($this->getSequences() as $sequence) {
- $schema->_addSequence($sequence);
- }
- }
-
- /**
- * Adds the class table to the schema.
- */
- protected function addClassTable()
- {
- $table = $this->createTable($this->options['class_table_name']);
- $table->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => 'auto'));
- $table->addColumn('class_type', 'string', array('length' => 200));
- $table->setPrimaryKey(array('id'));
- $table->addUniqueIndex(array('class_type'));
- }
-
- /**
- * Adds the entry table to the schema.
- */
- protected function addEntryTable()
- {
- $table = $this->createTable($this->options['entry_table_name']);
-
- $table->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => 'auto'));
- $table->addColumn('class_id', 'integer', array('unsigned' => true));
- $table->addColumn('object_identity_id', 'integer', array('unsigned' => true, 'notnull' => false));
- $table->addColumn('field_name', 'string', array('length' => 50, 'notnull' => false));
- $table->addColumn('ace_order', 'smallint', array('unsigned' => true));
- $table->addColumn('security_identity_id', 'integer', array('unsigned' => true));
- $table->addColumn('mask', 'integer');
- $table->addColumn('granting', 'boolean');
- $table->addColumn('granting_strategy', 'string', array('length' => 30));
- $table->addColumn('audit_success', 'boolean');
- $table->addColumn('audit_failure', 'boolean');
-
- $table->setPrimaryKey(array('id'));
- $table->addUniqueIndex(array('class_id', 'object_identity_id', 'field_name', 'ace_order'));
- $table->addIndex(array('class_id', 'object_identity_id', 'security_identity_id'));
-
- $table->addForeignKeyConstraint($this->getTable($this->options['class_table_name']), array('class_id'), array('id'), array('onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE'));
- $table->addForeignKeyConstraint($this->getTable($this->options['oid_table_name']), array('object_identity_id'), array('id'), array('onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE'));
- $table->addForeignKeyConstraint($this->getTable($this->options['sid_table_name']), array('security_identity_id'), array('id'), array('onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE'));
- }
-
- /**
- * Adds the object identity table to the schema.
- */
- protected function addObjectIdentitiesTable()
- {
- $table = $this->createTable($this->options['oid_table_name']);
-
- $table->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => 'auto'));
- $table->addColumn('class_id', 'integer', array('unsigned' => true));
- $table->addColumn('object_identifier', 'string', array('length' => 100));
- $table->addColumn('parent_object_identity_id', 'integer', array('unsigned' => true, 'notnull' => false));
- $table->addColumn('entries_inheriting', 'boolean');
-
- $table->setPrimaryKey(array('id'));
- $table->addUniqueIndex(array('object_identifier', 'class_id'));
- $table->addIndex(array('parent_object_identity_id'));
-
- $table->addForeignKeyConstraint($table, array('parent_object_identity_id'), array('id'));
- }
-
- /**
- * Adds the object identity relation table to the schema.
- */
- protected function addObjectIdentityAncestorsTable()
- {
- $table = $this->createTable($this->options['oid_ancestors_table_name']);
-
- $table->addColumn('object_identity_id', 'integer', array('unsigned' => true));
- $table->addColumn('ancestor_id', 'integer', array('unsigned' => true));
-
- $table->setPrimaryKey(array('object_identity_id', 'ancestor_id'));
-
- $oidTable = $this->getTable($this->options['oid_table_name']);
- $table->addForeignKeyConstraint($oidTable, array('object_identity_id'), array('id'), array('onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE'));
- $table->addForeignKeyConstraint($oidTable, array('ancestor_id'), array('id'), array('onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE'));
- }
-
- /**
- * Adds the security identity table to the schema.
- */
- protected function addSecurityIdentitiesTable()
- {
- $table = $this->createTable($this->options['sid_table_name']);
-
- $table->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => 'auto'));
- $table->addColumn('identifier', 'string', array('length' => 200));
- $table->addColumn('username', 'boolean');
-
- $table->setPrimaryKey(array('id'));
- $table->addUniqueIndex(array('identifier', 'username'));
- }
-}