diff --git a/src/Kunstmaan/AdminBundle/Helper/Security/Acl/AclHelper.php b/src/Kunstmaan/AdminBundle/Helper/Security/Acl/AclHelper.php index f1fd0eca64..5dfdc91ffc 100644 --- a/src/Kunstmaan/AdminBundle/Helper/Security/Acl/AclHelper.php +++ b/src/Kunstmaan/AdminBundle/Helper/Security/Acl/AclHelper.php @@ -140,10 +140,10 @@ public function apply(QueryBuilder $queryBuilder, PermissionDefinition $permissi */ private function getPermittedAclIdsSQLForUser(Query $query) { - $aclConnection = $this->em->getConnection(); - $database = $aclConnection->getDatabase(); - $mask = $query->getHint('acl.mask'); - $rootEntity = '"' . str_replace('\\', '\\\\', $query->getHint('acl.root.entity')) . '"'; + $aclConnection = $this->em->getConnection(); + $databasePrefix = is_file($aclConnection->getDatabase()) ? '' : $aclConnection->getDatabase().'.'; + $mask = $query->getHint('acl.mask'); + $rootEntity = '"' . str_replace('\\', '\\\\', $query->getHint('acl.root.entity')) . '"'; /* @var $token TokenInterface */ $token = $this->securityContext->getToken(); @@ -175,13 +175,13 @@ private function getPermittedAclIdsSQLForUser(Query $query) } $selectQuery = <<getDatabasePlatform()->getIsNullExpression('e.object_identity_id')}) ) -LEFT JOIN {$database}.acl_security_identities s ON ( +LEFT JOIN {$databasePrefix}acl_security_identities s ON ( s.id = e.security_identity_id ) WHERE c.class_type = {$rootEntity} diff --git a/src/Kunstmaan/AdminBundle/Helper/Security/Acl/AclNativeHelper.php b/src/Kunstmaan/AdminBundle/Helper/Security/Acl/AclNativeHelper.php index d3688b7ed0..af66b4cb7f 100644 --- a/src/Kunstmaan/AdminBundle/Helper/Security/Acl/AclNativeHelper.php +++ b/src/Kunstmaan/AdminBundle/Helper/Security/Acl/AclNativeHelper.php @@ -61,11 +61,11 @@ public function apply(QueryBuilder $queryBuilder, PermissionDefinition $permissi { $aclConnection = $this->em->getConnection(); - $database = $aclConnection->getDatabase(); - $rootEntity = $permissionDef->getEntity(); - $linkAlias = $permissionDef->getAlias(); + $databasePrefix = is_file($aclConnection->getDatabase()) ? '' : $aclConnection->getDatabase().'.'; + $rootEntity = $permissionDef->getEntity(); + $linkAlias = $permissionDef->getAlias(); // Only tables with a single ID PK are currently supported - $linkField = $this->em->getClassMetadata($rootEntity)->getSingleIdentifierColumnName(); + $linkField = $this->em->getClassMetadata($rootEntity)->getSingleIdentifierColumnName(); $rootEntity = '"' . str_replace('\\', '\\\\', $rootEntity) . '"'; $query = $queryBuilder; @@ -107,13 +107,13 @@ public function apply(QueryBuilder $queryBuilder, PermissionDefinition $permissi } $joinTableQuery = <<getDatabasePlatform()->getIsNullExpression('e.object_identity_id')}) ) -LEFT JOIN {$database}.acl_security_identities s ON ( +LEFT JOIN {$databasePrefix}.acl_security_identities s ON ( s.id = e.security_identity_id ) WHERE c.class_type = {$rootEntity}