Snitz Forums 2000
Snitz Forums 2000
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Help Groups for Snitz Forums 2000 Users
 Help: MOD Implementation
 Points Mod Compatibility
 New Topic
 Printer Friendly
Next Page
Author Previous Topic Topic Next Topic
Page: of 3

MaGraham
Senior Member

USA
1297 Posts

Posted - 29 November 2013 :  05:40:51  Show Profile  Reply with Quote
Since the "Points Mod" was written in 2003, would someone be interested in making it more compatible with v3.4.07 since v3.4.07 was released in 2009?



"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley

MaGraham
Senior Member

USA
1297 Posts

Posted - 01 December 2013 :  23:19:39  Show Profile

Do you guys think I'd have any problems getting this mod to work?

[nervous]


"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 02 December 2013 :  02:36:17  Show Profile
I'll make a 3.4.07 version today.
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 02 December 2013 :  07:30:24  Show Profile
Done
Go to Top of Page

MaGraham
Senior Member

USA
1297 Posts

Posted - 02 December 2013 :  12:06:00  Show Profile
Wonderful!

I am so excited!

Thank you so much, Carefree!

Downloading it now. . .


"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley
Go to Top of Page

MaGraham
Senior Member

USA
1297 Posts

Posted - 02 December 2013 :  14:27:51  Show Profile

Installed this without any problems, Carefree!

A couple of things didn't match up just perfect, because of mods I had installed, but I figured each of them out easily enough.

I may have some questions. A couple of immediate questions are:

How does the "New user registration" work? Does that mean when a member registers he/she will automatically get points?

How does the "Add Glow to UserName" work? Is that created automatically if a member chooses to purchase that with his/her points?

How about the "Custom Title" feature? I've been changing the member's title to "Site Supporter" when someone makes a donation. How will this feature affect that?

Members are already allowed to use a custom avatar since they upload their own. So, I can just change that or any of these features to something else, right?

This is COOL!

Thank you so much, Carefree! I LOVE your work!!!


"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley
Go to Top of Page

MaGraham
Senior Member

USA
1297 Posts

Posted - 02 December 2013 :  14:46:44  Show Profile


OOPS! I just received the following error message.


Microsoft VBScript compilation error '800a0414'

Cannot use parentheses when calling a Sub

/fp/post_info.asp, line 814

doUCount(strT_Last_Post_Author, "T", False)
-------------------------------------------^



Here are lines 812 - 818

if ForumCountMPosts <> 0 then
' ## Points Below
doUCount(strT_Last_Post_Author, "T", False)
' ## Points Above
end if
doULastPost(strT_Last_Post_Author)
end if




"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley

Edited by - MaGraham on 02 December 2013 21:13:58
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 03 December 2013 :  10:21:52  Show Profile
Add the word Call in front of that line, see if it fixes it:

Call doUCount(strT_Last_Post_Author, "T", False)

Go to Top of Page

MaGraham
Senior Member

USA
1297 Posts

Posted - 03 December 2013 :  13:00:56  Show Profile

That corrected the error, Carefree!

However; I just made a post on a member's account but that member didn't receive any points.

I've made sure the Points System is on. It was on by default.


"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley
Go to Top of Page

MaGraham
Senior Member

USA
1297 Posts

Posted - 03 December 2013 :  20:47:34  Show Profile

Here's my post_info.asp.




<%
'#################################################################################
'## Snitz Forums 2000 v3.4.07
'#################################################################################
'## Copyright (C) 2000-06 Michael Anderson, Pierre Gorissen,
'##                       Huw Reddick and Richard Kinser
'##
'## This program is free software; you can redistribute it and/or
'## modify it under the terms of the GNU General Public License
'## as published by the Free Software Foundation; either version 2
'## of the License, or (at your option) any later version.
'##
'## All copyright notices regarding Snitz Forums 2000
'## must remain intact in the scripts and in the outputted HTML
'## The "powered by" text/logo with a link back to
'## http://forum.snitz.com in the footer of the pages MUST
'## remain visible when the pages are viewed on the internet or intranet.
'##
'## This program is distributed in the hope that it will be useful,
'## but WITHOUT ANY WARRANTY; without even the implied warranty of
'## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
'## GNU General Public License for more details.
'##
'## You should have received a copy of the GNU General Public License
'## along with this program; if not, write to the Free Software
'## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
'##
'## Support can be obtained from our support forums at:
'## http://forum.snitz.com
'##
'## Correspondence and Marketing Questions can be sent to:
'## manderson@snitz.com
'##
'#################################################################################
%>
<!--#INCLUDE FILE="config.asp"-->
<!--#INCLUDE FILE="inc_sha256.asp"-->
<!--#INCLUDE FILE="inc_header.asp" -->
<!--#INCLUDE FILE="inc_func_secure.asp" -->
<!--#INCLUDE FILE="inc_func_member.asp" -->
<!--#INCLUDE FILE="inc_moderation.asp" -->
<!--#INCLUDE FILE="inc_subscription.asp" -->
<!--#INCLUDE FILE="inc_func_count.asp" -->
<!--#INCLUDE FILE="cal_post_info1.asp" -->
<%
if request("ARCHIVE") = "true" then
   strActivePrefix = strTablePrefix & "A_"
   ArchiveView = "true"
else
   strActivePrefix = strTablePrefix
   ArchiveView = ""
end if

'Topic Move Check
Dim blnTopicMoved
Dim fSubscription
'####### Poll Mod #########
Dim txtAns()
'##########################

fsubscription = 1
blnTopicMoved = false

if strAuthType = "db" and strDBNTUserName = "" and len(Request.Form("Password")) <> 64 then
   strPassword = sha256("" & Request.Form("Password"))
else
   strPassword = ChkString(Request.Form("Password"),"SQLString")
end if

if strAuthType = "db" and strDBNTUserName = "" then
   strDBNTUserName = Request.Form("UserName")
   if mLev = 0 then mLev = cLng(chkUser(strDBNTUserName, strPassword,-1))
end if

MethodType = chkString(Request.Form("Method_Type"),"SQLString")

if Request.Form("CAT_ID") <> "" then
   if IsNumeric(Request.Form("CAT_ID")) = True then
      Cat_ID = cLng(Request.Form("CAT_ID"))
   else
      Response.Redirect("default.asp")
   end if
end if
if Request.Form("FORUM_ID") <> "" then
   if IsNumeric(Request.Form("FORUM_ID")) = True then
      Forum_ID = cLng(Request.Form("FORUM_ID"))
   else
      Response.Redirect("default.asp")
   end if
end if
if Request.Form("TOPIC_ID") <> "" then
   if IsNumeric(Request.Form("TOPIC_ID")) = True then
      Topic_ID = cLng(Request.Form("TOPIC_ID"))
   else
      Response.Redirect("default.asp")
   end if
end if
if Request.Form("REPLY_ID") <> "" then
   if IsNumeric(Request.Form("REPLY_ID")) = True then
      Reply_ID = cLng(Request.Form("REPLY_ID"))
   else
      Response.Redirect("default.asp")
   end if
end if
if Request.Form("Subscription") <> "" then
   fSubscription = cLng(Request.Form("Subscription"))
else
   fSubscription = 0
end if

if Request.Form("cookies") = "yes" then
   strSelectSize = Request.Form("SelectSize")
end if

if strSelectSize = "" or IsNull(strSelectSize) then
   strSelectSize = Request.Cookies(strUniqueID & "strSelectSize")
end if
if not(IsNull(strSelectSize)) and strSelectSize <> "" then
   if strSetCookieToForum = 1 then
         Response.Cookies(strUniqueID & "strSelectSize").Path = strCookieURL
   else
      Response.Cookies(strUniqueID & "strSelectSize").Path = "/"
   end if
   Response.Cookies(strUniqueID & "strSelectSize") = strSelectSize
   Response.Cookies(strUniqueID & "strSelectSize").expires = dateAdd("yyyy", 1, strForumTimeAdjust)
end if

if MethodType = "Edit" or _
MethodType = "EditTopic" or _
MethodType = "Reply" or _
MethodType = "ReplyQuote" or _
MethodType = "TopicQuote" then
   '## check if topic exists in TOPICS table
   set rsTCheck = my_Conn.Execute ("SELECT TOPIC_ID FROM " & strActivePrefix & "TOPICS WHERE TOPIC_ID = " & Topic_ID)
   if rsTCheck.EOF or rsTCheck.BOF then
      set rsTCheck = nothing
      Go_Result "Sorry, that Topic no longer exists in the Database", 0
   end if
   set rsTCheck = nothing
end if

'set rs = Server.CreateObject("ADODB.RecordSet")

err_Msg = ""
ok = ""

if ArchiveView <> "" then
   if MethodType = "Reply" or _
   MethodType = "ReplyQuote" or _
   MethodType = "TopicQuote" then
      Go_Result "This is not allowed in the Archives.", 0
   end if
end if

if MethodType = "Edit" then
   '## Forum_SQL - Get the author of the reply
   strSql = "SELECT R_AUTHOR "
   strSql = strSql & " FROM " & strActivePrefix & "REPLY "
   strSql = strSql & " WHERE REPLY_ID = " & REPLY_ID

   set rsStatus = my_Conn.Execute(strSql)
   if rsStatus.EOF or rsStatus.BOF then
      rsStatus.close
      set rsStatus = nothing
      Go_Result "Please don't attempt to edit the URL<br />to gain access to locked Forums/Categories.", 0
   else
      strReplyAuthor = rsStatus("R_AUTHOR")
      rsStatus.close
      set rsStatus = nothing
   end if
end if

if MethodType = "Edit" or _
MethodType = "EditTopic" or _
MethodType = "Reply" or _
MethodType = "ReplyQuote" or _
MethodType = "Topic" or _
MethodType = "TopicQuote" then
   if MethodType <> "Topic" then
      '## Forum_SQL - Find out if the Category, Forum or Topic is Locked or Un-Locked and if it Exists
      strSql = "SELECT C.CAT_STATUS, C.CAT_NAME, " &_
      "F.FORUM_ID, F.F_STATUS, F.F_TYPE, F.F_SUBJECT, " &_
      "T.T_STATUS, T.T_AUTHOR, T.T_SUBJECT " &_
      " FROM " & strTablePrefix & "CATEGORY C, " &_
      strTablePrefix & "FORUM F, " &_
      strActivePrefix & "TOPICS T" &_
      " WHERE C.CAT_ID = T.CAT_ID " &_
      " AND F.FORUM_ID = T.FORUM_ID " &_
      " AND T.TOPIC_ID = " & Topic_ID & ""
   else
      '## Forum_SQL - Find out if the Category or Forum is Locked or Un-Locked and if it Exists
      strSql = "SELECT C.CAT_STATUS, C.CAT_NAME, " &_
      "F.FORUM_ID, F.F_STATUS, F.F_TYPE, F.F_SUBJECT " &_
      " FROM " & strTablePrefix & "CATEGORY C, " &_
      strTablePrefix & "FORUM F" &_
      " WHERE C.CAT_ID = F.CAT_ID " &_
      " AND F.FORUM_ID = " & Forum_ID & ""
        end if

   set rsStatus = my_Conn.Execute(strSql)
   if rsStatus.EOF or rsStatus.BOF then
      rsStatus.close
      set rsStatus = nothing
      Go_Result "Please don't attempt to edit the URL<br />to gain access to locked Forums/Categories.", 0
   else
      blnCStatus = rsStatus("CAT_STATUS")
      strCatTitle = rsStatus("CAT_NAME")
      blnFStatus = rsStatus("F_STATUS")
      Forum_ID = rsStatus("FORUM_ID")
      Forum_Type = rsStatus("F_TYPE")
      strForum_Title = rsStatus("F_SUBJECT")
      if MethodType <> "Topic" then
         blnTStatus = rsStatus("T_STATUS")
         strTopicAuthor = rsStatus("T_AUTHOR")
         strTopicTitle = rsStatus("T_SUBJECT")
      else
         blnTStatus = 1
      end if
      rsStatus.close
      set rsStatus = nothing
   end if

   if mLev = 4 then
      AdminAllowed = 1
      ForumChkSkipAllowed = 1
   elseif mLev = 3 then
      if chkForumModerator(Forum_ID, ChkString(strDBNTUserName, "decode")) = "1" then
         AdminAllowed = 1
         ForumChkSkipAllowed = 1
      else
         if lcase(strNoCookies) = "1" then
            AdminAllowed = 1
            ForumChkSkipAllowed = 0
         else
            AdminAllowed = 0
            ForumChkSkipAllowed = 0
         end if
      end if
   elseif lcase(strNoCookies) = "1" then
      AdminAllowed = 1
      ForumChkSkipAllowed = 0
   else
      AdminAllowed = 0
      ForumChkSkipAllowed = 0
   end if

   select case MethodType
      case "Topic"
         if (Forum_Type = 1) then
            Go_Result "You have attempted to post a New Topic to a Forum designated as a Web Link",0
         end if
         if (blnCStatus = 0) and (AdminAllowed = 0) then
            Go_Result "You have attempted to post a New Topic to a Locked Category", 0
         end if
         if (blnFStatus = 0) and (AdminAllowed = 0) then
            Go_Result "You have attempted to post a New Topic to a Locked Forum", 0
         end if
      case "EditTopic"
         if ((blnCStatus = 0) or (blnFStatus = 0) or (blnTStatus = 0)) and (AdminAllowed = 0) then
            Go_Result "You have attempted to edit a Locked Topic", 0
         end if
      case "Reply", "ReplyQuote", "TopicQuote"
         if ((blnCStatus = 0) or (blnFStatus = 0) or (blnTStatus = 0)) and (AdminAllowed = 0) then
            Go_Result "You have attempted to Reply to a Locked Topic", 0
         end if
      case "Edit"
         if ((blnCStatus = 0) or (blnFStatus = 0) or (blnTStatus = 0)) and (AdminAllowed = 0) then
            Go_Result "You have attempted to Edit a Reply to a Locked Topic", 0
         end if
   end select
'#######    Begin UserGroup MOD     #######
    if isDeniedMember(Forum_ID,MemberID) = 1 then
        Go_Result "You have been denied access to this forum"
    end if
    if isReadOnly(Forum_ID,MemberID) = 1 then
        Go_Result "Your access to this forum is read-only"
    end if
'#######     End UserGroup MOD      #######
   if strPrivateForums = "1" and ForumChkSkipAllowed = 0 then
      if not(chkForumAccess(Forum_ID,MemberID,false)) then
            Go_Result "You do not have access to post to this forum", 0
      end if
   end if
end if
'##DRAFTS ## User Space Mod ## ADD line below ######################

 %><!--#INCLUDE FILE="inc_draft_info.asp" --><%

'## End ## Thats all for this file #############################

' If Creating a new topic or reply, the subscription and moderation capabilities will need to be checked.

Moderation = "No"
'############# Merge Topic Mod ################
'Added "or _ MethodType = "MergeTopic"" in following if...then statement
if MethodType = "Topic" or _
   MethodType = "Edit" or _
   MethodType = "Reply" or _
   MethodType = "ReplyQuote" or _
   MethodType = "TopicQuote" or _
   MethodType = "Forum" or _
   MethodType = "EditForum" or _
   MethodType = "MergeTopic" or _
   MethodType = "SplitTopic"  then
'#################################################

   if strModeration > 0 or strSubscription > 0 then
      '## Forum_SQL - Get the Cat_Subscription, Cat_Moderation, Forum_Subscription, Forum_Moderation
      strSql = "SELECT C.CAT_MODERATION, C.CAT_SUBSCRIPTION, C.CAT_NAME "
      if MethodType <> "Forum" then
         strSql = strSql & ", F.F_MODERATION, F.F_SUBSCRIPTION "
      end if
      strsql = strsql & " FROM " & strTablePrefix & "CATEGORY C"
      if MethodType <> "Forum" then
         strSql = strSql & ", " & strTablePrefix & "FORUM F"
      end if
      strSql = strSql & " WHERE C.CAT_ID = " & Cat_ID
      if MethodType <> "Forum" then
         strSql = strSql & "   AND F.FORUM_ID = " & Forum_ID
      end if
      set rsCheck = my_Conn.Execute (strSql)

      CatName           = rsCheck("CAT_NAME")
      CatSubscription   = rsCheck("CAT_SUBSCRIPTION")
      CatModeration     = rsCheck("CAT_MODERATION")
      if MethodType <> "Forum" then
         ForumSubscription = rsCheck("F_SUBSCRIPTION")
         ForumModeration   = rsCheck("F_MODERATION")
      end if
      rsCheck.Close
      set rsCheck = nothing
      if MethodType <> "Forum" then
         '## Moderators and Admins are not subject to Moderation
         if strModeration = 0 or mlev = 4 or chkForumModerator(Forum_ID, strDBNTUserName) = "1" then
            Moderation = "No"
         '## Is Moderation allowed on the category?
         elseif CatModeration = 1 then
            '## if this is a topic, is forum moderation set to all posts or topic?
            if (ForumModeration = 1 or ForumModeration = 2) and (MethodType = "Topic") then
               Moderation = "Yes"
            '## if this is a reply, is forum moderation set to all posts or reply?
            '####################### Merge Topic Mod #############################
            ' Added "or MethodType = "MergeTopic"" in following line
            elseif (ForumModeration = 1 or ForumModeration = 3) and (MethodType <> "Topic" or MethodType = "MergeTopic") then
            '#####################################################################
               Moderation = "Yes"
            end if
            end if
            end if
   end if
