
[dbo].[Forum_Moderate_Approve]
CREATE PROCEDURE dbo.[Forum_Moderate_Approve]
(
@PostID INT,
@ApprovedBy INT,
@Notes NVARCHAR(1024)
)
AS
DECLARE @UserID INT
DECLARE @ForumID INT
DECLARE @ThreadID INT
DECLARE @GroupID INT
DECLARE @PortalID INT
DECLARE @IsPinned BIT
DECLARE @PinnedDate DATETIME
DECLARE @PollID INT
IF ( SELECT IsApproved
FROM dbo.Forum_Posts
WHERE PostID = @PostID
) = 1
BEGIN
SELECT -1
RETURN
END
ELSE
BEGIN
UPDATE dbo.Forum_Posts
SET IsApproved = 1,
IsLocked = 0,
DateApproved = GETDATE()
WHERE PostID = @PostID
SELECT @UserID = UserID,
@ThreadID = ThreadID
FROM dbo.Forum_Posts
WHERE PostID = @PostID
SELECT @ForumID = ForumID,
@IsPinned = IsPinned,
@PinnedDate = PinnedDate,
@PollID = PollID
FROM dbo.Forum_Threads
WHERE ThreadID = @ThreadID
SELECT @GroupID = FG.GroupID,
@PortalID = PortalID
FROM dbo.Forum_Forums FF
INNER JOIN dbo.Forum_Groups FG ON FF.GroupID = FG.GroupID
WHERE ForumID = @ForumID
EXEC dbo.Forum_AA_UserPostCountUpdate @UserID, @PortalID
IF @ThreadID <> @PostID
BEGIN
EXEC dbo.Forum_AA_ThreadUpdate @ThreadID, @PostID,
@IsPinned, @PinnedDate, 'postadd', @PollID
END
EXEC dbo.Forum_Moderate_AddHistory @PostID, @PortalID, @ApprovedBy,
@Notes, 1
EXEC dbo.Forum_Forum_PostAdded @ForumID, @ThreadID, @PostID,
@UserID, 'approve'
SELECT @GroupID
END
GO