@@ -910,36 +910,24 @@ public function createDocument(string $collection, Document $document): Document
910910 $ permissions = [];
911911 foreach (Database::PERMISSIONS as $ type ) {
912912 foreach ($ document ->getPermissionsByType ($ type ) as $ permission ) {
913+ $ tenantBind = $ this ->sharedTables ? ", :_tenant " : '' ;
913914 $ permission = \str_replace ('" ' , '' , $ permission );
914- $ permission = "(' {$ type }', ' {$ permission }', ' {$ document ->getId ()}' " ;
915-
916- if ($ this ->sharedTables ) {
917- $ permission .= ", :_tenant) " ;
918- } else {
919- $ permission .= ") " ;
920- }
921-
915+ $ permission = "(' {$ type }', ' {$ permission }', :_uid {$ tenantBind }) " ;
922916 $ permissions [] = $ permission ;
923917 }
924918 }
925919
926920 if (!empty ($ permissions )) {
921+ $ tenantColumn = $ this ->sharedTables ? ', _tenant ' : '' ;
927922 $ permissions = \implode (', ' , $ permissions );
928923
929924 $ sqlPermissions = "
930- INSERT INTO {$ this ->getSQLTable ($ name . '_perms ' )} (_type, _permission, _document
931- " ;
932-
933- if ($ this ->sharedTables ) {
934- $ sqlPermissions .= ', _tenant) ' ;
935- } else {
936- $ sqlPermissions .= ") " ;
937- }
925+ INSERT INTO {$ this ->getSQLTable ($ name . '_perms ' )} (_type, _permission, _document {$ tenantColumn })
926+ VALUES {$ permissions };
927+ " ;
938928
939- $ sqlPermissions .= " VALUES {$ permissions }" ;
940- $ sqlPermissions = $ this ->trigger (Database::EVENT_PERMISSIONS_CREATE , $ sqlPermissions );
941929 $ stmtPermissions = $ this ->getPDO ()->prepare ($ sqlPermissions );
942-
930+ $ stmtPermissions -> bindValue ( ' :_uid ' , $ document -> getId ());
943931 if ($ this ->sharedTables ) {
944932 $ stmtPermissions ->bindValue (':_tenant ' , $ document ->getTenant ());
945933 }
0 commit comments