end if

if MethodType = "Edit" then
   member = cLng(ChkUser(strDBNTUserName, strPassword, strReplyAuthor))
   Select Case Member
      case 0 '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post so OK
         '## Do Nothing
      case 2 '## Normal User - Not Authorised
         Go_Result "Only an Admin, a Moderator or the Author can change this post", 0
         Response.End
      case 3 '## Moderator so OK - check the Moderator of this forum
         if chkForumModerator(Forum_ID, strDBNTUserName) = "0" then
            Go_Result "Only an Admin, a Moderator or the Author can change this post", 0
         end if
         if strReplyAuthor = intAdminMemberID and MemberID <> intAdminMemberID then
            Go_Result "Only the website owner can change this post", 0
         end if
      case 4 '## Admin so OK
         if strReplyAuthor = intAdminMemberID and MemberID <> intAdminMemberID then
            Go_Result "Only the website owner can change this post", 0
         end if
      case else
         Go_Result cstr(Member), 0
         Response.End
   end select

   txtMessage = ChkString(Request.Form("Message"),"message")
   Err_Msg = ""

   if txtMessage = " " then
      Err_Msg = Err_Msg & "<li>You Must Enter a Message for your Reply</li>"
   end if
   if Err_Msg = "" then
      '## Forum_SQL - Do DB Update
      strSql = "UPDATE " & strActivePrefix & "REPLY "
      strSql = strSql & " SET R_MESSAGE = '" & txtMessage & "'"
      strSql = strSql & ", R_MSGICON = " & cLng(Request.Form("strMessageIcon"))
      if Request.Form("sig") = "yes" and strDSignatures = "1" then
         strSql = strSql & ", R_SIG = 1"
      else
         strSql = strSql & ", R_SIG = 0"
      end if
      if mLev < 4 and strEditedByDate = "1" then
         strSql = strSql & ", R_LAST_EDIT = '"  & DateToStr(strForumTimeAdjust) & "'"
         strSql = strSql & ", R_LAST_EDITBY = "  & MemberID
      end if
      strSql = strSql & " WHERE REPLY_ID=" & Reply_ID

      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      if mLev <> 4 and Moderation = "No" then
         '## Forum_SQL - Update Last Post
         strSql = " UPDATE " & strTablePrefix & "FORUM"
         strSql = strSql & " SET F_LAST_POST = '" & DateToStr(strForumTimeAdjust) & "'"
         strSql = strSql & ",    F_LAST_POST_AUTHOR = " & MemberID
         strSql = strSql & ",    F_LAST_POST_TOPIC_ID = " & Topic_ID
         strSql = strSql & ",    F_LAST_POST_REPLY_ID = " & Reply_ID
         strSql = strSql & " WHERE FORUM_ID = " & Forum_ID

         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

         '## Forum_SQL - Update Last Post
         strSql = " UPDATE " & strActivePrefix & "TOPICS"
         strSql = strSql & " SET T_LAST_POST = '" & DateToStr(strForumTimeAdjust) & "'"
         strSql = strSql & ",    T_LAST_POST_AUTHOR = " & MemberID
         strSql = strSql & ",    T_LAST_POST_REPLY_ID = " & Reply_ID
         strSql = strSql & " WHERE TOPIC_ID = " & Topic_ID

         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      end if

      if Moderation = "No" then
         '## Subscribe checkbox start ##
         if request.form("TNotify") <> "" then
            if request.form("TNotify") = "1" then
               AddSubscription "TOPIC", MemberID, Cat_ID, Forum_ID, Topic_ID
            else
               DeleteSubscription "TOPIC", MemberID, Cat_ID, Forum_ID, Topic_ID
            end if
         end if
         '## Subscribe checkbox end ##
      end if

      err_Msg = ""
      if Err.description <> "" then
         Go_Result "There was an error = " & Err.description, 0
         Response.End
      else
         Go_Result "Updated OK", 1
      end if
   else
      Response.Write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There Was A Problem With Your Details</font></p>" & vbNewLine & _
            "      <table align=""center"" border=""0"">" & vbNewLine & _
            "        <tr>" & vbNewLine & _
            "          <td><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """><ul>" & Err_Msg & "</ul></font></td>" & vbNewLine & _
            "        </tr>" & vbNewLine & _
            "      </table>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go Back To Enter Data</a></font></p>" & vbNewLine
   end if
end if

if MethodType = "EditTopic" then
   member = cLng(ChkUser(strDBNTUserName, strPassword, strTopicAuthor))
   select case Member
      case 0 '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post so OK
         '## Do Nothing
      case 2 '## Normal User - Not Authorised
         Go_Result "Only an Admin, a Moderator or the Author can change this post", 0
         Response.End
      case 3 '## Moderator so
         if chkForumModerator(Forum_ID, strDBNTUserName) = "0" then
            Go_Result "Only an Admin, a Moderator or the Author can change this post", 0
         end if
         if strTopicAuthor = intAdminMemberID and MemberID <> intAdminMemberID then
            Go_Result "Only the website owner can change this post", 0
         end if
      case 4 '## Admin so OK
         if strTopicAuthor = intAdminMemberID and MemberID <> intAdminMemberID then
            Go_Result "Only the website owner can change this post", 0
         end if
         '## Do Nothing
      case else
         Go_Result cstr(Member), 0
         Response.End
   end select

   txtMessage = chkString(Request.Form("Message"),"message")
   txtSubject = chkString(Request.Form("Subject"),"SQLString")
' ######################### Poll Mod ########################
   if Request.Form("poll") = "1" then
      count = Request.Form("count")
      ReDim txtAns(CInt(count))

      For i = 1 To CInt(count)
         if trim(Request.Form("answer" & CStr(i))) <> "" then
            txtAns(i) = Request.Form("answer" & CStr(i))
         else
            txtAns(i) = ""
         end if
      Next
   end if
' ###########################################################
   if strBadWordFilter = "1" then
      txtSubject = chkString(ChkBadWords(Request.Form("Subject")),"SQLString")
   end if
   Err_Msg = ""

   if txtSubject = " " then
      Err_Msg = Err_Msg & "<li>You Must Enter a Subject for the Topic</li>"
   end if
   if Len(Request.Form("Subject")) > 50 then
      Err_Msg = Err_Msg & "<li>The Subject can not be greater than 50 characters</li>"
   end if
   if txtMessage = " " then
      Err_Msg = Err_Msg & "<li>You Must Enter a Message for the Topic</li>"
   end if
' ######################### Poll Mod ########################
   if Request.Form("poll") = "1" then
      count = Request.Form("count")
      For i = 1 to CInt(count)
         if trim(Request.Form("answer" & CStr(i))) <> "" then
            intCount = intCount + 1
         end if
      Next
      if intCount < 2 then
         Err_Msg = Err_Msg & "<li>You Must Enter at least two Answers for the Poll</li>"
      end if
   end if
' ###########################################################
   if Err_Msg = "" then
      '##Get Status of this Topic
      strSql = "SELECT T_STATUS, T_UREPLIES"
      strSql = Strsql & " FROM " & strTablePrefix & "TOPICS "
      strSql = strSql & " WHERE TOPIC_ID = " & Topic_ID

      set rsTopicStatusCheck = my_Conn.Execute (strSql)

      Topic_Status = rsTopicStatusCheck("T_STATUS")
      Topic_UReplies = rsTopicStatusCheck("T_UREPLIES")

      rsTopicStatusCheck.Close
      set rsTopicStatusCheck = nothing

      '## Set array to pull out CAT_ID and FORUM_ID from dropdown values in post.asp
      aryForum = split(Request.Form("Forum"), "|")

      '## if the forum we are moving to doesn't have MODERATION, and this topic did have that
      '## we are going to have to auto-approve the topic !

      AutoApprove = "No"
      Moderation = "No"

      if Forum_ID <> cLng(aryForum(1)) then
      '############################ Poll Mod ############################
         strSql = "SELECT " & strTablePrefix & "FORUM.F_POLLS "
         strSql = strsql & " FROM " & strTablePrefix & "FORUM "
         strSql = strSql & " WHERE " & strTablePrefix & "FORUM.FORUM_ID = " & aryForum(1)

         set rsPollCheck = my_Conn.Execute(strSql)

         ForumPolls = rsPollCheck("F_POLLS")

         rsPollCheck.close
         set rsPollCheck = nothing
      '##################################################################
         blnTopicMoved = true
         strSql = "SELECT " & strTablePrefix & "FORUM.F_MODERATION "
         strSql = strsql & " FROM " & strTablePrefix & "FORUM "
         strSql = strSql & " WHERE " & strTablePrefix & "FORUM.FORUM_ID = " & Forum_ID

         set rsForumCheck = my_Conn.Execute (strSql)

         ForumModeration = rsForumCheck("F_MODERATION")

         rsForumCheck.Close
         set rsForumCheck = nothing

         '## Is Moderation allowed on the topic in the old forum ?
         if (ForumModeration = 1 or ForumModeration = 2) then
            Moderation = "Yes"
         end if

         if Moderation = "Yes" and Topic_Status > 0 then

            strSql = "SELECT " & strTablePrefix & "FORUM.F_MODERATION "
            strSql = Strsql & " FROM " & strTablePrefix & "FORUM "
            strSql = strSql & " WHERE " & strTablePrefix & "FORUM.FORUM_ID = " & cLng(aryForum(1))

            set rsNewForumCheck = my_Conn.Execute (strSql)

            NewForumModeration   = rsNewForumCheck("F_MODERATION")

            rsNewForumCheck.Close
            set rsNewForumCheck = nothing

            '## Is Moderation allowed on the topic in the new forum ?
            if not(NewForumModeration = 1 or NewForumModeration = 2) then
               AutoApprove = "Yes"
            end if
         end if
      end if

      if Moderation = "Yes" and AutoApprove = "Yes" and Topic_UReplies > 0 then
         Go_Result "There was an error = The Topic you are attempting to move to an UnModerated Forum has UnModerated Replies<br />Please either approve or delete them and then try again.", 0
         Response.End
      end if

      '## Forum_SQL
      strSql = "UPDATE " & strActivePrefix & "TOPICS "
      strSql = strSql & " SET T_MESSAGE = '" & txtMessage & "'"
      strSql = strSql & ", T_SUBJECT = '" & txtSubject & "'"
      strSql = strSql & ", T_MSGICON = " & cLng(Request.Form("strMessageIcon"))
      if blnTopicMoved then
         strSql = strSql & ", CAT_ID = " & cLng(aryForum(0))
         strSql = strSql & ", FORUM_ID = " & cLng(aryForum(1))
         if AutoApprove = "Yes" then
            strSql = strSql & ", T_STATUS = 1 "
         end if
      end if
   '################# Poll Mod ###################
      if Request.Form("lockpoll") = "1" or ForumPolls = "0" then
         strSql = strSql & ", T_POLLSTATUS = 0"
      else
         strSql = strSql & ", T_POLLSTATUS = 1"
      end if
   '##############################################
      if Request.Form("sig") = "yes" and strDSignatures = "1" then
         strSql = strSql & ", T_SIG = 1"
      else
         strSql = strSql & ", T_SIG = 0"
      end if
   '########## Topic Rating ##########
      if Request.Form("AllowRating") = 1 then
         strSql = strSql & ", ALLOW_RATING = 1 "
      else
         strSql = strSql & ", ALLOW_RATING = 0 "
      end if
   '########## End Topic Rating ##########
      if mLev < 4 and strEditedByDate = "1" then
         strSql = strSql & ", T_LAST_EDIT = '"  & DateToStr(strForumTimeAdjust) & "'"
         strSql = strSql & ", T_LAST_EDITBY = "  & MemberID
      end if
      if ForumChkSkipAllowed = 1 then
         if Request.Form("sticky") = 1 then
            strSql = strSql & ", T_STICKY = " & 1
            strSql = strSql & ", T_ARCHIVE_FLAG = " & 0
         else
            strSql = strSql & ", T_STICKY = " & 0
            strSql = strSql & ", T_ARCHIVE_FLAG = " & 1
         end if
      end if
      strSql = strSql & " WHERE TOPIC_ID = " & Topic_ID

      my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords
      %><!--#INCLUDE FILE="cal_post_info2.asp"--><%
   '############################ Poll Mod ###################################
      if Request.Form("poll") = "1" then
         '### Update poll answers and counts
         strSql = "UPDATE " & strTablePrefix & "POLLS "
         strSql = strSql & " SET P_WHOVOTES = '" & chkString(Request.Form("WhoVotes"),"SQLString") & "', "
         strSql = strSql & "     CAT_ID = " & cLng(aryForum(0)) & ", "
         strSql = strSql & "     FORUM_ID = " & cLng(aryForum(1)) & ", "
         for i = 1 to CInt(Request.Form("count"))
            strSql = strSql & "ANSWER" & CStr(i) & " = '" & chkString(txtAns(i),"") & "'"
            if txtAns(i) = "" or chkString(Request.Form("resetpoll"),"SQLString") = "1" then
               strSql = strSql & ", COUNT" & CStr(i) & " = " & 0
            end if
            if ubound(txtAns) <> i then
               strSql = strSql & ", "
            end if
         next
         strSql = strSql & " WHERE TOPIC_ID = " & Topic_ID
         my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords

         if Request.Form("resetpoll") = "1" then
            '### Delete poll votes from POLL_VOTES table for this topic
            strSql = "DELETE FROM " & strTablePrefix & "POLL_VOTES "
            strSql = strSql & "WHERE " & strTablePrefix & "POLL_VOTES.TOPIC_ID = " & Topic_ID
            my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords
         end if
      end if
   '#########################################################################

      '# Subscribe checkbox start ##
      if request.form("TNotify") <> "" then
         if request.form("TNotify") = "1" then
            AddSubscription "TOPIC", MemberID, Cat_ID, Forum_ID, Topic_ID
         elseif request.form("TNotify") = "0" then
            DeleteSubscription "TOPIC", MemberID, Cat_ID, Forum_ID, Topic_ID
         end if
      end if
      '## Subscribe checkbox end ##

      if blnTopicMoved then
         if strEmail = "1" and strMoveNotify = "1" then DoAutoMoveEmail(Topic_ID)
         strSQL = "SELECT F_SUBSCRIPTION FROM " & strTablePrefix & "FORUM WHERE FORUM_ID=" & cLng(aryForum(1))
         set rs = my_conn.execute (strSQL)
         if rs("F_SUBSCRIPTION") < 3 then
            strSQL = "DELETE FROM " & strTablePrefix & "SUBSCRIPTIONS WHERE TOPIC_ID=" & Topic_ID
            my_conn.execute(strSQL),,adCmdText + adExecuteNoRecords
         end if
         rs.close
         set rs = nothing
      end if
      if Forum_ID <> cLng(aryForum(1)) then
         '## Forum_SQL
         strSql = "UPDATE " & strActivePrefix & "REPLY "
         strSql = strSql & " SET CAT_ID = " & cLng(aryForum(0))
         strSql = strSql & ", FORUM_ID = " & cLng(aryForum(1))
         strSql = strSql & " WHERE TOPIC_ID = " & Topic_ID

         my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords

         'set rs = Server.CreateObject("ADODB.Recordset")

         '## if the topic hasn't been approved yet, it isn't counted either
         '## so then the topic count doesn't need to be updated

            if Moderation = "No" or AutoApprove = "Yes" or Topic_Status < 2 then

            '## Forum_SQL - count total number of replies in Topics table
            strSql = "SELECT T_REPLIES, T_LAST_POST, T_LAST_POST_AUTHOR "
            strSql = strSql & " FROM " & strActivePrefix & "TOPICS "
            strSql = strSql & " WHERE TOPIC_ID = " & Topic_ID

            set rs = my_Conn.Execute (strSql)

            intResetCount = rs("T_REPLIES") + 1
            strT_Last_Post = rs("T_LAST_POST")
            strT_Last_Post_Author = rs("T_LAST_POST_AUTHOR")

            rs.Close
            set rs = nothing

            '## Forum_SQL - Get last_post and last_post_author for MoveFrom-Forum
            strSql = "SELECT TOPIC_ID, T_LAST_POST, T_LAST_POST_AUTHOR, T_LAST_POST_REPLY_ID "
            strSql = strSql & " FROM " & strActivePrefix & "TOPICS "
            strSql = strSql & " WHERE FORUM_ID = " & Forum_ID & " "
            strSql = strSql & " ORDER BY T_LAST_POST DESC;"

            set rs = my_Conn.Execute (strSql)

            if not rs.eof then
               strLast_Post_Topic_ID = rs("TOPIC_ID")
               strLast_Post = rs("T_LAST_POST")
               strLast_Post_Author = rs("T_LAST_POST_AUTHOR")
               strLast_Post_Reply_ID = rs("T_LAST_POST_REPLY_ID")
            else
               strLast_Post_Topic_ID = 0
               strLast_Post = ""
               strLast_Post_Author = 0
               strLast_Post_Reply_ID = 0
            end if

            rs.Close
            set rs = nothing

               if Moderation = "No" or Topic_Status < 2 then
               '## Forum_SQL - Update count of replies to a topic in Forum table

               strSql = "UPDATE " & strTablePrefix & "FORUM SET "
               strSql = strSql & " F_COUNT = F_COUNT - " & intResetCount
               strSql = strSql & " WHERE FORUM_ID = " & Forum_ID
               my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords

               '## Forum_SQL
               strSql =  "UPDATE " & strTablePrefix & "FORUM SET "
               strSql = strSql & " F_TOPICS = F_TOPICS - 1 "
               strSql = strSql & " WHERE FORUM_ID = " & Forum_ID
               my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords

            end if

            strSql = "UPDATE " & strTablePrefix & "FORUM SET "
            'if strLast_Post <> "" then
               strSql = strSql & "F_LAST_POST = '" & strLast_Post & "'"
               'if strLast_Post_Author <> "" then
                  strSql = strSql & ", F_LAST_POST_AUTHOR = " & strLast_Post_Author
               'end if
            'end if
            strSql = strSql & ", F_LAST_POST_TOPIC_ID = " & strLast_Post_Topic_ID
            strSql = strSql & ", F_LAST_POST_REPLY_ID = " & strLast_Post_Reply_ID
            strSql = strSql & " WHERE FORUM_ID = " & Forum_ID
            my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords

            '## Forum_SQL - Get last_post and last_post_author for Forum
            strSql = "SELECT TOPIC_ID, T_LAST_POST, T_LAST_POST_AUTHOR, T_AUTHOR, T_LAST_POST_REPLY_ID "
            strSql = strSql & " FROM " & strActivePrefix & "TOPICS "
            strSql = strSql & " WHERE FORUM_ID = " & cLng(aryForum(1))
            strSql = strSql & " ORDER BY T_LAST_POST DESC;"

            set rs = my_Conn.Execute (strSql)

            if not rs.eof then
               strAuthor = getMemberName(strT_Last_Post_Author)
               strLast_Post_Topic_ID = rs("TOPIC_ID")
               strLast_Post = rs("T_LAST_POST")
               strLast_Post_Author = rs("T_LAST_POST_AUTHOR")
               strLast_Post_Reply_ID = rs("T_LAST_POST_REPLY_ID")
            else
               strAuthor = ""
               strLast_Post_Topic_ID = 0
               strLast_Post = ""
               strLast_Post_Author = ""
               strLast_Post_Reply_ID = 0
            end if

            rs.Close
            set rs = nothing
            'Huw -- Update member count
            if (AutoApprove = "Yes") and blnTStatus = 2 and blnTopicMoved then
               set rsFCountMP = my_Conn.Execute("SELECT F_COUNT_M_POSTS FROM " & strTablePrefix & "FORUM WHERE FORUM_ID = " & cLng(aryForum(1)))
               ForumCountMPosts = rsFCountMP("F_COUNT_M_POSTS")
               rsFCountMP.close
               set rsFCountMP = nothing
               if ForumCountMPosts <> 0 then
                  '  ## Points Below
                  Call doUCount(strT_Last_Post_Author, "T", False)
                  '  ## Points Above
               end if
               doULastPost(strT_Last_Post_Author)
            end if
            '## Forum_SQL - Update count of replies to a topic in Forum table
            strSql = "UPDATE " & strTablePrefix & "FORUM SET "
            strSql = strSql & " F_COUNT = (F_COUNT + " & intResetCount & ")"
            strSql = strSql & ", F_LAST_POST_TOPIC_ID = " & strLast_Post_Topic_ID
            strSql = strSql & ", F_LAST_POST_REPLY_ID = " & strLast_Post_Reply_ID
            if strLast_Post <> "" then
               strSql = strSql & ", F_LAST_POST = '" & strLast_Post & "'"
               if strLast_Post_Author <> "" then
                  strSql = strSql & ", F_LAST_POST_AUTHOR = " & strLast_Post_Author
               end if
            end if
            strSql = strSql & " WHERE FORUM_ID = " & cLng(aryForum(1))
            my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords

            '## Forum_SQL
            strSql =  "UPDATE " & strTablePrefix & "FORUM SET "
            strSql = strSql & " F_TOPICS = F_TOPICS + 1 "
            strSql = strSql & " WHERE FORUM_ID = " & cLng(aryForum(1))
            my_Conn.Execute(strSql),,adCmdText + adExecuteNoRecords
         end if
      else
         if mLev <> 4 and Moderation = "No" then
            '## Forum_SQL - Update Last Post
            strSql = " UPDATE " & strTablePrefix & "FORUM"
            strSql = strSql & " SET F_LAST_POST = '" & DateToStr(strForumTimeAdjust) & "'"
            strSql = strSql & ",    F_LAST_POST_AUTHOR = " & MemberID
            strSql = strSql & ",    F_LAST_POST_TOPIC_ID = " & Topic_ID
            strSql = strSql & ",    F_LAST_POST_REPLY_ID = " & 0
            strSql = strSql & " WHERE FORUM_ID = " & Forum_ID

            my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

            '## Forum_SQL - Update Last Post
            strSql = " UPDATE " & strActivePrefix & "TOPICS"
            strSql = strSql & " SET T_LAST_POST = '" & DateToStr(strForumTimeAdjust) & "'"
            strSql = strSql & ",    T_LAST_POST_AUTHOR = " & MemberID
            strSql = strSql & ",    T_LAST_POST_REPLY_ID = " & 0
            strSql = strSql & " WHERE TOPIC_ID = " & Topic_ID

            my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
         end if
      end if
      err_Msg = ""
      aryForum = ""
      if Err.description <> "" then
         Go_Result "There was an error = " & Err.description, 0
         Response.End
      else
         Go_Result  "Updated OK", 1
      end if
   else
      Response.Write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There Was A Problem With Your Details</font></p>" & vbNewLine & _
            "      <table align=""center"" border=""0"">" & vbNewLine & _
            "        <tr>" & vbNewLine & _
            "          <td><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """><ul>" & Err_Msg & "</ul></font></td>" & vbNewLine & _
            "        </tr>" & vbNewLine & _
            "      </table>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go Back To Enter Data</a></font></p>" & vbNewLine
   end if
