if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_UserGetMultiPortal') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_UserGetMultiPortal
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_UserAdd') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_UserAdd
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PM_ThreadGet') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PM_ThreadGet
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PM_ThreadDelete') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PM_ThreadDelete
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PM_Get') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PM_Get
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PM_GetAll') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PM_GetAll
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_AA_PM_ThreadAdd') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_AA_PM_ThreadAdd
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PM_Add') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PM_Add
GO
/* DROP FOR GOOD */
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_UserDelete') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_UserDelete
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PMGetAll') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PMGetAll
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PMThreadDelete') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PMThreadDelete
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PMThreadGet') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PMThreadGet
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PMThreadGetAll') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PMThreadGetAll
GO
--Making sure that EmailQueue Task is not already registered in the scheduler.
DELETE FROM {databaseOwner}{objectQualifier}Schedule
WHERE
TypeFullName = 'DotNetNuke.Modules.Forum.StartEmailQueuedTasks, DotNetNuke.Modules.Forum'
GO
INSERT INTO {databaseOwner}{objectQualifier}Schedule
( TypeFullName, [TimeLapse], [TimeLapseMeasurement], [RetryTimeLapse], [RetryTimeLapseMeasurement], [RetainHistoryNum], [AttachToEvent], [CatchUpEnabled], [Enabled], [ObjectDependencies], [Servers])
VALUES ( 'DotNetNuke.Modules.Forum.StartEmailQueuedTasks, DotNetNuke.Modules.Forum', 1, 'm', 1, 'm', -1, '', 0, 0, '', null )
GO
--Making sure that EmailQueue Task Cleanup is not already registered in the scheduler.
DELETE FROM {databaseOwner}{objectQualifier}Schedule
WHERE
TypeFullName = 'DotNetNuke.Modules.Forum.CleanupEmailQueuedTasks, DotNetNuke.Modules.Forum'
GO
INSERT INTO {databaseOwner}{objectQualifier}Schedule
( TypeFullName, [TimeLapse], [TimeLapseMeasurement], [RetryTimeLapse], [RetryTimeLapseMeasurement], [RetainHistoryNum], [AttachToEvent], [CatchUpEnabled], [Enabled], [ObjectDependencies], [Servers])
VALUES ( 'DotNetNuke.Modules.Forum.CleanupEmailQueuedTasks, DotNetNuke.Modules.Forum', 1, 'd', 1, 'd', -1, '', 0, 0, '', null )
GO
ALTER TABLE {databaseOwner}[{objectQualifier}Forum_Users] WITH NOCHECK
ADD [TrackingDuration] [int] DEFAULT (1000) NOT NULL
GO
/* PM Renames */
EXEC sp_rename
@objname = '{databaseOwner}{objectQualifier}Forum_PM_Threads.PMStartUserID',
@newname = 'PMStartThreadUserID',
@objtype = 'COLUMN'
GO
EXEC sp_rename
@objname = '{databaseOwner}{objectQualifier}Forum_PM_Threads.PMToUserID',
@newname = 'PMReceiveThreadUserID',
@objtype = 'COLUMN'
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_UserGetMultiPortal] ( @UserID INT )
AS
SELECT
[UserID],
[Signature],
[Occupation],
[Interests],
[MSN],
[Yahoo],
[AIM],
[ICQ],
[Skin],
[UserAvatar],
[Avatar],
[AdditionalAvatars],
[PostCount],
[LastActivity],
[FlatView],
ISNULL(( SELECT NULLIF(COUNT(DISTINCT [UserID]), 0)
FROM {objectQualifier}Forum_Moderators
WHERE [UserID] = [UserID]
), [IsTrusted]) AS IsTrusted,
[EnableDisplayInMemberList],
[EnableOnlineStatus],
[ThreadsPerPage],
[PostsPerPage],
[ViewDescending],
[EnableModNotification],
[EnablePM],
[EnablePMNotifications],
[EmailFormat],
[PortalID],
[EnablePublicEmail],
[TrackingDuration]
FROM {objectQualifier}Forum_Users
WHERE [UserId] = @UserID
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_UserAdd]
(
@UserId INT,
@UserAvatar BIT,
@Avatar NVARCHAR(255),
@AdditionalAvatars NVARCHAR(255),
@Signature NVARCHAR(1024),
@Occupation NVARCHAR(255),
@Interests NVARCHAR(255),
@MSN NVARCHAR(128),
@Yahoo NVARCHAR(128),
@AIM NVARCHAR(128),
@ICQ NVARCHAR(128),
@Skin NVARCHAR(255),
@IsTrusted BIT,
@EnableDisplayInMemberList BIT,
@EnableOnlineStatus BIT,
@ThreadsPerPage INT,
@PostsPerPage INT,
@CollapseGroups NVARCHAR(255),
@EnablePublicEmail BIT,
@EnablePM BIT,
@EnablePMNotifications BIT,
@PortalID INT
)
AS
IF NOT EXISTS ( SELECT [UserID]
FROM {objectQualifier}Forum_Users
WHERE [UserID] = @UserID
AND PortalID = @PortalID )
BEGIN
INSERT INTO {objectQualifier}Forum_Users
(
[UserID],
[UserAvatar],
[Avatar],
[AdditionalAvatars],
[Signature],
[Occupation],
[Interests],
[MSN],
[Yahoo],
[AIM],
[ICQ],
[Skin],
[IsTrusted],
[EnableDisplayInMemberList],
[EnableOnlineStatus],
[ThreadsPerPage],
[PostsPerPage],
[CollapseGroups],
[EnablePM],
[EnablePMNotifications],
[EmailFormat],
[PortalID],
[EnablePublicEmail]
)
VALUES (
@UserID,
@UserAvatar,
@Avatar,
@AdditionalAvatars,
@Signature,
@Occupation,
@Interests,
@MSN,
@Yahoo,
@AIM,
@ICQ,
@Skin,
@IsTrusted,
@EnableDisplayInMemberList,
@EnableOnlineStatus,
@ThreadsPerPage,
@PostsPerPage,
@CollapseGroups,
@EnablePM,
@EnablePMNotifications,
1,
@PortalID,
@EnablePublicEmail
)
END
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_PM_ThreadGet] ( @PMThreadID INT )
AS
SELECT P.PMThreadID,
P.Subject,
P.Body,
T.PMReceiveThreadUserID,
P.PMToUserID,
P.PMFromUserID,
T.Views,
T.LastPostedPMID,
T.Replies,
CreatedDate AS LastPMDate,
T.PMStartThreadUserID,
T.PMStartUserDeleted,
T.PMToUserDeleted,
T.PortalID
FROM {databaseOwner}{objectQualifier}Forum_PM_Posts P
INNER JOIN {databaseOwner}{objectQualifier}Forum_PM_Threads T ON P.PMThreadID = T.PMThreadID
WHERE P.PMThreadID = @PMThreadID
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_PM_Get] @PMID INT
AS
SELECT P.PMID,
P.ParentPMID,
P.RemoteAddr,
P.Subject,
P.Body,
P.CreatedDate,
P.PMThreadID,
P.PMLevel,
P.FlatSortOrder,
P.PMFromUserID,
P.PMToUserID
FROM {databaseOwner}{objectQualifier}Forum_PM_Posts P
INNER JOIN {databaseOwner}{objectQualifier}Forum_PM_Threads PT ON P.PMThreadID = PT.PMThreadID
WHERE PMID = @PMID
AND PT.[PMThreadID] = P.PMThreadID
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_PM_GetAll]
(
@PMThreadID INT,
@PageIndex INT,
@PageSize INT,
@Descending BIT
)
AS
DECLARE @PageLowerBound INT
DECLARE @PageUpperBound INT
-- Set the page bounds
SET @PageLowerBound = @PageSize * @PageIndex
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
CREATE TABLE #PageIndex
(
IndexID INT IDENTITY(1, 1)
NOT NULL,
PMID INT
)
IF @Descending = 1
BEGIN
INSERT INTO #PageIndex ( PMID )
SELECT PMID
FROM {objectQualifier}Forum_PM_Posts P
WHERE P.[PMThreadID] = @PMThreadID
ORDER BY P.[FlatSortOrder] DESC
SELECT P.PMID,
P.ParentPMID,
P.RemoteAddr,
P.Subject,
P.Body,
P.CreatedDate,
P.PMThreadID,
P.PMLevel,
P.FlatSortOrder,
P.PMFromUserID,
P.PMToUserID,
P.PMFromUserID,
P.PMToUserID
FROM {databaseOwner}{objectQualifier}Forum_PM_Posts P
INNER JOIN #PageIndex I ON P.PMID = I.PMID
WHERE I.IndexID > @PageLowerBound
AND I.IndexID < @PageUpperBound
ORDER BY I.IndexID
SELECT COUNT(*) AS TotalRecords
FROM #PageIndex
END
ELSE
BEGIN
INSERT INTO #PageIndex ( PMID )
SELECT PMID
FROM {databaseOwner}{objectQualifier}Forum_PM_Posts P
WHERE P.[PMThreadID] = @PMThreadID
ORDER BY P.[FlatSortOrder] ASC
SELECT P.PMID,
P.ParentPMID,
P.RemoteAddr,
P.Subject,
P.Body,
P.CreatedDate,
P.PMThreadID,
P.PMLevel,
P.FlatSortOrder,
P.PMFromUserID,
P.PMToUserID,
P.PMFromUserID,
P.PMToUserID
FROM {databaseOwner}{objectQualifier}Forum_PM_Posts P
INNER JOIN #PageIndex I ON P.PMID = I.PMID
WHERE I.IndexID > @PageLowerBound
AND I.IndexID < @PageUpperBound
ORDER BY I.IndexID
SELECT COUNT(*) AS TotalRecords
FROM #PageIndex
END
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_PM_ThreadDelete]
(
@PMThreadID INT,
@UserId INT
)
AS
DECLARE @PMStartThreadUserID INT,
@PMReceiveThreadUserID INT
DECLARE @PMStartUserDeleted BIT,
@PMToUserDeleted BIT
SELECT @PMStartThreadUserID = PMStartThreadUserID,
@PMReceiveThreadUserID = PMReceiveThreadUserID,
@PMStartUserDeleted = PMStartUserDeleted,
@PMToUserDeleted = PMToUserDeleted
FROM {objectQualifier}Forum_PM_Threads
WHERE PMThreadID = @PMThreadID
IF @PMStartThreadUserID = @UserId
SET @PMStartUserDeleted = 1
IF @PMReceiveThreadUserID = @UserId
SET @PMToUserDeleted = 1
--Thread is deleted from both start user and to user so delete thread from db.
IF @PMToUserDeleted = 1
AND @PMStartUserDeleted = 1
BEGIN
DELETE FROM {databaseOwner}{objectQualifier}Forum_PM_Threads
WHERE PMThreadID = @PMThreadID
DELETE FROM {databaseOwner}{objectQualifier}Forum_PM_Posts
WHERE PMThreadID = @PMThreadID
END
ELSE
BEGIN
UPDATE {databaseOwner}{objectQualifier}Forum_PM_Threads
SET PMStartUserDeleted = @PMStartUserDeleted,
PMToUserDeleted = @PMToUserDeleted
WHERE PMThreadID = @PMThreadID
END
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_AA_PM_ThreadAdd]
@PMID INT,
@PMStartThreadUserID INT,
@PMReceiveThreadUserID INT,
@Subject NVARCHAR(100),
@PortalID INT,
@PMThreadId INT OUTPUT
AS
INSERT INTO {databaseOwner}{objectQualifier}Forum_PM_Threads
(
PortalID,
PMStartUserDeleted,
PMToUserDeleted,
Replies,
LastPostedPMID,
Views,
PMStartThreadUserID,
PMReceiveThreadUserID,
PMStartDate,
PMThreadSubject
)
VALUES (
@PortalID,
0,
0,
0,
@PMID,
0,
@PMStartThreadUserID,
@PMReceiveThreadUserID,
GETDATE(),
@Subject
)
SET @PMThreadID = @@IDENTITY
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_PM_Add]
(
@ParentPMID INT,
@PMFromUserID INT,
@RemoteAddr NVARCHAR(100),
@Subject NVARCHAR(250),
@Body NTEXT,
@PMToUserID INT,
@PortalID INT
)
AS
DECLARE @@PMID INT
DECLARE @@MaxFlatSortOrder INT
DECLARE @@ParentLevel INT
DECLARE @@PMThreadID INT
DECLARE @@CreatedDate DATETIME
IF @ParentPMID = 0 -- New PM, no pervious thread
BEGIN
-- Do INSERT into PM table
INSERT {databaseOwner}{objectQualifier}Forum_PM_Posts
(
ParentPMID,
RemoteAddr,
Subject,
Body,
PMLevel,
FlatSortOrder,
CreatedDate,
PMFromUserID,
PMToUserID
)
VALUES (
@ParentPMID,
@RemoteAddr,
@Subject,
@Body,
0,
0,
GETDATE(),
@PMFromUserID,
@PMToUserID
)
-- Get the new Post ID
SELECT @@PMID = @@IDENTITY
EXEC {databaseOwner}[{objectQualifier}Forum_AA_PM_ThreadAdd] @@PMID, @PMFromUserID,
@PMToUserID, @Subject, @PortalID, @@PMThreadID OUTPUT
-- Update Posts with the new post id
UPDATE {databaseOwner}{objectQualifier}Forum_PM_Posts
SET PMThreadID = @@PMThreadID
WHERE PMID = @@PMID
END
ELSE -- @ParentPostID <> 0 it's a reply to an existing PM
BEGIN
-- Get post information for what we are replying to
SELECT @@ParentLevel = PMLevel,
@@PMThreadID = PMThreadID
FROM {objectQualifier}Forum_PM_Posts
WHERE PMID = @ParentPMID
-- Calculate maximum flat sort order
SELECT @@MaxFlatSortOrder = MAX(FlatSortOrder)
FROM {databaseOwner}{objectQualifier}Forum_PM_Posts
WHERE PMThreadID = @@PMThreadID
-- Is there another post at the same level or higher
IF EXISTS ( SELECT *
FROM {databaseOwner}{objectQualifier}Forum_PM_Posts
WHERE PMLevel <= @@ParentLevel
AND PMThreadID = @@PMThreadID )
BEGIN
-- Find the next post at the same level or higher
INSERT {databaseOwner}{objectQualifier}Forum_PM_Posts
(
ParentPMID,
RemoteAddr,
Subject,
Body,
PMThreadID,
PMLevel,
FlatSortOrder,
CreatedDate,
PMFromUserID,
PMToUserID
)
VALUES (
@ParentPMID,
@RemoteAddr,
@Subject,
@Body,
@@PMThreadID,
@@ParentLevel + 1,
@@MaxFlatSortOrder + 1,
GETDATE(),
@PMFromUserID,
@PMToUserID
)
-- Get the new post ID
SELECT @@PMID = @@IDENTITY
END
-- update thread
EXEC {databaseOwner}[{objectQualifier}Forum_AA_PM_ThreadUpdate] @@PMThreadID, @@PMID
END
SELECT @@PMID
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_UserUpdateTrackingDuration') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_UserUpdateTrackingDuration
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_UserGet') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_UserGet
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_ModeratorGetByForum') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_ModeratorGetByForum
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_ModeratePostGet') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_ModeratePostGet
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PM_ThreadGetAll') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PM_ThreadGetAll
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_UserUpdate') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_UserUpdate
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PostGetAll') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PostGetAll
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_PostGet') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}{objectQualifier}Forum_PostGet
GO
if exists (SELECT * FROM dbo.SYSOBJECTS WHERE id = object_id(N'{databaseOwner}[{objectQualifier}Forum_PostGetAllForThread]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}[{objectQualifier}Forum_PostGetAllForThread]
GO
if exists (SELECT * FROM dbo.SYSOBJECTS WHERE id = object_id(N'{databaseOwner}[{objectQualifier}Forum_ForumsGetByModuleID]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure {databaseOwner}[{objectQualifier}Forum_ForumsGetByModuleID]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}Forum_vw_ForumUsers') and OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW {databaseOwner}{objectQualifier}Forum_vw_ForumUsers
GO
ALTER TABLE {databaseOwner}[{objectQualifier}Forum_Users] WITH NOCHECK
ADD [LockTrust] [bit] DEFAULT (0) NOT NULL
GO
ALTER TABLE {databaseOwner}[{objectQualifier}Forum_Users] WITH NOCHECK
ADD [IsBanned] [bit] DEFAULT (0) NOT NULL
GO
ALTER TABLE {databaseOwner}[{objectQualifier}Forum_Users] WITH NOCHECK
ADD [LiftBanDate] [datetime] NULL
GO
ALTER TABLE {databaseOwner}[{objectQualifier}Forum_Forums] WITH NOCHECK
ADD [ForumLink] nvarchar(255) NULL
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_TrackedThreads_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_TrackedThreads DROP CONSTRAINT FK_{objectQualifier}Forum_TrackedThreads_{objectQualifier}Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_ModerationAudit_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_ModerationAudit DROP CONSTRAINT FK_{objectQualifier}Forum_ModerationAudit_{objectQualifier}Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_Moderators_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_Moderators DROP CONSTRAINT FK_{objectQualifier}Forum_Moderators_{objectQualifier}Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_Posts_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_Posts DROP CONSTRAINT FK_{objectQualifier}Forum_Posts_{objectQualifier}Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_ThreadRating_Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_ThreadRating DROP CONSTRAINT FK_{objectQualifier}Forum_ThreadRating_Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_ThreadsRead_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_ThreadsRead DROP CONSTRAINT FK_{objectQualifier}Forum_ThreadsRead_{objectQualifier}Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_TrackedForums_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_TrackedForums DROP CONSTRAINT FK_{objectQualifier}Forum_TrackedForums_{objectQualifier}Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_UserForums_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_UserForums DROP CONSTRAINT FK_{objectQualifier}Forum_UserForums_{objectQualifier}Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Forum_UserThreads_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_UserThreads DROP CONSTRAINT FK_{objectQualifier}Forum_UserThreads_{objectQualifier}Forum_Users
GO
if exists (select * from dbo.sysobjects where id = object_id(N'PK_{objectQualifier}Forum_Users') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
ALTER TABLE {databaseOwner}{objectQualifier}Forum_Users DROP CONSTRAINT PK_{objectQualifier}Forum_Users
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_UserUpdateTrackingDuration]
@TrackingDuration INT,
@UserID INT,
@PortalID INT
AS
BEGIN
UPDATE {databaseOwner}{objectQualifier}Forum_Users
SET TrackingDuration = @TrackingDuration
WHERE UserID = @UserID
AND PortalID = @PortalID
END
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_UserGet]
(
@UserID INT,
@PortalID INT
)
AS
SELECT [UserID],
[Signature],
[Occupation],
[Interests],
[MSN],
[Yahoo],
[AIM],
[ICQ],
[Skin],
[UserAvatar],
[Avatar],
[AdditionalAvatars],
[PostCount],
[LastActivity],
[FlatView],
[IsTrusted],
[EnableDisplayInMemberList],
[EnableOnlineStatus],
[ThreadsPerPage],
[PostsPerPage],
[ViewDescending],
[EnableModNotification],
[EnablePM],
[EnablePMNotifications],
[EmailFormat],
[PortalID],
[EnablePublicEmail],
[TrackingDuration],
[LockTrust],
[IsBanned],
[LiftBanDate]
FROM {databaseOwner}{objectQualifier}Forum_Users
WHERE [UserId] = @UserID
AND [PortalID] = @PortalID
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_ModeratorGetByForum]
( @ForumID INT )
AS
SELECT UserID,
ForumID,
AssignedDate,
PostsModerated
FROM {databaseOwner}{objectQualifier}Forum_Moderators
WHERE ForumID = @ForumID
GO
CREATE VIEW {databaseOwner}[{objectQualifier}Forum_vw_ForumUsers]
AS
SELECT U.Username, U.FirstName, U.LastName, U.DisplayName, U.Email,
U.UserID, FU.PortalID, FU.EnablePM, FU.EnableOnlineStatus,
FU.EnableDisplayInMemberList, FU.PostCount, UP.CreatedDate
FROM {databaseOwner}{objectQualifier}Users U INNER JOIN
{databaseOwner}{objectQualifier}Forum_Users FU ON U.UserID = FU.UserID INNER JOIN
{databaseOwner}{objectQualifier}UserPortals UP ON U.UserID = UP.UserId AND
FU.PortalID = UP.PortalId
WHERE (FU.EnableDisplayInMemberList = 1)
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_ModeratePostGet] ( @ForumID INT )
AS
SELECT P.[ParentPostID],
P.[UserID],
P.[RemoteAddr],
P.[Notify],
P.[Subject],
P.[Body],
P.[CreatedDate],
P.[ThreadID],
P.[PostLevel],
P.[TreeSortOrder],
P.[FlatSortOrder],
P.[PostID],
P.[UpdatedDate],
P.[UpdatedByUser],
P.[Attachments]
FROM {databaseOwner}{objectQualifier}Forum_Posts P
INNER JOIN {databaseOwner}{objectQualifier}Forum_Threads T ON P.ThreadID = T.ThreadID
WHERE P.IsApproved = 0
AND T.ForumID = @ForumID
ORDER BY P.CreatedDate ASC
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_PM_ThreadGetAll]
(
@UserID INT,
@PageSize INT,
@PageIndex INT,
@PortalId INT
)
AS
DECLARE @PageLowerBound INT
DECLARE @PageUpperBound INT
-- Set the page bounds
SET @PageLowerBound = @PageSize * @PageIndex
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
CREATE TABLE #PageIndex
(
IndexID INT IDENTITY(1, 1)
NOT NULL,
PMThreadID INT
)
INSERT INTO #PageIndex ( PMThreadID )
SELECT PMThreadID
FROM {databaseOwner}{objectQualifier}Forum_PM_Threads
WHERE ( PMStartThreadUserID = @UserId
OR PMReceiveThreadUserID = @UserId
)
AND PortalId = @PortalId
AND ( ( PMStartThreadUserID = @UserId
AND PMStartUserDeleted = 0
)
OR ( PMReceiveThreadUserID = @UserId
AND PMToUserDeleted = 0
)
)
ORDER BY LastPostedPMID DESC
SELECT T.PMThreadID,
T.PMThreadSubject,
P.PMFromUserID,
P.PMToUserID,
P.Body,
T.PMStartDate,
T.PMStartThreadUserID,
T.PMReceiveThreadUserID,
T.Views,
T.LastPostedPMID,
T.Replies,
P.CreatedDate AS LastPMDate
FROM {databaseOwner}{objectQualifier}Forum_PM_Threads T
INNER JOIN {databaseOwner}{objectQualifier}Forum_PM_Posts P ON T.LastPostedPMID = P.PMID
INNER JOIN #PageIndex I ON T.PMThreadID = I.PMThreadID
WHERE I.IndexID > @PageLowerBound
AND I.IndexID < @PageUpperBound
ORDER BY I.IndexID
SELECT COUNT(*) AS TotalRecords
FROM #PageIndex
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_UserUpdate]
(
@UserId INT,
@UserAvatar BIT,
@Avatar NVARCHAR(255),
@AdditionalAvatars NVARCHAR(255),
@Signature NVARCHAR(1024),
@Occupation NVARCHAR(255),
@Interests NVARCHAR(255),
@MSN NVARCHAR(128),
@Yahoo NVARCHAR(128),
@AIM NVARCHAR(128),
@ICQ NVARCHAR(128),
@Skin NVARCHAR(255),
@IsTrusted BIT,
@EnableDisplayInMemberList BIT,
@EnableOnlineStatus BIT,
@ThreadsPerPage INT,
@PostsPerPage INT,
@CollapseGroups NVARCHAR(255),
@EnableModNotification BIT,
@EnablePublicEmail BIT,
@EnablePM BIT,
@EnablePMNotifications BIT,
@EmailFormat INT,
@PortalID INT,
@LockTrust BIT
)
AS
UPDATE {databaseOwner}{objectQualifier}Forum_Users
SET [UserAvatar] = @UserAvatar,
[Avatar] = @Avatar,
[AdditionalAvatars] = @AdditionalAvatars,
[Signature] = @Signature,
[Occupation] = @Occupation,
[Interests] = @Interests,
[MSN] = @MSN,
[Yahoo] = @Yahoo,
[AIM] = @AIM,
[ICQ] = @ICQ,
[Skin] = @Skin,
[IsTrusted] = @IsTrusted,
[EnableDisplayInMemberList] = @EnableDisplayInMemberList,
[EnableOnlineStatus] = @EnableOnlineStatus,
[ThreadsPerPage] = @ThreadsPerPage,
[PostsPerPage] = @PostsPerPage,
[CollapseGroups] = @CollapseGroups,
[EnableModNotification] = @EnableModNotification,
[EnablePublicEmail] = @EnablePublicEmail,
[EnablePM] = @EnablePM,
[EnablePMNotifications] = @EnablePMNotifications,
[EmailFormat] = @EmailFormat,
[LockTrust] = @LockTrust
WHERE [UserID] = @UserID
AND [PortalID] = @PortalID
GO
CREATE PROCEDURE {databaseOwner}{objectQualifier}Forum_PostGetAll
(
@ThreadID int,
@ThreadPage int,
@PostsPerPage int,
@TreeView bit,
@Descending bit,
@PortalID int
)
AS
DECLARE @StartSortOrder int
DECLARE @StopSortOrder int
IF (@TreeView = 1)
BEGIN
IF @Descending = 1
BEGIN
SET @StopSortOrder = (SELECT MAX(TreeSortOrder) From {databaseOwner}{objectQualifier}Forum_Posts Where ThreadID = @ThreadID) - (@ThreadPage * @PostsPerPage)
SET @StartSortOrder = @StopSortOrder - @PostsPerPage + 1
SELECT
P.[ParentPostID], -- Post fields
P.[UserID],
P.[RemoteAddr],
P.[Notify],
P.[Subject],
P.[Body],
P.[CreatedDate],
P.[ThreadID],
P.[PostLevel],
P.[TreeSortOrder],
P.[FlatSortOrder],
P.[PostID],
P.[UpdatedDate],
P.[UpdatedByUser],
P.[IsApproved],
P.[IsLocked],
P.[IsClosed],
P.[Attachments],
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT Folder + FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentURL,
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentName,
P.PostReported
FROM
{databaseOwner}{objectQualifier}Forum_Posts P
WHERE
[ThreadID] = @ThreadID AND
P.[IsApproved] = 1 AND
P.[TreeSortOrder] >= @StartSortOrder AND
P.[TreeSortOrder] <= @StopSortOrder
ORDER BY
P.[TreeSortOrder] DESC
END
ELSE
BEGIN
SET @StartSortOrder = @ThreadPage * @PostsPerPage
SET @StopSortOrder = @StartSortOrder + @PostsPerPage - 1
SELECT
P.[ParentPostID], -- Post fields
P.[UserID],
P.[RemoteAddr],
P.[Notify],
P.[Subject],
P.[Body],
P.[CreatedDate],
P.[ThreadID],
P.[PostLevel],
P.[TreeSortOrder],
P.[FlatSortOrder],
P.[PostID],
P.[UpdatedDate],
P.[UpdatedByUser],
P.[IsApproved],
P.[IsLocked],
P.[IsClosed],
P.[Attachments],
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT Folder + FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentURL,
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentName,
P.PostReported
FROM
{databaseOwner}{objectQualifier}Forum_Posts P
WHERE
[ThreadID] = @ThreadID AND
P.[IsApproved] = 1 AND
P.[TreeSortOrder] >= @StartSortOrder AND
P.[TreeSortOrder] <= @StopSortOrder
ORDER BY
P.[TreeSortOrder]
END
END
ELSE
BEGIN
IF @Descending = 1
BEGIN
SET @StopSortOrder = (SELECT MAX(FlatSortOrder) From {databaseOwner}{objectQualifier}Forum_Posts Where ThreadID = @ThreadID) - (@ThreadPage * @PostsPerPage)
SET @StartSortOrder = @StopSortOrder - @PostsPerPage + 1
SELECT
P.[ParentPostID], -- Post fields
P.[UserID],
P.[RemoteAddr],
P.[Notify],
P.[Subject],
P.[Body],
P.[CreatedDate],
P.[ThreadID],
P.[PostLevel],
P.[TreeSortOrder],
P.[FlatSortOrder],
P.[PostID],
P.[UpdatedDate],
P.[UpdatedByUser],
P.[IsApproved],
P.[IsLocked],
P.[IsClosed],
P.[Attachments],
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT Folder + FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentURL,
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentName,
P.PostReported
FROM
{databaseOwner}{objectQualifier}Forum_Posts P
WHERE
[ThreadID] = @ThreadID AND
P.[IsApproved] = 1 AND
P.[FlatSortOrder] >= @StartSortOrder AND
P.[FlatSortOrder] <= @StopSortOrder
ORDER BY
P.[FlatSortOrder] DESC
END
ELSE
BEGIN
SET @StartSortOrder = @ThreadPage * @PostsPerPage
SET @StopSortOrder = @StartSortOrder + @PostsPerPage - 1
SELECT
P.[ParentPostID], -- Post fields
P.[UserID],
P.[RemoteAddr],
P.[Notify],
P.[Subject],
P.[Body],
P.[CreatedDate],
P.[ThreadID],
P.[PostLevel],
P.[TreeSortOrder],
P.[FlatSortOrder],
P.[PostID],
P.[UpdatedDate],
P.[UpdatedByUser],
P.[IsApproved],
P.[IsLocked],
P.[IsClosed],
P.[Attachments],
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT Folder + FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentURL,
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentName,
P.PostReported
FROM
{databaseOwner}{objectQualifier}Forum_Posts P
WHERE
[ThreadID] = @ThreadID AND
P.[IsApproved] = 1 AND
P.[FlatSortOrder] >= @StartSortOrder AND
P.[FlatSortOrder] <= @StopSortOrder
ORDER BY
P.[FlatSortOrder]
END
END
GO
CREATE PROCEDURE {databaseOwner}{objectQualifier}Forum_PostGet
(
@PostID int,
@PortalID int
)
AS
SELECT
P.[ParentPostID], -- Post fields
P.[UserID],
P.[RemoteAddr],
P.[Notify],
P.[Subject],
P.[Body],
P.[CreatedDate],
P.[ThreadID],
P.[PostLevel],
P.[TreeSortOrder],
P.[FlatSortOrder],
P.[PostID],
P.[UpdatedDate],
P.[UpdatedByUser],
P.[IsApproved],
P.[IsLocked],
P.[IsClosed],
P.[Attachments],
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT Folder + FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentURL,
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentName,
P.PostReported
FROM
{databaseOwner}{objectQualifier}Forum_Posts P
WHERE
P.[PostID] = @PostID
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_PostGetAllForThread]
@ThreadID int,
@PortalID int
AS
SELECT
P.[ParentPostID], -- Post fields
P.[UserID],
P.[RemoteAddr],
P.[Notify],
P.[Subject],
P.[Body],
P.[CreatedDate],
P.[ThreadID],
P.[PostLevel],
P.[TreeSortOrder],
P.[FlatSortOrder],
P.[PostID],
P.[UpdatedDate],
P.[UpdatedByUser],
P.[IsApproved],
P.[IsLocked],
P.[IsClosed],
P.[Attachments],
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT Folder + FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentURL,
CASE WHEN LEFT(LOWER(FileAttachmentURL), 6) = 'fileid' THEN (SELECT FileName FROM {databaseOwner}{objectQualifier}Files WHERE 'fileid=' + CONVERT(varchar, {databaseOwner}{objectQualifier}Files.FileID) = FileAttachmentURL) ELSE FileAttachmentURL END AS FileAttachmentName,
P.PostReported
FROM
{databaseOwner}{objectQualifier}Forum_Posts P
WHERE
P.ThreadID = @ThreadID
GO
DELETE FROM {databaseOwner}{objectQualifier}Forum_Templates
/* INSERT DeletePost Templates */
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('DuplicatePost',
'Your post has been deleted because it is a duplicate of an existing post.
[ORIGINALPOST]',
5 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('PolicyPost',
'Your post was deleted because it does not adhere to the policy of this forum.
[ORIGINALPOST]',
5 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('SpamPost',
'Your post has been deleted because it appears to be spam.
[ORIGINALPOST]',
5 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('OffTopicPost',
'Your post has been deleted because it appears to be off topic.
[ORIGINALPOST]',
5 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('ProfanePost',
'Your post has been deleted because it contains content which includes profanity.
[ORIGINALPOST]',
5 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('AdvertisingPost',
'Your post was deleted because it contains advertising in its content.
[ORIGINALPOST]',
5 ,
-1 ,
1)
GO
/* Post Reported Templates */
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('DuplicatePost',
'This post has been reported because it is a duplicate of an existing post.
',
9 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('PolicyPost',
'This post was reported because it does not adhere to the policy of this forum.
',
9 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('SpamPost',
'This post has been reported because it appears to be spam.
',
9 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('OffTopicPost',
'This post has been reported because it appears to be off topic.
',
9 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('ProfanePost',
'This post has been reported because it contains content which includes profanity.
',
9 ,
-1 ,
1)
GO
INSERT INTO {databaseOwner}{objectQualifier}Forum_Templates
([TemplateName]
,[TemplateValue]
,[ForumTemplateTypeID]
,[ModuleID]
,[IsActive])
VALUES
('AdvertisingPost',
'This post was reported because it contains advertising in its content.
',
9 ,
-1 ,
1)
GO
UPDATE {databaseOwner}[{objectQualifier}Forum_EmailTemplates]
SET
[EmailSubject] = 'Post Deleted in [FORUMNAME]',
[HTMLBody] = '
<table height="100%" cellspacing="0" cellpadding="3" width="100%" border="0">
<tbody>
<tr>
<td style="BACKGROUND: #dedede" height="20">
<font face="Tahoma" color="#403f3f" size="2"> You can view this forum by clicking <b><a style="COLOR: #cc0000" href="[POSTURL]">here.</a></b><font style="BACKGROUND-COLOR: #dedede" face="Times New Roman" color="#000000" size="3"></font></font>
</td>
</tr>
<tr>
<td style="BACKGROUND: #ececec" height="20">
<font face="Tahoma" color="#cc0000" size="2">
<b> [GROUPNAME]</b>
</font>
</td>
</tr>
<tr>
<td style="PADDING-RIGHT: 2.25pt; PADDING-LEFT: 2.25pt; BACKGROUND: #dedede; PADDING-BOTTOM: 2.25pt; PADDING-TOP: 2.25pt" height="30">
<font face="Tahoma" color="#403f3f" size="3">
<b> [POSTSUBJECT]</b>
</font>
</td>
</tr>
<tr>
<td style="BACKGROUND: #ececec" align="left" height="20">
<font face="Tahoma" color="#000000" size="2"> by [POSTAUTHOR] posted on [DATEPOSTED] </font>
</td>
</tr>
<tr>
<td style="BACKGROUND: #f8f8f8" valign="top" height="100%">
<p>
<font face="Tahoma" color="#cc0000" size="2"> A post in forum [FORUMNAME] has been deleted. </font>
</p>
<p>
<font face="Tahoma" color="#cc0000" size="2">[POSTBODY]</font>
</p>
<p>[NOTES]</p>
<p> </p>
</td>
</tr>
<tr>
<td style="BACKGROUND: #dedede" height="20">
<font face="Tahoma" color="#403f3f" size="2"> You can view this forum by clicking <b><a style="COLOR: #cc0000" href="[POSTURL]">here.</a></b><font style="BACKGROUND-COLOR: #dedede" face="Times New Roman" color="#000000" size="3"></font></font>
</td>
</tr>
</tbody>
</table>
<p align="center">
<font size="1">If you no longer wish to receive notifications, please visit <a href="[PROFILELINK]">Your Profile</a> and change your notifications options.</font>
</p>',
[TextBody] = '
The post [POSTSUBJECT] in [FORUMNAME] has been deleted.
[POSTBODY]
[NOTES]
To view this forum, visit: [POSTURL]
If you no longer wish to receive notifications, please visit [PROFILELINK] and change your notifications options.',
[IsActive] = 1
WHERE
[EmailTemplateName] = 'ModeratorPostDeleted'
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Forum_ForumsGetByModuleID] @ModuleID INT
AS
SELECT ForumID,
F.Name
FROM {databaseOwner}{objectQualifier}Forum_Forums F
INNER JOIN {databaseOwner}{objectQualifier}Forum_Groups G ON F.GroupID = G.GroupID
WHERE ModuleID = @ModuleID
GO
DECLARE @ModuleDefID int
SELECT @ModuleDefID = ModuleDefID FROM {databaseOwner}{objectQualifier}ModuleDefinitions WHERE FriendlyName = 'Forum'
IF @ModuleDefID > 0
BEGIN
DELETE FROM {databaseOwner}{objectQualifier}Lists WHERE DefinitionID = @ModuleDefId
END
GO