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