end if

if MethodType = "Topic" then
   '## Forum_SQL
   strSql = "SELECT MEMBER_ID, M_LEVEL, M_EMAIL, M_LASTPOSTDATE, " & strDBNTSQLName
   if strAuthType = "db" then
      strSql = strSql & ", M_PASSWORD "
   end if
   strSql = strSql & " FROM " & strMemberTablePrefix & "MEMBERS "
   strSql = strSql & " WHERE " & strDBNTSQLName & " = '" & ChkString(strDBNTUserName, "SQLString") & "'"
   strSql = strSql & " AND " & strMemberTablePrefix & "MEMBERS.M_STATUS = " & 1
   if strAuthType = "db" then
      strSql = strSql & " AND   M_PASSWORD = '" & ChkString(strPassword, "SQLString") &"'"
      QuoteOk = (ChkQuoteOk(strDBNTUserName) and ChkQuoteOk(strPassword))
   else
      QuoteOk = ChkQuoteOk(strDBNTUserName)
   end if

   set rs = my_Conn.Execute (strSql)

   if rs.BOF or rs.EOF or not(QuoteOk) or not (ChkQuoteOk(strPassword))then '##  Invalid Password
      rs.close
      set rs = nothing
      Go_Result "Invalid UserName or Password!", 0
      Response.End
   else
      if strPrivateForums = "1" and ForumChkSkipAllowed = 0 then
         if not(chkForumAccess(Forum_ID, MemberID,false)) then
            Go_Result "You are not allowed to post in this forum !", 0
         end if
      end if
      if strFloodCheck = 1 then
         if rs("M_LASTPOSTDATE") > DateToStr(DateAdd("s",strFloodCheckTime,strForumTimeAdjust)) and mLev < 3 then
            strTimeLimit = replace(strFloodCheckTime, "-", "")
            Go_Result "Sorry! We have flood control activated.<br />You cannot post within " & strTimeLimit & " seconds of your last post.<br />Please try again after this period of time elapses.", 0
         end if
      end if

      txtMessage = ChkString(Request.Form("Message"),"message")
      txtSubject = ChkString(Request.Form("Subject"),"SQLString")
      UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
      if UserIPAddress = "" then
         UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
      end if
   ' ##################### Poll Mod ######################
      if Request.Form("poll") = "1" then
         ReDim txtAns(strMaxVotes)
         for i = 1 to strMaxVotes
            if trim(Request.Form("answer" & CStr(i))) <> "" then
               txtAns(i) = Request.Form("answer" & CStr(i))
            else
               txtAns(i) = ""
            end if
         next
      end if
   ' #####################################################
      if strBadWordFilter = "1" then
         txtSubject = chkString(ChkBadWords(Request.Form("Subject")),"SQLString")
      end if

      if txtMessage = " " then
         Go_Result "You must post a message!", 0
         Response.End
      end if
      if txtSubject = " " then
         Go_Result "You must post a subject!", 0
         Response.End
      end if
      if Len(Request.Form("Subject")) > 50 then
         Go_Result "The Subject can not be greater than 50 characters", 0
         Response.End
      end if
   ' ####################### Poll Mod ##########################
      if Request.Form("poll") = "1" then
         For i = 1 to strMaxVotes
            if trim(Request.Form("answer" & CStr(i))) <> "" then
               intCount = intCount + 1
            end if
         Next
         if intCount < 2 then
            Go_Result "You Must Enter at least two Answers for the Poll", 0
         end if
      end if
   ' ##########################################################
      if strSignatures = "1" and strDSignatures <> "1" then
         if Request.Form("sig") = "yes" and GetSig(strDBNTUserName) <> " " then
            txtMessage = txtMessage & vbNewline & vbNewline & ChkString(GetSig(strDBNTUserName), "signature" )
         end if
      end if

'Gatekeeper Mod
      if strLinkSpamGatekeeper = "1" then
         select case len(Request.Form("GateKeeperAnswer"))
         case "0"
            Go_Result "You have not entered an answer for the Antispam question. Please use your back button and try again.", 0
         case else
            if (lcase(Request.Form("GateKeeperAnswer")) <> lcase(strGatekeeperAnswer1)) and (lcase(Request.Form("GateKeeperAnswer")) <> lcase(strGatekeeperAnswer2)) then
               Go_Result "You have entered a wrong answer for the Antispam question. Please use your back button and try again.", 0
            end if
         end select
      end if
'Gatekeeper Mod

      '## Forum_SQL - Add new post to Topics Table
      strSql = "INSERT INTO " & strTablePrefix & "TOPICS (FORUM_ID"
      strSql = strSql & ", CAT_ID"
      strSql = strSql & ", T_SUBJECT"
      strSql = strSql & ", T_MESSAGE"
   ' ############# Poll Mod #############
      strSql = strSql & ", T_ISPOLL"
      strSql = strSql & ", T_POLLSTATUS"
   ' ###################################
      strSql = strSql & ", T_AUTHOR"
      strSql = strSql & ", T_LAST_POST"
      strSql = strSql & ", T_LAST_POST_AUTHOR"
      strSql = strSql & ", T_LAST_POST_REPLY_ID"
      strSql = strSql & ", T_DATE"
      strSql = strSql & ", T_STATUS"
      if strIPLogging <> "0" then
         strSql = strSql & ", T_IP"
      end if
      strSql = strSql & ", T_STICKY"
      strSql = strSql & ", T_SIG"
      strSql = strSql & ", T_ARCHIVE_FLAG"
      strSql = strSql & ", T_REPLIES"
      strSql = strSql & ", T_UREPLIES"
   '########## Topic Rating ##########
      strSql = strSql & ", ALLOW_RATING"
  '########## End Topic Rating ##########
      strSql = strSql & ", T_MSGICON"
      strSql = strSql & ") VALUES ("
      strSql = strSql & Forum_ID
      strSql = strSql & ", " & Cat_ID
      strSql = strSql & ", '" & txtSubject & "'"
      strSql = strSql & ", '" & txtMessage & "'"
   ' ################ Poll Mod ###############
      if Request.Form("poll") = "1" then
         strSql = strSql & ", " & 1
      else
         strSql = strSql & ", " & 0
      end if
      if Request.Form("lockpoll") = "1" then
         strSql = strSql & ", " & 0
      else
         strSql = strSql & ", " & 1
      end if
   ' ##########################################
      strSql = strSql & ", " & rs("MEMBER_ID")
      strSql = strSql & ", '" & DateToStr(strForumTimeAdjust) & "'"
      strSql = strSql & ", " & rs("MEMBER_ID")
      strSql = strSql & ", 0 "
      strSql = strSql & ", '" & DateToStr(strForumTimeAdjust) & "'"
      if Request.Form("lock") = 1 and ForumChkSkipAllowed = 1 then
         strSql = strSql & ", 0 "
      else
         if Moderation = "Yes" then
            strSql = strSql & ", 2 "
         else
            strSql = strSql & ", 1 "
         end if
      end if
      if strIPLogging <> "0" then
         strSql = strSql & ", '" & UserIPAddress & "'"
      end if
      if ForumChkSkipAllowed = 1 then
         if Request.Form("sticky") = 1 then
            strSql = strSql & ", 1 "
         else
            strSql = strSql & ", 0 "
         end if
      else
         strSql = strSql & ", 0 "
      end if
      if Request.Form("sig") = "yes" and strDSignatures = "1" then
         strSql = strSql & ", 1 "
      else
         strSql = strSql & ", 0 "
      end if
      if ForumChkSkipAllowed = 1 then
         if Request.Form("sticky") = 1 then
            strSql = strSql & ", 0 "
         else
            strSql = strSql & ", 1 "
         end if
      else
         strSql = strSql & ", 1 "
      end if
      strSql = strSql & ", 0 "
      strSql = strSql & ", 0 "
   '########## Topic Rating ##########
      if Request.Form("AllowRating") = 1 then
         strSql = strSql & ", 1 "
      else
         strSql = strSql & ", 0 "
      end if
  '########## End Topic Rating ##########
  strSql = strSql & ", " & cLng(Request.Form("strMessageIcon"))
         strSql = strSql & ")"

      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      %><!--#INCLUDE FILE="cal_post_info2.asp"--><%
   '############################ Poll Mod ##############################
      if Request.Form("poll") = "1" then
         strSql = "SELECT " & strTablePrefix & "TOPICS.TOPIC_ID "
         strSql = strSql & "FROM " & strTablePrefix & "TOPICS "
         strSql = strSql & "WHERE " & strTablePrefix & "TOPICS.T_ISPOLL = " & 1 & " "
         strSql = strSql & "ORDER BY " & strTablePrefix & "TOPICS.T_DATE DESC"
         set rsPollID = my_Conn.Execute (strSql)

         PollID = rsPollID("TOPIC_ID")

         rsPollID.close
         set rsPollID = nothing

         '## Forum_SQL - Add new poll to Polls Table
         strSql = "INSERT INTO " & strTablePrefix & "POLLS (CAT_ID"
         strSql = strSql & ", FORUM_ID"
         strSql = strSql & ", TOPIC_ID"
         strSql = strSql & ", P_WHOVOTES"
         for i = 1 to ubound(txtAns)
            strSql = strSql & ", ANSWER" & CStr(i)
            strSql = strSql & ", COUNT" & CStr(i)
         next
         strSql = strSql & ") VALUES ("
         strSql = strSql & Cat_ID
         strSql = strSql & ", " & Forum_ID
         strSql = strSql & ", " & PollID
         strSql = strSql & ", '" & chkString(Request.Form("WhoVotes"),"SQLString") & "'"
         for i = 1 to ubound(txtAns)
            strSql = strSql & ", '" & chkString(txtAns(i),"") & "'"
            strSql = strSql & ", " & 0
         next
         strSql = strSql & ")"

         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      end if
   '####################################################################
      if Err.description <> "" then
         err_Msg = "There was an error = " & Err.description
      else
         err_Msg = "Updated OK"
      end if

      strSql = "SELECT Max(TOPIC_ID) as NewTopicID "
      strSql = strSql & " FROM " & strActivePrefix & "TOPICS "
      strSql = strSql & " WHERE FORUM_ID = " & Forum_ID
      strSql = strSql & "   and T_AUTHOR = " & rs("MEMBER_ID")
      set rs9 = my_Conn.Execute (strSql)
      NewTopicID = rs9("NewTopicId")
      rs9.close
      set rs9 = nothing

      ' DEM --> Do not update forum count if topic is moderated.... Added if and end if
         if Moderation = "No" then
         '## Forum_SQL - Increase count of topics and replies in Forum table by 1
         strSql = "UPDATE " & strTablePrefix & "FORUM "
         strSql = strSql & " SET F_LAST_POST = '" & DateToStr(strForumTimeAdjust) & "'"
         strSql = strSql & ",    F_TOPICS = F_TOPICS + 1"
         strSql = strSql & ",    F_COUNT = F_COUNT + 1"
         strSql = strSql & ",    F_LAST_POST_AUTHOR = " & rs("MEMBER_ID") & ""
         strSql = strSql & ",    F_LAST_POST_TOPIC_ID = " & NewTopicID
         strSql = strSql & ",    F_LAST_POST_REPLY_ID = " & 0
         strSql = strSql & " WHERE FORUM_ID = " & Forum_ID
         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      end if

      ProcessSubscriptions rs("MEMBER_ID"), Cat_ID, Forum_ID, NewTopicID, Moderation

      if Moderation = "No" then
         '## Subscribe checkbox ##
         if request.form("TNotify") <> "" then
            if request.form("TNotify") = "1" then
               AddSubscription "TOPIC", rs("MEMBER_ID"), Cat_ID, Forum_ID, NewTopicID
            elseif request.form("TNotify") = "0" then
               DeleteSubscription "TOPIC", MemberID, Cat_ID, Forum_ID, NewTopicID
            end if
         end if
         '## Subscribe checkbox end ##
      end if

      Go_Result err_Msg, 1
      Response.End
   end if
