set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[yaf_accessmask_save]( @AccessMaskID int=null, @BoardID int, @Name nvarchar(50), @ReadAccess bit, @PostAccess bit, @ReplyAccess bit, @PriorityAccess bit, @PollAccess bit, @VoteAccess bit, @ModeratorAccess bit, @EditAccess bit, @DeleteAccess bit, @UploadAccess bit ) as begin declare @Flags int set @Flags = 0 if @ReadAccess<>0 set @Flags = @Flags | 1 if @PostAccess<>0 set @Flags = @Flags | 2 if @ReplyAccess<>0 set @Flags = @Flags | 4 if @PriorityAccess<>0 set @Flags = @Flags | 8 if @PollAccess<>0 set @Flags = @Flags | 16 if @VoteAccess<>0 set @Flags = @Flags | 32 if @ModeratorAccess<>0 set @Flags = @Flags | 64 if @EditAccess<>0 set @Flags = @Flags | 128 if @DeleteAccess<>0 set @Flags = @Flags | 256 if @UploadAccess<>0 set @Flags = @Flags | 512 if @AccessMaskID is null insert into yaf_AccessMask(Name,BoardID,Flags) values(@Name,@BoardID,@Flags) else update yaf_AccessMask set Name = @Name, Flags = @Flags where AccessMaskID=@AccessMaskID end