end if


'#################### Merge Topic Mod ###################
if MethodType = "MergeTopic" then
   lngMember = cLng(ChkUser(strDBNTUserName, strPassword,-1))
   select case lngMember
      case 0 '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post
         '## Do Nothing
      case 2 '## Normal User - Not Authorized
         Go_Result "Only an Admin or Moderator can Merge Topics", 0
         Response.End
      case 3 '## Moderator - Authorized
         '## Do Nothing
      case 4 '## Admin
         '## Do Nothing
      case else
         Go_Result cstr(lngMember), 0
         Response.End
   end select

   if strBadWordFilter = "1" then
      txtSubject = chkString(ChkBadWords(Request.Form("subject")),"SQLString")
   else
      txtSubject = chkString(Request.Form("subject"),"SQLString")
   end if
   if txtSubject = " " then
      Go_Result "You must post a subject!", 0
      Response.End
   end if
   if Len(Request.Form("subject")) > 50 then
      Go_Result "The subject can not be greater than 50 characters", 0
      Response.End
   end if
   if IsNumeric(Request.Form("MERGE_TOPIC_ID")) = True then
      MergeWithTopicID = cLng(Request.Form("MERGE_TOPIC_ID"))
   else
      Go_Result "You entered an incorrect URL of a topic. Please go back and correct it.", 0
   end if

   'Notes
   '- Check/Move subscriptions for the topics.
   '- Topic starter needs to be notified via email that topic was merged with another
   '- that it?

   '## Get info from database on both topics
   strSql = "SELECT TOPIC_ID, FORUM_ID, CAT_ID, T_IP, T_LAST_EDIT, T_LAST_POST, T_LAST_EDITBY, T_AUTHOR, T_DATE, T_REPLIES, T_SIG, T_VIEW_COUNT, T_MESSAGE "
   strSql = strSql & "FROM " & strTablePrefix & "TOPICS "
   strSql = strSql & "WHERE TOPIC_ID = " & MergeWithTopicID & " "
   strSql = strSql & "OR TOPIC_ID = " & Topic_ID
   'SELECT T_IP, T_LAST_EDIT, T_LAST_EDITBY, T_AUTHOR, T_DATE, T_REPLIES, T_SIG, T_VIEW_COUNT, T_MESSAGE FROM FORUM_TOPICS WHERE TOPIC_ID = 36 AND TOPIC_ID = 35
   'Response.Write strSql & "<br>"
   Set rs = Server.CreateObject("ADODB.Recordset")
   rs.open strSql, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText

   if rs.EOF then
      recCount = "-1"
   else
      allRec = rs.GetRows(adGetRowsRest)
      recCount = UBound(allRec,2)
   end if

   rs.close
   set rs = nothing
   'Response.Write strSql
   'Response.End

   '## Loop through data
   if recCount <> "-1" then
      Dim RowCount : RowCount = 0
      Dim blnInSameForum : blnInSameForum = true
      Dim intOlderTopic, intOtherTopic

      'Assign numerical locator for the array to variables
      TopicID = 0
      ForumID = 1
      CatID = 2
      Topic_IP = 3
      Topic_LastEdit = 4
      Topic_LastPost = 5
      Topic_LastEditBy = 6
      Topic_Author = 7
      Topic_Date = 8
      Topic_Replies = 9
      Topic_Sig = 10
      Topic_ViewCount = 11
      Topic_Message = 12

      'Check the posted date of both topics. The older topic remains as a topic.
      'I am assigning the row count for each topic in the allRec() array.
      if allRec(Topic_Date,0) < allRec(Topic_Date,1) then
         intOlderTopic = 0
         intOtherTopic = 1
      else
         intOlderTopic = 1
         intOtherTopic = 0
      end if

      'This is needed to get the forum and cat id for the
      'target topic when merging between 2 forums.
      if CLng(allRec(TopicID, 0)) = Topic_ID then
         intTargetTopic = 0
         intNotTargetTopic = 1
      else
         intTargetTopic = 1
         intNotTargetTopic = 0
      end if

      'Check if both topics are in the same forum
      if allRec(ForumID, intOlderTopic) <> allRec(ForumID, intOtherTopic) then
         blnInSameForum = false
      end if

      'if merging between 2 forums, change the forum id and cat id, to the
      'target topic, effectively moving the target topic to the correct forum
      if blnInSameForum = false then
         strSql = "UPDATE " & strTablePrefix & "TOPICS "
         strSql = strSql & " SET FORUM_ID = " & allRec(ForumID, intTargetTopic)
         strSql = strSql & ", CAT_ID = " & allRec(CatID, intTargetTopic)
         strSql = strSql & " WHERE TOPIC_ID = " & allRec(TopicID, intNotTargetTopic)
         'Response.Write strSql & "<br>"
         'Response.End
         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      end if

      'Following query moves the topic to the reply table
      strSql = "INSERT INTO " & strTablePrefix & "REPLY "
      strSql = strSql & "(TOPIC_ID"
      strSql = strSql & ", FORUM_ID"
      strSql = strSql & ", CAT_ID"
      strSql = strSql & ", R_AUTHOR"
      strSql = strSql & ", R_DATE"
      strSql = strSql & ", R_IP"
      strSql = strSql & ", R_STATUS"
      strSql = strSql & ", R_SIG"
      strSql = strSql & ", R_MESSAGE"
      strSql = strSql & ", R_MSGICON"
      strSql = strSql & ") VALUES ("
      strSql = strSql & allRec(TopicID, intOlderTopic)
      strSql = strSql & ", " & allRec(ForumID, intOlderTopic)
      strSql = strSql & ", " & allRec(CatID, intOlderTopic)
      strSql = strSql & ", " & allRec(Topic_Author, intOtherTopic)
      strSql = strSql & ", '" & allRec(Topic_Date, intOtherTopic) & "'"
      strSql = strSql & ", '" & allRec(Topic_IP, intOtherTopic) & "'"
      strSql = strSql & ", 1"
      strSql = strSql & ", " & allRec(Topic_Sig, intOtherTopic)
      strSql = strSql & ", '" & chkString(allRec(Topic_Message, intOtherTopic),"message") & "'"
      strSql = strSql & ", " & cLng(Request.Form("strMessageIcon")) & ")"
      'Response.Write strSql & "<br>"
      'Response.End
      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      'Change the replies topic id from the topic we merging to,
      'to the current topic, effectively moving them from one topic
      'to the other.
      strSql = "UPDATE " & strTablePrefix & "REPLY"
      strSql = strSql & " SET TOPIC_ID = " & allRec(TopicID, intOlderTopic)
      if blnInSameForum = false then
         strSql = strSql & ", FORUM_ID = " & allRec(ForumID, intOlderTopic)
         strSql = strSql & ", CAT_ID = " & allRec(CatID, intOlderTopic)
      end if
      strSql = strSql & " WHERE TOPIC_ID = " & allRec(TopicID, intOtherTopic)
      'Response.Write strSql & "<br>"
      'Response.End
      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      'Update any subscriptions for the topic we are merging with and transfer them
      'to the existing topic.
      strSql = "UPDATE " & strTablePrefix & "SUBSCRIPTIONS"
      strSql = strSql & " SET TOPIC_ID = " & allRec(TopicID, intOlderTopic)
      strSql = strSql & " WHERE TOPIC_ID = " & allRec(TopicID, intOtherTopic)
      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      'Update total # of TOPICS by - 1
      strSql = "UPDATE " & strTablePrefix & "TOTALS "
      strSql = strSql & " SET T_COUNT = T_COUNT - 1"
      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      'count how many replies are now in the topic
      'get the last reply from the reply table
      strSql = "SELECT Count(REPLY_ID) as TotalReplies "
      strSql = strSql & " FROM " & strTablePrefix & "REPLY "
      strSql = strSql & " WHERE TOPIC_ID = " & allRec(TopicID, intOlderTopic)
      'Response.Write strSql & "<br>"
      'Response.End
      set rsTotal = my_Conn.Execute (strSql)

      TotalReplies = rsTotal("TotalReplies") 'holds the number of replies in the current topic

      rsTotal.close
      set rsTotal = nothing

      'Get info about the last reply in the REPLY table
      strSql = "SELECT REPLY_ID, R_AUTHOR, R_DATE, R_LAST_EDIT, R_LAST_EDITBY "
      strSql = strSql & "FROM " & strTablePrefix & "REPLY "
      strSql = strSql & "WHERE TOPIC_ID = " & allRec(TopicID, intOlderTopic) & " "
      strSql = strSql & "AND R_STATUS <= 1 "
      strSql = strSql & "ORDER BY R_DATE DESC"
      'Response.Write strSql & "<br>"
      'Response.End
      set rsLastReply = my_Conn.Execute (strSql)

      LatestReplyID = rsLastReply("REPLY_ID") 'holds the id of the last reply in the current topic
      LastReplyAuthor = rsLastReply("R_AUTHOR")
      LastReplyDate = rsLastReply("R_DATE")
      LastReplyEdit = rsLastReply("R_LAST_EDIT")
      LastReplyEditBy = rsLastReply("R_LAST_EDITBY")

      rsLastReply.close
      set rsLastReply = nothing

      'Update topic with the info about the last post date, and author.
      strSql = "UPDATE " & strTablePrefix & "TOPICS "
      strSql = strSql & "SET T_SUBJECT = '" & txtSubject & "'"
      strSql = strSql & ", T_VIEW_COUNT = T_VIEW_COUNT + " & cLng(allRec(Topic_ViewCount, intOtherTopic))
      strSql = strSql & ", T_LAST_POST_AUTHOR = " & LastReplyAuthor
      strSql = strSql & ", T_LAST_POST = '" & LastReplyDate & "'"
      strSql = strSql & ", T_LAST_POST_REPLY_ID = " & LatestReplyID
      if LastReplyEdit <> "" then
         strSql = strSql & ", T_LAST_EDIT = '" & LastReplyEdit & "'"
         if LastReplyEditBy <> "" then
            strSql = strSql & ", T_LAST_EDITBY = " & LastReplyEditBy
         end if
      end if
      strSql = strSql & ", T_REPLIES = " & TotalReplies
      strSql = strSql & " WHERE TOPIC_ID = " & allRec(TopicID, intOlderTopic)
      'Response.Write strSql & "<br>"
      'Response.End
      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      'delete old topic from topic table
      strSql = "DELETE FROM " & strTablePrefix & "TOPICS "
      strSql = strSql & "WHERE TOPIC_ID = " & allRec(TopicID, intOtherTopic)
      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      'Get last_post and last_post_author for Forum
      strSql = "SELECT TOPIC_ID, T_LAST_POST, T_LAST_POST_AUTHOR, T_LAST_POST_REPLY_ID"
      strSql = strSql & " FROM " & strTablePrefix & "TOPICS "
      strSql = strSql & " WHERE FORUM_ID = " & allRec(ForumID, intTargetTopic) & " "
      strSql = strSql & " ORDER BY T_LAST_POST DESC"
      'Response.Write strSql & "<br>"
      set rs = my_Conn.Execute (strSql)

      if not rs.eof then
         rs.movefirst
         strLast_Post = rs("T_LAST_POST")
         strLast_Post_Author = rs("T_LAST_POST_AUTHOR")
         strLast_Post_Topic_ID = rs("TOPIC_ID")
         strLast_Post_Reply_ID = rs("T_LAST_POST_REPLY_ID")
      else
         strLast_Post = ""
         strLast_Post_Author = "NULL"
         strLast_Post_Topic_ID = 0
         strLast_Post_Reply_ID = 0
      end if

      rs.Close
      set rs = nothing

      'Update the # of posts count for the forum and # of topics for the forum
      strSql = "UPDATE " & strTablePrefix & "FORUM SET"
      if blnInSameForum then
         strSql = strSql & " F_TOPICS = F_TOPICS - 1,"
      else
         strSql = strSql & " F_COUNT = F_COUNT + " & cLng(allRec(Topic_Replies, intOtherTopic) + 1) & ","
      end if
      strSql = strSql & " F_LAST_POST = '" & strLast_Post & "',"
      strSql = strSql & " F_LAST_POST_AUTHOR = " & strLast_Post_Author & ","
      strSql = strSql & " F_LAST_POST_TOPIC_ID = " & strLast_Post_Topic_ID & ","
      strSql = strSql & " F_LAST_POST_REPLY_ID = " & strLast_Post_Reply_ID
      strSql = strSql & " WHERE FORUM_ID = " & allRec(ForumID, intTargetTopic)
      'Response.Write strSql & "<br>"
      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      'If the topic we merging with is in a different forum, update forum counts for that forum.
      if blnInSameForum = false then
         'Get last_post and last_post_author for Forum
         strSql = "SELECT TOPIC_ID, T_LAST_POST, T_LAST_POST_AUTHOR, T_LAST_POST_REPLY_ID"
         strSql = strSql & " FROM " & strTablePrefix & "TOPICS "
         strSql = strSql & " WHERE FORUM_ID = " & allRec(ForumID, intNotTargetTopic) & " "
         strSql = strSql & " ORDER BY T_LAST_POST DESC"
         'Response.Write strSql & "<br>"
         'Response.End
         set rs = my_Conn.Execute (strSql)

         if not rs.eof then
            rs.movefirst
            strLast_Post = rs("T_LAST_POST")
            strLast_Post_Author = rs("T_LAST_POST_AUTHOR")
            strLast_Post_Topic_ID = rs("TOPIC_ID")
            strLast_Post_Reply_ID = rs("T_LAST_POST_REPLY_ID")
         else
            strLast_Post = ""
            strLast_Post_Author = "NULL"
            strLast_Post_Topic_ID = 0
            strLast_Post_Reply_ID = 0
         end if

         rs.Close
         set rs = nothing

         'Update the # of posts count for the forum and # of topics for the forum
         strSql = "UPDATE " & strTablePrefix & "FORUM"
         strSql = strSql & " SET F_TOPICS = F_TOPICS - 1,"
         strSql = strSql & " F_COUNT = F_COUNT - " & cLng(allRec(Topic_Replies, intOtherTopic) + 1) & ","
         strSql = strSql & " F_LAST_POST = '" & strLast_Post & "',"
         strSql = strSql & " F_LAST_POST_AUTHOR = " & strLast_Post_Author & ","
         strSql = strSql & " F_LAST_POST_TOPIC_ID = " & strLast_Post_Topic_ID & ","
         strSql = strSql & " F_LAST_POST_REPLY_ID = " & strLast_Post_Reply_ID
         strSql = strSql & " WHERE FORUM_ID = " & allRec(ForumID, intNotTargetTopic)
         'Response.Write strSql & "<br>"
         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      end if

      if lcase(strEmail) = "100" then 'not implemented yet
         'Send mail to author letting him know his topic was merged with another.
         'DoAutoMoveEmail(allRec(Topic_ID, intOlderTopic))
         strSql  = "SELECT M.MEMBER_ID, M.M_NAME, M.M_EMAIL, T.FORUM_ID, T.T_SUBJECT "
         strSql = strSql & " FROM " & strMemberTablePrefix & "MEMBERS M, " & strActivePrefix & "TOPICS T "
         strSql = strSql & " WHERE M.MEMBER_ID = T.T_AUTHOR "
         strSql = strSql & " AND T.TOPIC_ID = " & TopicNum
         'Response.Write strSql
         'Response.End
         set rs2 = my_Conn.Execute (strSql)

         email = rs2("M_EMAIL")
         user_name = rs2("M_NAME")
         Topic_Title = rs2("T_SUBJECT")
         ForumId = rs2("FORUM_ID")
         Usernum = rs2("MEMBER_ID")

         rs2.close

         strRecipientsName = user_name
         strRecipients = email
         strSubject = strForumTitle & " - Topic Moved"
         strMessage = "Hello " & user_name & vbNewLine & vbNewLine
         strMessage = strMessage & "Your posting on " & strForumTitle & "." & vbNewLine
         strMessage = strMessage & "Regarding the subject - " & Topic_Title & "." & vbNewLine & vbNewLine

         if not(chkForumAccess(ForumID,Usernum,false)) then
            strMessage = strMessage & "Has been removed from public display. If you have any questions regarding this, please contact the Administrator of the forum" & vbNewLine
         else
            strMessage = strMessage & "Has been moved to a new forum, You can view it at " & vbNewLine & Left(Request.Form("refer"), InstrRev(Request.Form("refer"), "/")) & "topic.asp?TOPIC_ID=" & TopicNum & vbNewLine
         end if
   %>
   <!--#INCLUDE FILE="inc_mail.asp" -->
   <%
      end if

      'ProcessSubscriptions Reply_Author, Cat_ID, Forum_ID, NewTopicID, Moderation
   else
      Go_Result "That topic does not exist in the database. Make sure the url you entered has the correct ID of the topic.", 0
   end if
   'Response.End
   Go_Result err_Msg, 1
   Response.End
end if
'########################################################


if MethodType = "Reply" or MethodType = "ReplyQuote" or MethodType = "TopicQuote" then
   '## Forum_SQL
   strSql = "SELECT MEMBER_ID, M_LEVEL, M_EMAIL, M_LASTPOSTDATE, " & strDBNTSQLname
   if strAuthType = "db" then
      strSql = strSql & ", M_PASSWORD "
   end if
   strSql = strSql & " FROM " & strMemberTablePrefix & "MEMBERS "
   strSql = strSql & " WHERE " & strDBNTSQLName & " = '" & ChkString(strDBNTUserName, "SQLString") & "'"
   strSql = strSql & " AND " & strMemberTablePrefix & "MEMBERS.M_STATUS = " & 1
   if strAuthType = "db" then
      strSql = strSql & " AND   M_PASSWORD = '" & ChkString(strPassword, "SQLString") &"'"
      QuoteOk = (ChkQuoteOk(strDBNTUserName) and ChkQuoteOk(strPassword))
   else
      QuoteOk = ChkQuoteOk(strDBNTUserName)
   end if

   set rs = my_Conn.Execute (strSql)

   if rs.BOF or rs.EOF or not(QuoteOk) or not(ChkQuoteOk(strPassword)) then '##  Invalid Password
      rs.close
      set rs = nothing
      err_Msg = "Invalid Password or User Name"
      Go_Result(err_Msg), 0
      Response.End
   else

      if strPrivateForums = "1" and ForumChkSkipAllowed = 0 then
         if not(chkForumAccess(Forum_ID,MemberID,false)) then
            Go_Result "You are not allowed to post in this forum !", 0
         end if
      end if

      if strFloodCheck = 1 then
         if rs("M_LASTPOSTDATE") > DateToStr(DateAdd("s",strFloodCheckTime,strForumTimeAdjust)) and mLev < 3 then
            strTimeLimit = replace(strFloodCheckTime, "-", "")
            Go_Result "Sorry! We have flood control activated.<br />You cannot post within " & strTimeLimit & " seconds of your last post.<br />Please try again after this period of time elapses.", 0
         end if
      end if

      txtMessage = ChkString(Request.Form("Message"),"message")
      UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
      if UserIPAddress = "" then
         UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
      end if
      if txtMessage = " " then
         Go_Result "You must post a message!", 0
         Response.End
      end if

      if strSignatures = "1" and strDSignatures <> "1" then
         if Request.Form("sig") = "yes" and GetSig(strDBNTUserName) <> " " then
            txtMessage = txtMessage & vbNewline & vbNewline & ChkString(GetSig(strDBNTUserName), "signature" )
         end if
      end if

      '## Forum_SQL
      strSql = "INSERT INTO " & strTablePrefix & "REPLY "
      strSql = strSql & "(TOPIC_ID"
      strSql = strSql & ", FORUM_ID"
      strSql = strSql & ", CAT_ID"
      strSql = strSql & ", R_AUTHOR"
      strSql = strSql & ", R_DATE "
      if strIPLogging <> "0" then
         strSql = strSql & ", R_IP"
      end if
      strSql = strSql & ", R_STATUS"
      strSql = strSql & ", R_SIG"
      strSql = strSql & ", R_MESSAGE"
     strSql = strSql & ", R_MSGICON"
      strSql = strSql & ") VALUES ("
      strSql = strSql & Topic_ID
      strSql = strSql & ", " & Forum_ID
      strSql = strSql & ", " & Cat_ID
      strSql = strSql & ", " & rs("MEMBER_ID")
      strSql = strSql & ", " & "'" & DateToStr(strForumTimeAdjust) & "'"
      if strIPLogging <> "0" then
         strSql = strSql & ", " & "'" & UserIPAddress & "'"
      end if
      ' DEM --> Added R_STATUS to allow for moderation of posts
      ' Used R_STATUS = 1 to match the topic status code.
      if Moderation = "Yes" then
         strSql = strSql & ", 2"
      else
         strSql = strSql & ", 1"
      end if
      ' DEM --> End of Code added
      if Request.Form("sig") = "yes" and strDSignatures = "1" then
         strSql = strSql & ", 1 "
      else
         strSql = strSql & ", 0 "
      end if
      strSql = strSql & ", " & "'" & txtMessage & "'"
      strSql = strSql & ", " & cLng(Request.Form("strMessageIcon"))
      strSql = strSql & ")"

      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      ' DEM --> Do not update totals on topics and forums database if post is moderated...Added if and end if
      if Moderation = "No" then
         strSql = "SELECT Max(REPLY_ID) as NewReplyID "
         strSql = strSql & " FROM " & strActivePrefix & "REPLY "
         strSql = strSql & " WHERE FORUM_ID = " & Forum_ID
         strSql = strSql & "   and R_AUTHOR = " & rs("MEMBER_ID")
         set rs9 = my_Conn.Execute (strSql)
         NewReplyID = rs9("NewReplyID")
         rs9.close
         set rs9 = nothing

         '## Forum_SQL - Update Last Post and count
         strSql = "UPDATE " & strActivePrefix & "TOPICS "
         strSql = strSql & " SET T_LAST_POST = '" & DateToStr(strForumTimeAdjust) & "'"
         strSql = strSql & ",    T_REPLIES = T_REPLIES + 1 "
         strSql = strSql & ",    T_LAST_POST_AUTHOR = " & rs("MEMBER_ID")
         strSql = strSql & ",    T_LAST_POST_REPLY_ID = " & NewReplyID
         if Request.Form("lock") = 1 and ForumChkSkipAllowed = 1 then
            strSql = strSql & ",        T_STATUS = 0 "
         end if
         strSql = strSql & " WHERE TOPIC_ID = " & Topic_ID

         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

         '## Subscribe checkbox start ##
         if request.form("TNotify") <> "" then
            if request.form("TNotify") = "1" then
               AddSubscription "TOPIC", rs("MEMBER_ID"), Cat_ID, Forum_ID, Topic_ID
            elseif request.form("TNotify") = "0" then
               DeleteSubscription "TOPIC", MemberID, Cat_ID, Forum_ID, Topic_ID
            end if
         end if
         '## Subscribe checkbox end ##

         '## Forum_SQL
         strSql = "UPDATE " & strTablePrefix & "FORUM "
         strSql = strSql & " SET F_LAST_POST = '" & DateToStr(strForumTimeAdjust) & "'"
         strSql = strSql & ",    F_LAST_POST_AUTHOR = " & rs("MEMBER_ID")
         strSql = strSql & ",    F_LAST_POST_TOPIC_ID = " & Topic_ID
         strSql = strSql & ",    F_LAST_POST_REPLY_ID = " & NewReplyID
         strSql = strSql & ",    F_COUNT = F_COUNT + 1 "
         strSql = strSql & " WHERE FORUM_ID = " & Forum_ID

         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      else
         '## Forum_SQL - Update Unmoderated post count
         strSql = "UPDATE " & strActivePrefix & "TOPICS "
         strSql = strSql & " SET T_UREPLIES = T_UREPLIES + 1 "
         strSql = strSql & " WHERE TOPIC_ID = " & Topic_IDstrSql = strSql & Cat_ID



         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      end if

      if Err.description <> "" then
         Go_Result  "There was an error = " & Err.description, 0
         Response.End
      else
         'if Moderation = "No" then
         ProcessSubscriptions rs("MEMBER_ID"), Cat_ID, Forum_ID, Topic_ID, Moderation
         'end if
         Go_Result  "Updated OK", 1
         Response.End
      end if
 end if
  end if

'Parent Location Stuff MOD
strParent = replace(request.form("Parent"), "'", "''")
if strParent <> "" then
  strParentType = left(strParent, 1)
  strParentValue = right(strParent, len(strParent) - 1)
end if
if strParentType = "F" then
  '## Forum_SQL - Find the CAT_ID if forum is now a subforum
  strSQL = "SELECT CAT_ID FROM " & strTablePrefix & "FORUM WHERE FORUM_ID = " & strParentValue & ";"
  set rsFindCat = my_Conn.Execute(strSQL)
  if not rsFindCat.eof then
    intCategoryValue = rsFindCat("CAT_ID")
  end if
  set rsFindCat = Nothing
  intSetParent = strParentValue
  intSetCategory = intCategoryValue
else
  intSetParent = NULL
  intSetCategory = strParentValue
end if
'End parent location stuff mod - Change variables below for adding a forum

if MethodType = "Forum" then
   member = cLng(ChkUser(strDBNTUserName, strPassword,-1))
   select case Member
      case 0 '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post
         '## Do Nothing
      case 2 '## Normal User - Not Authorized
         Go_Result "Only an Admin can create a Forum", 0
         Response.End
      case 3 '## Moderator - Not Authorized
         Go_Result "Only an Admin can create a Forum", 0
         Response.End
      case 4 '## Admin
         '## Do Nothing
      case else
         Go_Result cstr(Member), 0
         Response.End
   end select

   txtMessage = ChkString(Request.Form("Message"),"message")
   txtSubject = ChkString(Request.Form("Subject"),"SQLString")
   if strBadWordFilter = "1" then
      txtSubject = chkString(ChkBadWords(Request.Form("Subject")),"SQLString")
   end if
   Err_Msg = ""

   if txtSubject = " " then
      Err_Msg = Err_Msg & "<li>You Must Enter a Subject for the New Forum</li>"
   end if
   if Err_Msg = "" then
      '## Forum_SQL - Do DB Update
      strSql = "INSERT INTO " & strTablePrefix & "FORUM "
      strSql = strSql & "(CAT_ID"
      if isnull(intSetParent) = FALSE then
  strSql = strSql & ", F_PARENT"
end if
      strSql = strSql & ", F_STATUS"
      if strPrivateForums = "1" then
         strSql = strSql & ", F_PRIVATEFORUMS"
         if Request.Form("AuthPassword") <> " " then
            strSql = strSql & ", F_PASSWORD_NEW"
         end if
      end if
      'strSql = strSql & ", F_LAST_POST"
      strSql = strSql & ", F_SUBJECT"
      strSql = strSql & ", F_DESCRIPTION"
      strSql = strSql & ", F_TYPE"
      strSql = strSql & ", F_L_ARCHIVE "
      strSql = strSql & ", F_ARCHIVE_SCHED "
      strSql = strSql & ", F_L_DELETE "
      strSql = strSql & ", F_DELETE_SCHED "
           strSql = strSql & ", F_SUBSCRIPTION"
            strSql = strSql & ", F_MODERATION"
      strSql = strSql & ", F_ORDER "
   '############ Poll Mod #################
      strSql = strSql & ", F_POLLS "
   '#######################################
      strSql = strSql & ", F_DEFAULTDAYS "
      strSql = strSql & ", F_COUNT_M_POSTS "
      strSql = strSql & ", F_ALLOWEVENTS "
  '############### Topic Rating Mod ###########################
      strSql = strSql & ", F_RATING_AUTH"
  '############### End Topic Rating Mod ###########################

      strSql = strSql & ") VALUES ("
      strSql = strSql & intSetCategory
if isnull(intSetParent) = FALSE then
  strSql = strSql & ", " & intSetParent
end if
      strSql = strSql & ", 1 "
      if strPrivateForums = "1" then
         strSql = strSql & ", " & Request.Form("AuthType") & ""
         if Request.Form("AuthPassword") <> " " then
            strSql = strSql & ", '" & ChkString(Request.Form("AuthPassword"),"SQLString") & "'"
         end if
      end if
      'strSql = strSql & ", " & "'" & DateToStr(strForumTimeAdjust) & "'"
      strSql = strSql & ", '" & txtSubject & "'"
      strSql = strSql & ", '" & txtMessage & "'"
      strSql = strSql & ", 0"
      strSql = strSql & ", '' "
      strSql = strSql & ", 30 "
      strSql = strSql & ", '' "
      strSql = strSql & ", 365 "
           ' DEM --> Start of Code added for moderation and subscription
           if strSubscription > 0 and CatSubscription > 0 and strEmail = "1" then
                   strSql = strSql & ", " & fSubscription
           else
                   strSql = strSql & ", 0"
           end if
           if strModeration = 1 and CatModeration = 1 then
                   strSql = strSql & ", " & ChkString(Request.Form("Moderation"), "SQLString")
           else
                   strSql = strSql & ", 0"
           end if
           ' DEM --> End of Code added for moderation and subscription
      strSql = strSql & ", 1 "
   '################ Poll Mod ##################
      if Request.Form("PollAuth") <> "" then
         strSql = strSql & ", " & chkString(Request.Form("PollAuth"),"SQLString")
      else
         strSql = strSql & ", 0 "
      end if
   '############################################
      strSql = strSql & ", " & ChkString(Request.Form("DefaultDays"), "SQLString")
      strSql = strSql & ", " & ChkString(Request.Form("ForumCntMPosts"), "SQLString")
      If CLng(Request.Form("allowevents")) = 1 then StrSql = strSql & ", 1" Else strSql = strSql & ", 0"
    '############### Topic Rating Mod ###########################
      if Request.Form("RatingAuth") = 1 then
         strSql = strSql & ", 1 "
      else
         strSql = strSql & ", 0 "
      end if
    '############### End Topic Rating Mod ###########################

           strSql = strSql & ")"

      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      Application.Lock
      Application(strCookieURL & "JumpBoxChanged")= DateToStr(strForumTimeAdjust)
      Application.UnLock

      err_Msg = ""
      if Err.description <> "" then
         Go_Result "There was an error = " & Err.description, 0
         Response.End
      Else
         set rsCount = my_Conn.execute("SELECT MAX(FORUM_ID) AS maxForumID FROM " & strTablePrefix & "FORUM ")
         newForumMembers rsCount("maxForumId")
newUGPerms rsCount("maxForumId")        '#######    UserGroup MOD     #######
         newForumModerators rsCount("maxForumId")
         set rsCount = nothing
         Go_Result  "Updated OK", 1
      end if
   else
      Response.Write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There Was A Problem With Your Details</font></p>" & vbNewLine & _
            "      <table align=""center"" border=""0"">" & vbNewLine & _
            "        <tr>" & vbNewLine & _
            "          <td><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """><ul>" & Err_Msg & "</ul></font></td>" & vbNewLine & _
            "        </tr>" & vbNewLine & _
            "      </table>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go Back To Enter Data</a></font></p>" & vbNewLine
   end if
end if

if MethodType = "URL" then
   member = cLng(ChkUser(strDBNTUserName, strPassword,-1))
   select case Member
      case 0 '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post
         '## Do Nothing
      case 2 '## Normal User - Not Authorised
         Go_Result "Only an Admin can create a web link", 0
         Response.End
      case 3 '## Moderator
         Go_Result "Only an Admin can create a web link", 0
         Response.End
      case 4 '## Admin
         '## Do Nothing
      case else
         Go_Result cstr(Member), 0
         Response.End
   end select

   txtMessage = ChkString(Request.Form("Message"),"message")
   txtAddress = ChkString(Request.Form("Address"),"SQLString")
   txtSubject = ChkString(Request.Form("Subject"),"SQLString")
   if strBadWordFilter = "1" then
      txtSubject = chkString(ChkBadWords(Request.Form("Subject")),"SQLString")
   end if
   Err_Msg = ""

   if txtSubject = " " then
      Err_Msg = Err_Msg & "<li>You Must Enter a Subject for the New URL</li>"
   end if
   if txtAddress = " " or lcase(txtAddress) = "http://" or lcase(txtAddress) = "https://" or lcase(txtAddress) = "file:///" then
      Err_Msg = Err_Msg & "<li>You Must Enter an Address for the New URL</li>"
   end if
   if (left(lcase(txtAddress), 7) <> "http://" and left(lcase(txtAddress), 8) <> "https://" and left(lcase(txtAddress), 8) <> "file:///") and txtAddress <> "" then
      Err_Msg = Err_Msg & "<li>You Must prefix the Address with <b>http://</b>, <b>https://</b> or <b>file:///</b></li>"
   end if
   if Err_Msg = "" then
      '## Forum_SQL - Do DB Update
      strSql = "INSERT INTO " & strTablePrefix & "FORUM "
      strSql = strSql & "(CAT_ID"
      if isnull(intSetParent) = FALSE then
  strSql = strSql & ", F_PARENT"
end if
      strSql = strSql & ", F_STATUS"
      if strPrivateForums = "1" then
         strSql = strSql & ", F_PRIVATEFORUMS"
      end if
      strSql = strSql & ", F_LAST_POST"
      strSql = strSql & ", F_LAST_POST_AUTHOR"
      strSql = strSql & ", F_SUBJECT"
      strSql = strSql & ", F_URL"
      strSql = strSql & ", F_DESCRIPTION"
      strSql = strSql & ", F_TYPE"
      strSql = strSql & ", F_L_ARCHIVE "
      strSql = strSql & ", F_ARCHIVE_SCHED "
      strSql = strSql & ", F_L_DELETE "
      strSql = strSql & ", F_DELETE_SCHED "
           strSql = strSql & ", F_SUBSCRIPTION, F_MODERATION"
      strSql = strSql & ", F_ORDER "
      strSql = strSql & ", F_DEFAULTDAYS "
      strSql = strSql & ")  VALUES ("
      strSql = strSql & intSetCategory
if isnull(intSetParent) = FALSE then
  strSql = strSql & ", " & intSetParent
end if
           strSql = strSql & ", 1"
      if strPrivateForums = "1" then
         strSql = strSql & ", " & ChkString(Request.Form("AuthType"), "SQLString") & ""
      end if
      strSql = strSql & ", " & "'" & DateToStr(strForumTimeAdjust) & "'"
      strSql = strSql & ", " & MemberID & " "
      strSql = strSql & ", " & "'" & txtSubject & "'"
      strSql = strSql & ", " & "'" & txtAddress & "'"
      strSql = strSql & ", " & "'" & txtMessage & "'"
      strSql = strSql & ", 1"
           strSql = strSql & ", ''"
           strSql = strSql & ", 30"
           strSql = strSql & ", ''"
           strSql = strSql & ", 365"
           ' DEM --> Added 0's for the subscription and moderation fields since they are ignored for URLS
           strSql = strSql & ", 0, 0"
           strSql = strSql & ", 1"
      strSql = strSql & ", 30"
      strSql = strSql & ") "

      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      Application.Lock
      Application(strCookieURL & "JumpBoxChanged")= DateToStr(strForumTimeAdjust)
      Application.UnLock

      err_Msg = ""
      if Err.description <> "" then
         Go_Result "There was an error = " & Err.description, 0
         Response.End
      else
         set rsCount = my_Conn.execute("SELECT MAX(FORUM_ID) AS maxForumID FROM " & strTablePrefix & "FORUM ")
         newForumMembers rsCount("maxForumId")
newUGPerms rsCount("maxForumId")        '#######    UserGroup MOD     #######
         newForumModerators rsCount("maxForumId")
         set rsCount = nothing
         Go_Result  "Updated OK", 1
      end if
   else
      Response.Write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There Was A Problem With Your Details</font></p>" & vbNewLine & _
            "      <table align=""center"" border=""0"">" & vbNewLine & _
            "        <tr>" & vbNewLine & _
            "          <td><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """><ul>" & Err_Msg & "</ul></font></td>" & vbNewLine & _
            "        </tr>" & vbNewLine & _
            "      </table>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go Back To Enter Data</a></font></p>" & vbNewLine
   end if
end if

if MethodType = "EditForum" then
   member = cLng(ChkUser(strDBNTUserName, strPassword,-1))
   select case Member
      case 0 '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post
          '## Do Nothing
      case 2 '## Normal User - Not Authorised
         Go_Result "Only an Admin or a Moderator can change this Forum", 0
         Response.End
      case 3 '## Moderator
         if chkForumModerator(Forum_ID, strDBNTUserName) = "0" then
            Go_Result "Only an Admin or a Moderator can change this Forum", 0
         end if
      case 4 '## Admin
         '## Do Nothing
      case else
         Go_Result cstr(Member), 0
         Response.End
   end select

   txtMessage = ChkString(Request.Form("Message"),"message")
   txtSubject = ChkString(Request.Form("Subject"),"SQLString")
   if strBadWordFilter = "1" then
      txtSubject = chkString(ChkBadWords(Request.Form("Subject")),"SQLString")
   end if
   Err_Msg = ""

   if txtSubject = " " then
      Err_Msg = Err_Msg & "<li>You Must Enter a Subject for the Forum</li>"
   end if

        if strModeration <> 0 and Request.Form("Moderation") = 0 then
            if CheckForUnModeratedPosts("FORUM", Cat_ID, Forum_ID, 0) > 0 then
         Err_Msg = Err_Msg & "<li>Please Approve or Delete all UnModerated/Held posts in this Forum before turning Moderation off</li>"
      end if
   end if

   if Err_Msg = "" then'Parent Location Stuff MOD
'## Forum_SQL - Update forum parent and cat_id in db
'We changed lines from request.form("Category") to intSetCategory
'Update parent id
if isnull(intSetParent) = FALSE then
  strSQL = "UPDATE " & strTablePrefix & "FORUM SET F_PARENT = " & intSetParent & " WHERE FORUM_ID = " & Forum_ID
else
  strSQL = "UPDATE " & strTablePrefix & "FORUM SET F_PARENT = NULL WHERE FORUM_ID = " & Forum_ID
end if
my_Conn.Execute(strSQL)
'End parent mod code -- JUST MAKE SURE YOU CHANGE THAT request.form variable!

      '## Forum_SQL - Check if CAT_ID changed
      strSql = "SELECT " & strTablePrefix & "FORUM.CAT_ID "
      strSql = strSql & " FROM " & strTablePrefix & "FORUM "
      strSql = strSql & " WHERE FORUM_ID = " & Forum_ID

      set rsCatIDCheck = my_Conn.execute(strSql)
      bolCatIDChanged = (cSTr(rsCatIDCheck("CAT_ID")) <> ChkString(intSetCategory, "SQLString"))
      rsCatIDCheck.Close
      set rsCatIDCheck = Nothing

      '## Forum_SQL - Do DB Update
      strSql = "UPDATE " & strTablePrefix & "FORUM "
      strSql = strSql & " SET CAT_ID = " & cLng("0" & intSetCategory)
   '############################ Poll Mod ###########################
      if Request.Form("PollAuth") <> "" then
         strSql = strSql & ", F_POLLS = " & chkString(Request.Form("PollAuth"),"SQLString") & ""
      end if
   '#################################################################
      if strPrivateForums = "1" then
         strSql = strSql & ", F_PRIVATEFORUMS = " & cLng("0" & Request.Form("AuthType"))
         if Request.Form("AuthPassword") <> " " then
            strSql = strSql & ", F_PASSWORD_NEW = '" & ChkString(Request.Form("AuthPassword"),"SQLString") & "'"
         end if
      end if
   '############### Topic Rating Mod ##################################
      if Request.Form("RatingAuth") = 1 then
         strSql = strSql & ", F_RATING_AUTH = 1 "
      else
         strSql = strSql & ", F_RATING_AUTH = 0 "
      end if
  '############### End Topic Rating Mod ##################################
      strSql = strSql & ", F_SUBJECT = '" & txtSubject & "'"
      strSql = strSql & ", F_DESCRIPTION = '" & txtMessage & "'"
      if Request.Form("Moderation") <> "" then
              strSql = strSql & ",    F_MODERATION = " & cLng("0" & Request.Form("Moderation"))
      end if
      if fSubscription <> "" then
              strSql = strSql & ",    F_SUBSCRIPTION = " & cLng("0" & fSubscription)
      end if
      strSql = strSql & ",   F_DEFAULTDAYS = " & cLng(Request.Form("DefaultDays"))
      strSql = strSql & ",   F_COUNT_M_POSTS = " & cLng("0" & Request.Form("ForumCntMPosts"))
      If CLng(Request.Form("allowevents")) = 1 then strSql = strSql & ", F_ALLOWEVENTS = 1" Else strSql = strSql & ", F_ALLOWEVENTS = 0"
      strSql = strSql & " WHERE FORUM_ID = " & Forum_ID

      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      Application.Lock
      Application(strCookieURL & "JumpBoxChanged")= DateToStr(strForumTimeAdjust)
      Application.UnLock

      if bolCatIDChanged then
         '## Update category CAT_SUBSCRIPTION/CAT_MODERATION if required
         strSQL = "SELECT " & strTablePrefix & "CATEGORY.CAT_SUBSCRIPTION, " & strTablePrefix & "CATEGORY.CAT_MODERATION FROM " & strTablePrefix & "CATEGORY "
         strSQL = strSQL & " WHERE CAT_ID=" & cLng("0" & intSetCategory)
         set rs = my_conn.execute(strSQL)
         intCatSubs = rs("CAT_SUBSCRIPTION")
         intCatMod = rs("CAT_MODERATION")
         rs.close
         set rs = nothing
         if intCatSubs < fSubscription then
            strSQL = "UPDATE " & strTablePrefix & "CATEGORY SET " & strTablePrefix & "CATEGORY.CAT_SUBSCRIPTION = " & fSubscription

            my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
         end if
         if intCatMod = 0 and Request.Form("Moderation") > 0 then
            strSQL = "UPDATE " & strTablePrefix & "CATEGORY SET " & strTablePrefix & "CATEGORY.CAT_MODERATION = " & 1
            my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
         end if
         '## Forum_SQL - Do DB Update
         strSql = "UPDATE " & strActivePrefix & "TOPICS "
         strSql = strSql & " SET CAT_ID = " & cLng("0" & intSetCategory)
         strSql = strSql & " WHERE FORUM_ID = " & Forum_ID

         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

         '## Forum_SQL - Do DB Update
         strSql = "UPDATE " & strActivePrefix & "REPLY "
         strSql = strSql & " SET CAT_ID = " & cLng("0" & intSetCategory)
         strSql = strSql & " WHERE FORUM_ID = " & Forum_ID

         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

         ' DEM --> Added _SUBSCRIPTIONS table
         '## Forum_SQL - Do DB Update
         strSql = "UPDATE " & strTablePrefix & "SUBSCRIPTIONS "
         strSql = strSql & " SET CAT_ID = " & cLng("0" & intSetCategory)
         strSql = strSql & " WHERE FORUM_ID = " & Forum_ID
         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
      end if

       err_Msg= ""
      if Err.description <> "" then
         Go_Result "There was an error = " & Err.description, 0
         Response.End
      else
         updateForumMembers Forum_ID
updateUGPerms Forum_ID        '#######    UserGroup MOD     #######
         if mLev = 4 then
            updateForumModerators Forum_ID
         end if
         Go_Result  "Updated OK", 1
      end if
   else
      Response.Write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There Was A Problem With Your Details</font></p>" & vbNewLine & _
            "      <table align=""center"" border=""0"">" & vbNewLine & _
            "        <tr>" & vbNewLine & _
            "          <td><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """><ul>" & Err_Msg & "</ul></font></td>" & vbNewLine & _
            "        </tr>" & vbNewLine & _
            "      </table>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go Back To Enter Data</a></font></p>" & vbNewLine
   end if
end if

if MethodType = "EditURL" then
   member = cLng(ChkUser(strDBNTUserName, strPassword,-1))
   select case Member
      case 0 '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post
          '## Do Nothing
      case 2 '## Normal User - Not Authorised
         Go_Result "Only an Admin or a Moderator can change this web link", 0
         Response.End
      case 3 '## Moderator
         if chkForumModerator(Forum_ID, strDBNTUserName) = "0" then
            Go_Result "Only an Admin or a Moderator can change this web link", 0
         end if
      case 4 '## Admin
         '## Do Nothing
      case else
         Go_Result cstr(Member), 0
         Response.End
   end select

   txtMessage = ChkString(Request.Form("Message"),"message")
   txtAddress = ChkString(Request.Form("Address"),"SQLString")
   txtSubject = ChkString(Request.Form("Subject"),"SQLString")
   if strBadWordFilter = "1" then
      txtSubject = chkString(ChkBadWords(Request.Form("Subject")),"SQLString")
   end if
   Err_Msg = ""

   if txtSubject = " " then
      Err_Msg = Err_Msg & "<li>You Must Enter a Subject for the New URL</li>"
   end if
   if txtAddress = " " or lcase(txtAddress) = "http://" or lcase(txtAddress) = "https://" or lcase(txtAddress) = "file:///" then
      Err_Msg = Err_Msg & "<li>You Must Enter an Address for the New URL</li>"
   end if
   if (left(lcase(txtAddress), 7) <> "http://" and left(lcase(txtAddress), 8) <> "https://" and left(lcase(txtAddress), 8) <> "file:///") and (txtAddress <> "") then
      Err_Msg = Err_Msg & "<li>You Must prefix the Address with <b>http://</b>, <b>https://</b> or <b>file:///</b></li>"
   end if
   if Err_Msg = "" then
   'Update parent id
if isnull(intSetParent) = FALSE then
  strSQL = "UPDATE " & strTablePrefix & "FORUM SET F_PARENT = " & intSetParent & " WHERE FORUM_ID = " & Forum_ID
else
  strSQL = "UPDATE " & strTablePrefix & "FORUM SET F_PARENT = NULL WHERE FORUM_ID = " & Forum_ID
end if
my_Conn.Execute(strSQL)
'End parent mod code -- JUST MAKE SURE YOU CHANGE THAT request.form variable!

      '## Forum_SQL - Do DB Update
      strSql = "UPDATE " & strTablePrefix & "FORUM "
      strSql = strSql & " SET CAT_ID = " & cLng("0" & intSetCategory)
      if strPrivateForums = "1" then
         strSql = strSql & ",    F_PRIVATEFORUMS = " & cLng("0" & Request.Form("AuthType"))
      end if
      strSql = strSql & ",    F_SUBJECT = '" & txtSubject & "'"
      strSql = strSql & ",    F_URL = '" & txtAddress & "'"
      strSql = strSql & ",    F_DESCRIPTION = '" & txtMessage & "'"
      strSql = strSql & " WHERE FORUM_ID = " & Forum_ID

      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      Application.Lock
      Application(strCookieURL & "JumpBoxChanged")= DateToStr(strForumTimeAdjust)
      Application.UnLock

      err_Msg= ""
      if Err.description <> "" then
         Go_Result "There was an error = " & Err.description, 0
         Response.End
      else
         updateForumMembers Forum_ID
updateUGPerms Forum_ID        '#######    UserGroup MOD     #######
         if mLev = 4 then
            updateForumModerators Forum_ID
         end if
         Go_Result  "Updated OK", 1
      end if
   else
      Response.Write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There Was A Problem With Your Details</font></p>" & vbNewLine & _
            "      <table align=""center"" border=""0"">" & vbNewLine & _
            "        <tr>" & vbNewLine & _
            "          <td><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """><ul>" & Err_Msg & "</ul></font></td>" & vbNewLine & _
            "        </tr>" & vbNewLine & _
            "      </table>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go Back To Enter Data</a></font></p>" & vbNewLine
   end if
end if

if MethodType = "Category" then
   member = cLng(ChkUser(strDBNTUserName, strPassword,-1))
   select case Member
      case 0  '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post
         '## Do Nothing
      case 2 '## Normal User - Not Authorised
         Go_Result "Only an Admin can create a category", 0
         Response.End
      case 3 '## Moderator
         Go_Result "Only an Admin can create a category", 0
         Response.End
      case 4 '## Admin
         '## Do Nothing
      case else
         Go_Result cstr(Member), 0
         Response.End
   end select
   txtSubject = chkString(Request.Form("Subject"),"SQLString")
   if strBadWordFilter = "1" then
      txtSubject = chkString(ChkBadWords(Request.Form("Subject")),"SQLString")
   end if

   Err_Msg = ""
   if txtSubject = "" then
      Err_Msg = Err_Msg & "<li>You Must Enter a Subject for the New Category</li>"
   end if
   if Err_Msg = "" then

      '## Forum_SQL - Do DB Update
           ' DEM --> Insert replaced to add subscription and moderation capabilities
           strSql = "INSERT INTO " & strTablePrefix & "CATEGORY (CAT_NAME, CAT_STATUS, CAT_SUBSCRIPTION, CAT_MODERATION, CAT_ORDER) "
         strSql = strSql & " VALUES ('" & txtSubject & "'"
                 strSql = strSql & ", 1"
           if strSubscription <> 0 and strEmail = "1" then
                strSql = strSql & ", " & fSubscription
           else
                        strSql = strSql & ", 0"
         end if
           if strModeration <> 0 then
                 strSql = strSql & ", " & ChkString(Request.Form("Moderation"), "SQLString")
           else
                 strSql = strSql & ", 0"
           end if
                 strSql = strSql & ", 1"
         strSql = strSql & ")"

           my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      Application.Lock
      Application(strCookieURL & "JumpBoxChanged")= DateToStr(strForumTimeAdjust)
      Application.UnLock

      err_Msg= ""
      if Err.description <> "" then
         Go_Result "There was an error = " & Err.description, 0
         Response.End
      else
         Go_Result  "Updated OK", 1
      end if
   else
      Response.Write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There Was A Problem With Your Details</font></p>" & vbNewLine & _
            "      <table align=""center"" border=""0"">" & vbNewLine & _
            "        <tr>" & vbNewLine & _
            "          <td><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """><ul>" & Err_Msg & "</ul></font></td>" & vbNewLine & _
            "        </tr>" & vbNewLine & _
            "      </table>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go Back To Enter Data</a></font></p>" & vbNewLine
   end if
end if

if MethodType = "EditCategory" then
   member = cLng(ChkUser(strDBNTUserName, strPassword,-1))
   select case Member
      case 0  '## Invalid Pword
         Go_Result "Invalid Password or UserName", 0
         Response.End
      case 1 '## Author of Post
         '## Do Nothing
      case 2 '## Normal User - Not Authorised
         Go_Result "Only an Admin can change a category", 0
         Response.End
      case 3 '## Moderator
         '## Do Nothing
         Go_Result "Only an Admin can change a category", 0
         Response.End
      case 4 '## Admin
         '## Do Nothing
      case else
         Go_Result cstr(Member), 0
         Response.End
   end select
   txtSubject = chkString(Request.Form("Subject"),"SQLString")
   if strBadWordFilter = "1" then
      txtSubject = chkString(ChkBadWords(Request.Form("Subject")),"SQLString")
   end if

   Err_Msg = ""
   if txtSubject = "" then
      Err_Msg = Err_Msg & "<li>You Must Enter a Subject for the Category</li>"
   end if
        if strModeration <> 0 and Request.Form("Moderation") = 0 then
           if CheckForUnmoderatedPosts("CAT", Cat_ID, 0, 0) > 0 then
         Err_Msg = Err_Msg & "<li>Please Approve or Delete all UnModerated/Held posts in this Category before turning Moderation off</li>"
      end if
   end if
   if Err_Msg = "" then
      '## Forum_SQL - Do DB Update
      strSql = "UPDATE " & strTablePrefix & "CATEGORY "
      strSql = strSql & " SET CAT_NAME = '" & txtSubject & "'"
         ' DEM --> Start of Code added for moderation and subscription functionality
           if strModeration <> 0 then
                 strSql = strSql & ",   CAT_MODERATION = " & cLng("0" & Request.Form("Moderation"))
           end if
           if strSubscription <> 0 and strEmail = "1" then
                    strSql = strSql & ",   CAT_SUBSCRIPTION = " & cLng("0" & Request.Form("Subscription"))
         end if
           ' DEM --> End of code added for moderation and subscription functionality
      strSql = strSql & " WHERE CAT_ID = " & Cat_ID

      my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

      Application.Lock
      Application(strCookieURL & "JumpBoxChanged")= DateToStr(strForumTimeAdjust)
      Application.UnLock

      err_Msg= ""
      if Err.description <> "" then
         Go_Result "There was an error = " & Err.description, 0
         Response.End
      else
         Go_Result "Updated OK", 1
      end if
   else
      Response.Write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There Was A Problem With Your Details</font></p>" & vbNewLine & _
            "      <table align=""center"" border=""0"">" & vbNewLine & _
            "        <tr>" & vbNewLine & _
            "          <td><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """><ul>" & Err_Msg & "</ul></font></td>" & vbNewLine & _
            "        </tr>" & vbNewLine & _
            "      </table>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go Back To Enter Data</a></font></p>" & vbNewLine
   end if
end if
'set rs = nothing
WriteFooter
Response.End

sub Go_Result(str_err_Msg, boolOk)

   select case MethodType
      case "Topic", "TopicQuote", "Reply", "ReplyQuote"
         set rsFCountMP = my_Conn.Execute("SELECT F_COUNT_M_POSTS FROM " & strTablePrefix & "FORUM WHERE FORUM_ID = " & Forum_ID)
         ForumCountMPosts = rsFCountMP("F_COUNT_M_POSTS")
         rsFCountMP.close
         set rsFCountMP = nothing
   end select

   Response.write    "      <table border=""0"" width=""100%"">" & vbNewLine & _
         "        <tr>" & vbNewLine & _
         "          <td width=""33%"" align=""left""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>" & vbNewLine & _
         "          " & getCurrentIcon(strIconFolderOpen,"","align=""absmiddle""") & " <a href=""default.asp"">COMMUNITY HOME</a><br />" & vbNewLine
   if MethodType = "Topic" or _
      MethodType = "TopicQuote" or _
      MethodType = "Reply" or _
      MethodType = "ReplyQuote" or _
      MethodType = "Edit" or _
      MethodType = "EditTopic" then
         Response.Write "          " & getCurrentIcon(strIconBar,"","align=""absmiddle""")
         if blnCStatus <> 0 then
            Response.Write getCurrentIcon(strIconFolderOpen,"","align=""absmiddle""")
         else
            Response.Write getCurrentIcon(strIconFolderClosed,"","align=""absmiddle""")
         end if
         Response.Write " <a href=""default.asp?CAT_ID=" & Cat_ID & """>" & ChkString(strCatTitle, "title") & "</a><br />" & vbNewLine
         Response.Write "          " & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBar,"","align=""absmiddle""")
         if blnFStatus <> 0 and blnCStatus <> 0 then
            Response.Write getCurrentIcon(strIconFolderOpen,"","align=""absmiddle""")
         else
            Response.Write getCurrentIcon(strIconFolderClosed,"","align=""absmiddle""")
         end if
         Response.Write " <a href=""forum.asp?FORUM_ID=" & Forum_ID & """>" & ChkString(strForum_Title, "title") & "</a><br />" & vbNewLine
   end if
   if MethodType = "Reply" or _
      MethodType = "ReplyQuote" or _
      MethodType = "TopicQuote" or _
      MethodType = "Edit" or _
      MethodType = "EditTopic" then
            Response.Write "          " & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBar,"","align=""absmiddle""")
            if blnTStatus <> 0 and blnFStatus <> 0 and blnCStatus <> 0 then
               Response.Write getCurrentIcon(strIconFolderOpenTopic,"","align=""absmiddle""")
            else
               Response.Write getCurrentIcon(strIconFolderClosedTopic,"","align=""absmiddle""")
            end if
            Response.Write " <a href=""" & chkString(Request.Form("refer"),"refer") & """>" & ChkString(strTopicTitle,"title") & "</a>" & vbNewLine
   end if
   Response.write "          </font></td>" & vbNewLine & _
         "        </tr>" & vbNewLine & _
         "      </table>" & vbNewLine
   if boolOk = 1 then
      Response.write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """>"
      select case MethodType
         case "Edit"
                 Response.Write("Your Reply Was Changed Successfully!")
         case "EditCategory"
                 ' DEM --> Added if statement to handle if subscriptions or moderation is allowed
                 if strSubscription > 0 or strModeration > 0 then
                         Response.Write("Category Information Changed Successfully")
                 else
                         Response.Write("Category Name Changed Successfully!")
                 end if
         case "EditForum"
                 Response.Write("FORUM Information Updated Successfully!")
         case "EditTopic"
                 Response.Write("Topic Changed Successfully!")
         case "EditURL"
                 Response.Write("URL Information Updated Successfully!")
         case "Reply", "ReplyQuote", "TopicQuote"
                 ' DEM --> If moderated post, the counts should not be updated until after approval
                 ' Combined the Reply, ReplyQuote and TopicQuote because the basic code was the same.
                 if Moderation = "Yes" then
                         Response.Write("New Reply Posted!  It will appear once approved by a moderator")
                 else
                         Response.Write("New Reply Posted!")
                         '  ## Points Below
                        tNewRank = False
                        If ChkNewRank Then
                           Response.Write "<br><br><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """>" & VbNewLine &_
                              " ****Congratulations You Got a New Rank!**** </font>"
                           tNewRank = True
                        End If
                        '  ## Points Above
                         DoPCount
               if ForumCountMPosts <> 0 then
                  '  ## Points Below
                  Call DoUCount(MemberID, "R", tNewRank)
                  '  ## Points Above
               end if
                 end if
               DoULastPost MemberID
         case "Topic"
                 ' DEM --> If moderated post, the counts should not be updated until after approval
                 if Moderation = "Yes" then
                         Response.Write("New Topic Posted!  It will appear once approved by a moderator")
                 else
                         Response.Write("New Topic Posted!")
                         '  ## Points Below
                                 tNewRank = False
                                 If ChkNewRank Then
                                    Response.Write "<br><br><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """>" & VbNewLine &_
                                       " ****Congratulations You Got a New Rank!**** </font>"
                                    tNewRank = True
                                 End If
                         '  ## Points Above
                         DoTCount
                         DoPCount
               if ForumCountMPosts <> 0 then
                  '  ## Points Below
                  Call DoUCount(MemberID, "T", tNewRank)
                  '  ## Points Above
               end if
                 end if
            DoULastPost MemberID
         case "Forum"
                 Response.Write("New Forum Created!")
         case "URL"
                 Response.Write("New URL Created!")
         case "Category"
                 Response.Write("New Category Created!")
         '############ Merge Topic Mod ################
         case "MergeTopic"
            Response.Write("Topics merged succesfully!")
            DoTCount
         '#############################################
         case else
                 Response.Write("Complete!")
                 'DoPCount
                 'DoUCount Request.Form("UserName")
                 'DoULastPost Request.Form("UserName")
      end select
      if MethodType = "Topic" then
         strReturnURL = "topic.asp?TOPIC_ID=" & NewTopicID
         strReturnTxt = "Go to new topic"
      elseif MethodType = "Reply" or MethodType = "ReplyQuote" or MethodType = "TopicQuote" then
         strReturnURL = "topic.asp?whichpage=-1&TOPIC_ID=" & Topic_ID & "&REPLY_ID=" & NewReplyID
         strReturnTxt = "Back to the topic"
      elseif MethodType = "EditTopic" then
         strReturnURL = "topic.asp?TOPIC_ID=" & Topic_ID
         strReturnTxt = "Back to the topic"
      elseif MethodType = "Edit" then
         strReturnURL = "topic.asp?whichpage=-1&TOPIC_ID=" & Topic_ID & "&REPLY_ID=" & Reply_ID
         strReturnTxt = "Back to the topic"
      else
         strReturnURL = chkString(Request.Form("refer"),"refer")
         strReturnTxt = "Back To Forum"
      end if
      Response.write "</font></p>" & vbNewLine & _
            "      <meta http-equiv=""Refresh"" content=""2; URL=" & strReturnURL & """>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>"
      select case MethodType
         case "Category"
            Response.Write("Remember to create at least one new forum in this category.")
         case "Forum"
            Response.Write("The new forum is ready for users to begin posting!")
         case "EditForum", "EditCategory"
            Response.Write("Thank you for your contribution!")
         case "URL"
            Response.Write("The new URL is in place!")
         case "EditURL"
            Response.Write("Cheers! Have a nice day!")
         case "Topic", "TopicQuote", "EditTopic", "Reply", "ReplyQuote", "Edit"
            Response.Write("Thank you for your contribution!")
      '########### Merge Topic Mod ###########
         case "MergeTopic"
            Response.Write(" ")
      '#######################################
         case else
            Response.Write("Have a nice day!")
      end select
      Response.write "</font></p>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""" & strReturnURL & """>" & strReturnTxt & "</a></font></p>" & vbNewLine
   else
      Response.write "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """ color=""" & strHiLiteFontColor & """>There has been a problem!</font></p>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strHiLiteFontColor & """>" & str_err_Msg & "</font></p>" & vbNewLine & _
            "      <p align=""center""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><a href=""JavaScript:history.go(-1)"">Go back to correct the problem.</a></font></p>" & vbNewLine
   end if
   WriteFooter
   Response.End
end sub

sub newForumMembers(fForumID)
   on error resume next
   if Request.Form("AuthUsers") = "" then
      exit Sub
   end if
   Users = split(Request.Form("AuthUsers"),",")
   for count = Lbound(Users) to Ubound(Users)
      strSql = "INSERT INTO " & strTablePrefix & "ALLOWED_MEMBERS ("
      strSql = strSql & " MEMBER_ID, FORUM_ID) VALUES ( "& Users(count) & ", " & fForumID & ")"

      my_conn.execute (strSql),,adCmdText + adExecuteNoRecords
      if err.number <> 0 then
         Go_REsult err.description, 0
      end if
   next
   on error goto 0
end sub

sub updateForumMembers(fForumID)
   my_Conn.execute ("DELETE FROM " & strTablePrefix & "ALLOWED_MEMBERS WHERE FORUM_ID = " & fForumId),,adCmdText + adExecuteNoRecords
   newForumMembers(fForumID)
end sub
'#######    Begin UserGroup MOD     #######
sub newUGPerms(fForumID)
    on error resume next
    if mlev = 4 or (mlev = 3 and CInt(strUGModForums) = 2) then
    for each key in Request.Form
        if Left(key,5) = "Perms" and Request.Form(key) <> "notset" then
            strUGid = Trim(Mid(key,6))
            strSql = "INSERT INTO " & strTablePrefix & "ALLOWED_USERGROUPS ("
            strSql = strSql & "FORUM_ID, USERGROUP_ID, PERMS) VALUES ("
            strSql = strSql & fForumID & ", " & strUGid & ", " & Request.Form(key) & ")"
            my_Conn.execute(strSql)
        end if
    next
    end if
end sub

sub updateUGPerms(fForumID)
    if mlev = 4 then
        my_Conn.execute("DELETE FROM " & strTablePrefix & "ALLOWED_USERGROUPS WHERE FORUM_ID = " & fForumID)
        newUGPerms(fForumID)
    end if
    if (mlev = 3 and CInt(strUGModForums) = 2) then
        strSql = "SELECT UG.USERGROUP_ID FROM " & strTablePrefix & "USERGROUPS UG " &_
            "INNER JOIN " & strTablePrefix & "ALLOWED_USERGROUPS AUG " &_
            "ON UG.USERGROUP_ID = AUG.USERGROUP_ID WHERE AUG.FORUM_ID = " & fForumID &_
            " AND UG.MOD_HIDE = 0"
        set rsOK = my_Conn.execute(strSql)
        do while not rsOK.eof
            strSql = "DELETE FROM " & strTablePrefix & "ALLOWED_USERGROUPS " &_
                "WHERE FORUM_ID = " & fForumID & " AND USERGROUP_ID = " & rsOK("USERGROUP_ID")
            my_Conn.execute(strSql)
            rsOK.movenext
        loop
        rsOK.close
        set rsOK = nothing
        newUGPerms(fForumID)
    end if
end sub
'#######     End UserGroup MOD      #######
sub newForumModerators(fForumID)
   on error resume next
   if Request.Form("ForumMod") = "" then
      exit Sub
   end if
   Users = split(Request.Form("ForumMod"),",")
   for count = Lbound(Users) to Ubound(Users)
      strSql = "INSERT INTO " & strTablePrefix & "MODERATOR ("
      strSql = strSql & " MEMBER_ID, FORUM_ID) VALUES ( "& Users(count) & ", " & fForumID & ")"

      my_conn.execute (strSql),,adCmdText + adExecuteNoRecords
      if err.number <> 0 then
         Go_REsult err.description, 0
      end if
   next
   on error goto 0
end sub

sub updateForumModerators(fForumID)
   my_Conn.execute ("DELETE FROM " & strTablePrefix & "MODERATOR WHERE FORUM_ID = " & fForumId),,adCmdText + adExecuteNoRecords
   newForumModerators(fForumID)
end sub

sub DoAutoMoveEmail(TopicNum)
   '## Emails Topic Author if Topic Moved.
   strSql  = "SELECT " & strMemberTablePrefix & "MEMBERS.MEMBER_ID," & strMemberTablePrefix & "MEMBERS.M_NAME, " & strMemberTablePrefix & "MEMBERS.M_EMAIL, " & strActivePrefix & "TOPICS.FORUM_ID, " & strActivePrefix & "TOPICS.T_SUBJECT "
   strSql = strSql & " FROM " & strMemberTablePrefix & "MEMBERS, " & strActivePrefix & "TOPICS "
   strSql = strSql & " WHERE " & strMemberTablePrefix & "MEMBERS.MEMBER_ID = " & strActivePrefix & "TOPICS.T_AUTHOR "
   strSql = strSql & " AND   " & strActivePrefix & "TOPICS.TOPIC_ID = " & TopicNum

   set rs2 = my_Conn.Execute (strSql)

   email = rs2("M_EMAIL")
   user_name = rs2("M_NAME")
   Topic_Title = rs2("T_SUBJECT")
   ForumId = rs2("FORUM_ID")
   Usernum = rs2("MEMBER_ID")

   rs2.close
   set rs2 = nothing
   if lcase(strEmail) = "1" then
      strRecipientsName = user_name
      strRecipients = email
      strSubject = strForumTitle & " - Topic Moved"
      strMessage = "Hello " & user_name & vbNewLine & vbNewLine
      strMessage = strMessage & "Your posting on " & strForumTitle & "." & vbNewLine
      strMessage = strMessage & "Regarding the subject - " & Topic_Title & "." & vbNewLine & vbNewLine

      if not(chkForumAccess(ForumID,Usernum,false)) then
         strMessage = strMessage & "Has been removed from public display, If you have any questions regarding this, please contact the Administrator of the forum" & vbNewLine
      else
         strMessage = strMessage & "Has been moved to a new forum, You can view it at " & vbNewLine & Left(Request.Form("refer"), InstrRev(Request.Form("refer"), "/")) & "topic.asp?TOPIC_ID=" & TopicNum & vbNewLine
      end if
%>
<!--#INCLUDE FILE="inc_mail.asp" -->
<%
   end if
end sub

'## Subscribe checkbox start ##
sub DeleteSubscription(Level, MemberID, CatID, ForumID, TopicID)
         ' --- Delete the appropriate sublevel of subscriptions
         StrSql = "DELETE FROM " & strTablePrefix & "SUBSCRIPTIONS"
         StrSql = StrSql & " WHERE " & strTablePrefix & "SUBSCRIPTIONS.MEMBER_ID = " & MemberID
         if sublevel = "CAT" then
                 StrSql = StrSQL & " AND " & strTablePrefix & "SUBSCRIPTIONS.CAT_ID = " & CatID
         elseif sublevel = "FORUM" then
                 StrSql = StrSQL & " AND " & strTablePrefix & "SUBSCRIPTIONS.FORUM_ID = " & ForumID
         elseif sublevel = "TOPIC" then
                 StrSql = StrSQL & " AND " & strTablePrefix & "SUBSCRIPTIONS.TOPIC_ID = " & TopicID
         end if
         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub

sub AddSubscription(SubLevel, MemberID, CatID, ForumID, TopicID)
         ' --- Insert the appropriate sublevel subscription
         StrSql = "INSERT INTO " & strTablePrefix & "SUBSCRIPTIONS"
         StrSql = StrSql & "(MEMBER_ID, CAT_ID, FORUM_ID, TOPIC_ID) VALUES (" & MemberID & ", "
         if sublevel = "BOARD" then
         StrSql = StrSql & "0, 0, 0)"
       elseif sublevel = "CAT" then
         StrSql = StrSql & CatID & ", 0, 0)"
         elseif sublevel = "FORUM" then
         StrSql = StrSql & CatID & ", " & ForumID & ", 0)"
         else
         StrSql = StrSql & CatID & ", " & ForumID & ", " & TopicID & ")"
         end if
         my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub

'## Subscribe checkbox end ##
Function ChkNewRank()
   Dim arrRankLevels,intRank
   ChkNewRank = false
   arrRankLevels = array(intRankLevel1,intRankLevel2,intRankLevel3,intRankLevel4,intRankLevel5)
   For intRank = 0 To 4
      If cInt(intCurrPosts + 1) = cInt(arrRanklevels(intRank)) Then
         ChkNewRank = true
         Exit Function
      End If
   Next
End Function
%>

"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 04 December 2013 :  01:41:57  Show Profile
The error is probably in "inc_func_count.asp"
Go to Top of Page

MaGraham
Senior Member

USA
1297 Posts

Posted - 04 December 2013 :  16:19:25  Show Profile

Oh, okay. Here's my inc_func_count.asp, Carefree.

<%
'#################################################################################
'## Snitz Forums 2000 v3.4.07
'#################################################################################
'## Copyright (C) 2000-09 Michael Anderson, Pierre Gorissen,
'##                       Huw Reddick and Richard Kinser
'##
'## This program is free software; you can redistribute it and/or
'## modify it under the terms of the GNU General Public License
'## as published by the Free Software Foundation; either version 2
'## of the License, or (at your option) any later version.
'##
'## All copyright notices regarding Snitz Forums 2000
'## must remain intact in the scripts and in the outputted HTML
'## The "powered by" text/logo with a link back to
'## http://forum.snitz.com in the footer of the pages MUST
'## remain visible when the pages are viewed on the internet or intranet.
'##
'## This program is distributed in the hope that it will be useful,
'## but WITHOUT ANY WARRANTY; without even the implied warranty of
'## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
'## GNU General Public License for more details.
'##
'## You should have received a copy of the GNU General Public License
'## along with this program; if not, write to the Free Software
'## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
'##
'## Support can be obtained from our support forums at:
'## http://forum.snitz.com
'##
'## Correspondence and Marketing Questions can be sent to:
'## manderson@snitz.com
'##
'#################################################################################


'##############################################
'##                Do Counts                 ##
'##############################################

sub doPCount()
   '## Forum_SQL - Updates the totals Table
   strSql ="UPDATE " & strTablePrefix & "TOTALS SET P_COUNT = P_COUNT + 1"

   my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub


sub doTCount()
   '## Forum_SQL - Updates the totals Table
   strSql ="UPDATE " & strTablePrefix & "TOTALS SET T_COUNT = T_COUNT + 1"

   my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub

'Modified function to use ID of member instead of their username.
'Function still supports updating via their username, for backward compatability.
Sub doUCount(sUser_Name, pType, GotNewRank)
   If pType = "T" Then 'user posted new topic
      PointValue = GetPoints("NFT")
   ElseIf pType = "R" Then 'user posted a reply
      PointValue = GetPoints("NFP")
   Else
      PointValue = 0
   End If
   If GotNewRank Then PointValue = PointValue + GetPoints("LVU")
   if VarType(sUser) = 8 then 'Update using member username
      '## Forum_SQL - Update Total Post for user
      strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS "
      strSql = strSql & " SET M_POSTS = M_POSTS + 1, "
      strSql = strSql & " M_POINTS = M_POINTS + " & PointValue
      strSql = strSql & " WHERE " & strDBNTSQLName & " = '" & ChkString(sUser, "SQLString") & "'"
   elseif VarType(sUser) = 2 or VarType(sUser) = 3 then 'Update count using member id
      '## Forum_SQL - Update Total Post for user
      strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS "
      strSql = strSql & " SET M_POSTS = M_POSTS + 1 "
      strSql = strSql & " M_POINTS = M_POINTS + " & PointValue
      strSql = strSql & " WHERE MEMBER_ID = " & sUser
   end if
   my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub

'Modified function to use ID of member instead of their username.
'Function still supports updating via their username, for backward compatability.
sub doULastPost(sUser)
   if VarType(sUser) = 8 then 'Update using member user name
      '## Forum_SQL - Updates the M_LASTPOSTDATE in the FORUM_MEMBERS table
      strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS "
      strSql = strSql & " SET M_LASTPOSTDATE = '" & DateToStr(strForumTimeAdjust) & "' "
      strSql = strSql & " WHERE " & strDBNTSQLName & " = '" & ChkString(sUser, "SQLString") & "'"

   elseif VarType(sUser) = 2 or VarType(sUser) = 3 then 'Update using member id
      '## Forum_SQL - Updates the M_LASTPOSTDATE in the FORUM_MEMBERS table
      strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS "
      strSql = strSql & " SET M_LASTPOSTDATE = '" & DateToStr(strForumTimeAdjust) & "' "
      strSql = strSql & " WHERE MEMBER_ID = " & sUser

   end if
   my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub

%>




"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 04 December 2013 :  18:21:02  Show Profile
Try changing line 58:

Sub doUCount(sUser, pType, GotNewRank)
Go to Top of Page

MaGraham
Senior Member

USA
1297 Posts

Posted - 04 December 2013 :  19:38:10  Show Profile

That caused this error, Carefree.

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 5.1 Driver][mysqld-5.5.28]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'M_POINTS = M_POINTS + 5 WHERE MEMBER_ID = 1' at line 1

/fp/inc_func_count.asp, line 80



"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 05 December 2013 :  11:25:50  Show Profile
There's a comma missing in line 76.


<%
'#################################################################################
'## Snitz Forums 2000 v3.4.07
'#################################################################################
'## Copyright (C) 2000-09 Michael Anderson, Pierre Gorissen,
'##                       Huw Reddick and Richard Kinser
'##
'## This program is free software; you can redistribute it and/or
'## modify it under the terms of the GNU General Public License
'## as published by the Free Software Foundation; either version 2
'## of the License, or (at your option) any later version.
'##
'## All copyright notices regarding Snitz Forums 2000
'## must remain intact in the scripts and in the outputted HTML
'## The "powered by" text/logo with a link back to
'## http://forum.snitz.com in the footer of the pages MUST
'## remain visible when the pages are viewed on the internet or intranet.
'##
'## This program is distributed in the hope that it will be useful,
'## but WITHOUT ANY WARRANTY; without even the implied warranty of
'## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
'## GNU General Public License for more details.
'##
'## You should have received a copy of the GNU General Public License
'## along with this program; if not, write to the Free Software
'## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
'##
'## Support can be obtained from our support forums at:
'## http://forum.snitz.com
'##
'## Correspondence and Marketing Questions can be sent to:
'## manderson@snitz.com
'##
'#################################################################################


'##############################################
'##                Do Counts                 ##
'##############################################

sub doPCount()
   '## Forum_SQL - Updates the totals Table
   strSql ="UPDATE " & strTablePrefix & "TOTALS SET P_COUNT = P_COUNT + 1"

   my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub


sub doTCount()
   '## Forum_SQL - Updates the totals Table
   strSql ="UPDATE " & strTablePrefix & "TOTALS SET T_COUNT = T_COUNT + 1"

   my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub

'Modified function to use ID of member instead of their username.
'Function still supports updating via their username, for backward compatability.
Sub doUCount(sUser, pType, GotNewRank)
   If pType = "T" Then 'user posted new topic
      PointValue = GetPoints("NFT")
   ElseIf pType = "R" Then 'user posted a reply
      PointValue = GetPoints("NFP")
   Else
      PointValue = 0
   End If
   If GotNewRank Then PointValue = PointValue + GetPoints("LVU")
   if VarType(sUser) = 8 then 'Update using member username
      '## Forum_SQL - Update Total Post for user
      strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS"
      strSql = strSql & " SET M_POSTS = M_POSTS + 1,"
      strSql = strSql & " M_POINTS = M_POINTS + " & PointValue
      strSql = strSql & " WHERE " & strDBNTSQLName & " = '" & ChkString(sUser, "SQLString") & "'"
   elseif VarType(sUser) = 2 or VarType(sUser) = 3 then 'Update count using member id
      '## Forum_SQL - Update Total Post for user
      strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS"
      strSql = strSql & " SET M_POSTS = M_POSTS + 1,"
      strSql = strSql & " M_POINTS = M_POINTS + " & PointValue
      strSql = strSql & " WHERE MEMBER_ID = " & sUser
   end if
   my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub

'Modified function to use ID of member instead of their username.
'Function still supports updating via their username, for backward compatability.
sub doULastPost(sUser)
   if VarType(sUser) = 8 then 'Update using member user name
      '## Forum_SQL - Updates the M_LASTPOSTDATE in the FORUM_MEMBERS table
      strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS "
      strSql = strSql & " SET M_LASTPOSTDATE = '" & DateToStr(strForumTimeAdjust) & "' "
      strSql = strSql & " WHERE " & strDBNTSQLName & " = '" & ChkString(sUser, "SQLString") & "'"

   elseif VarType(sUser) = 2 or VarType(sUser) = 3 then 'Update using member id
      '## Forum_SQL - Updates the M_LASTPOSTDATE in the FORUM_MEMBERS table
      strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS "
      strSql = strSql & " SET M_LASTPOSTDATE = '" & DateToStr(strForumTimeAdjust) & "' "
      strSql = strSql & " WHERE MEMBER_ID = " & sUser

   end if
   my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
end sub

%>
Go to Top of Page

MaGraham
Senior Member

USA
1297 Posts

Posted - 05 December 2013 :  11:55:53  Show Profile

That corrected it, Carefree!

Points are now being awarded. YEA!

I'm off to learn more about how I can make this more interesting for my members and, hopefully, get them excited.

Thank you so much, Carefree! You are Sooo appreciated!


"Do all the good you can, by all the means you can, in all the ways you can, at all the times you can, to all the people you can, as long as ever you can." - John Wesley
Go to Top of Page
Page: of 3 Previous Topic Topic Next Topic  
Next Page
 New Topic
 Printer Friendly
Jump To:
Snitz Forums 2000 © 2000-2021 Snitz™ Communications Go To Top Of Page
This page was generated in 1.52 seconds. Powered By: Snitz Forums 2000 Version 3.4.07