%
'#################################################################################
'## 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
'##
'#################################################################################
%>
<%
if (Request.QueryString("TOPIC_ID") = "" or IsNumeric(Request.QueryString("TOPIC_ID")) = False) and Request.Form("Method_Type") <> "login" and Request.Form("Method_Type") <> "logout" then
Response.Redirect "default.asp"
Response.End
else
Topic_ID = cLng(Request.QueryString("TOPIC_ID"))
end if
Dim ArchiveView, ArchiveLink, CColor
if request("ARCHIVE") = "true" then
strActivePrefix = strTablePrefix & "A_"
ArchiveView = "true"
ArchiveLink = "ARCHIVE=true&"
elseif request("ARCHIVE") <> "" then
Response.Redirect "default.asp"
Response.End
else
strActivePrefix = strTablePrefix
ArchiveView = ""
ArchiveLink = ""
end if
%>
<%
Response.Write " " & vbNewLine
mypage = request("whichpage")
if ((Trim(mypage) = "") or (IsNumeric(mypage) = False)) then mypage = 1
mypage = cLng(mypage)
if Request("SearchTerms") <> "" then
SearchLink = "&SearchTerms=" & Request("SearchTerms")
else
SearchLink = ""
end if
if strSignatures = "1" and strDSignatures = "1" then
if ViewSig(MemberID) <> "0" then
CanShowSignature = 1
end if
end if
'## Forum_SQL - Get original topic and check for the Category, Forum or Topic Status and existence
strSql = "SELECT M.M_NAME, M.M_RECEIVE_EMAIL, M.M_AIM, M.M_ICQ, M.M_MSN, M.M_YAHOO, M.M_PMRECEIVE" & _
", M.M_TITLE, M.M_HOMEPAGE, M.MEMBER_ID, M.M_LEVEL, M.M_POSTS, M.M_COUNTRY" & _
", T.T_DATE, T.T_SUBJECT, T.T_AUTHOR, T.TOPIC_ID, T.T_STATUS, T.T_LAST_EDIT" & _
", T.T_LAST_EDITBY, T.T_LAST_POST, T.T_SIG, T.T_REPLIES" & _
", C.CAT_STATUS, C.CAT_ID, C.CAT_NAME, C.CAT_SUBSCRIPTION, C.CAT_MODERATION" & _
", F.F_STATUS, F.FORUM_ID, F.F_SUBSCRIPTION, F.F_SUBJECT, F.F_MODERATION, T.T_MESSAGE"
if CanShowSignature = 1 then
strSql = strSql & ", M.M_SIG"
end if
strSql = strSql & " FROM " & strActivePrefix & "TOPICS T, " & strTablePrefix & "FORUM F, " & _
strTablePrefix & "CATEGORY C, " & strMemberTablePrefix & "MEMBERS M " & _
" WHERE T.TOPIC_ID = " & Topic_ID & _
" AND F.FORUM_ID = T.FORUM_ID " & _
" AND C.CAT_ID = T.CAT_ID " & _
" AND M.MEMBER_ID = T.T_AUTHOR "
set rsTopic = Server.CreateObject("ADODB.Recordset")
rsTopic.open strSql, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
if rsTopic.EOF then
recTopicCount = ""
else
recTopicCount = 1
Member_Name = rsTopic("M_NAME")
Member_ReceiveMail = rsTopic("M_RECEIVE_EMAIL")
Member_AIM = rsTopic("M_AIM")
Member_ICQ = rsTopic("M_ICQ")
Member_MSN = rsTopic("M_MSN")
Member_YAHOO = rsTopic("M_YAHOO")
Member_PM = rsTopic("M_PMRECEIVE")
Member_Title = rsTopic("M_TITLE")
Member_Homepage = rsTopic("M_HOMEPAGE")
TMember_ID = rsTopic("MEMBER_ID")
Member_Level = rsTopic("M_LEVEL")
Member_Posts = rsTopic("M_POSTS")
Member_Country = rsTopic("M_COUNTRY")
Topic_Date = rsTopic("T_DATE")
Topic_Subject = rsTopic("T_SUBJECT")
Topic_Author = rsTopic("T_AUTHOR")
TopicID = rsTopic("TOPIC_ID")
Topic_Status = rsTopic("T_STATUS")
Topic_LastEdit = rsTopic("T_LAST_EDIT")
Topic_LastEditby = rsTopic("T_LAST_EDITBY")
Topic_LastPost = rsTopic("T_LAST_POST")
Topic_Sig = rsTopic("T_SIG")
Topic_Replies = rsTopic("T_REPLIES")
Cat_Status = rsTopic("CAT_STATUS")
Cat_ID = rsTopic("CAT_ID")
Cat_Name = rsTopic("CAT_NAME")
Cat_Subscription = rsTopic("CAT_SUBSCRIPTION")
Cat_Moderation = rsTopic("CAT_MODERATION")
Forum_Status = rsTopic("F_STATUS")
Forum_ID = rsTopic("FORUM_ID")
Forum_Subject = rsTopic("F_SUBJECT")
Forum_Subscription = rsTopic("F_SUBSCRIPTION")
Forum_Moderation = rsTopic("F_MODERATION")
Topic_Message = rsTopic("T_MESSAGE")
if CanShowSignature = 1 then
Topic_MemberSig = trim(rsTopic("M_SIG"))
end if
end if
rsTopic.close
set rsTopic = nothing
if recTopicCount = "" then
if ArchiveView <> "true" then
Response.Redirect("topic.asp?ARCHIVE=true&" & ChkString(Request.QueryString,"sqlstring"))
else
Response.Redirect("default.asp")
end if
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
if strPrivateForums = "1" and (Request.Form("Method_Type") <> "login") and (Request.Form("Method_Type") <> "logout") and ForumChkSkipAllowed = 0 then
result = ChkForumAccess(Forum_ID, MemberID, true)
end if
if strModeration > 0 and Cat_Moderation > 0 and Forum_Moderation > 0 and AdminAllowed = 0 then
Moderation = "Y"
else
Moderation = "N"
end if
if mypage = -1 then
strSql = "SELECT REPLY_ID FROM " & strActivePrefix & "REPLY WHERE TOPIC_ID = " & Topic_ID & " "
if AdminAllowed = 0 then
strSql = strSql & " AND (R_STATUS < "
if Moderation = "Y" then
strSql = strSql & "2 "
else
strSql = strSql & "3 "
end if
strSql = strSql & "OR R_AUTHOR = " & MemberID & ") "
end if
strSql = strSql & "ORDER BY R_DATE ASC "
set rsReplies = Server.CreateObject("ADODB.Recordset")
if strDBType = "mysql" then
rsReplies.open strSql, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
else
rsReplies.open strSql, my_Conn, adOpenStatic, adLockReadOnly, adCmdText
end if
if not rsReplies.EOF then
arrReplyData = rsReplies.GetRows(adGetRowsRest)
iReplyCount = UBound(arrReplyData, 2)
if Request.Querystring("REPLY_ID") <> "" and IsNumeric(Request.Querystring("REPLY_ID")) then
LastPostReplyID = cLng(Request.Querystring("REPLY_ID"))
for iReply = 0 to iReplyCount
intReplyID = arrReplyData(0, iReply)
if LastPostReplyID = intReplyID then
intPageNumber = ((iReply+1)/strPageSize)
exit for
end if
next
else
LastPostReplyID = cLng(arrReplyData(0, iReplyCount))
intPageNumber = ((iReplyCount+1)/strPageSize)
end if
if intPageNumber > cLng(intPageNumber) then
intPageNumber = cLng(intPageNumber) + 1
end if
strwhichpage = "whichpage=" & intPageNumber & "&"
else
strwhichpage = ""
end if
rsReplies.close
set rsReplies = nothing
my_Conn.close
set my_Conn = nothing
Response.Redirect "topic.asp?" & ArchiveLink & strwhichpage & "TOPIC_ID=" & Topic_ID & SearchLink & "#" & LastPostReplyID
Response.End
end if
' -- Get all the high level(board, category, forum) subscriptions being held by the user
Dim strSubString, strSubArray, strBoardSubs, strCatSubs, strForumSubs, strTopicSubs
if MySubCount > 0 then
strSubString = PullSubscriptions(0, 0, 0)
strSubArray = Split(strSubString,";")
if uBound(strSubArray) < 0 then
strBoardSubs = ""
strCatSubs = ""
strForumSubs = ""
strTopicSubs = ""
else
strBoardSubs = strSubArray(0)
strCatSubs = strSubArray(1)
strForumSubs = strSubArray(2)
strTopicSubs = strSubArray(3)
end if
end If
if (Moderation = "Y" and Topic_Status > 1 and Topic_Author <> MemberID) then
Response.write "
Viewing of this Topic is not permitted until it has been moderated.
Please try again later
" & vbNewLine & _
"Go Back
" & vbNewLine
WriteFooter
Response.end
else
Response.Write " " & vbNewLine
'## Forum_SQL
strSql = "SELECT M.M_NAME, M.M_RECEIVE_EMAIL, M.M_AIM, M.M_ICQ, M.M_MSN, M.M_YAHOO, M.M_PMRECEIVE"
strSql = strSql & ", M.M_TITLE, M.MEMBER_ID, M.M_HOMEPAGE, M.M_LEVEL, M.M_POSTS, M.M_COUNTRY"
strSql = strSql & ", R.REPLY_ID, R.FORUM_ID, R.R_AUTHOR, R.TOPIC_ID, R.R_MESSAGE, R.R_LAST_EDIT"
strSql = strSql & ", R.R_LAST_EDITBY, R.R_SIG, R.R_STATUS, R.R_DATE"
if CanShowSignature = 1 then
strSql = strSql & ", M.M_SIG"
end if
strSql2 = " FROM " & strMemberTablePrefix & "MEMBERS M, " & strActivePrefix & "REPLY R "
strSql3 = " WHERE M.MEMBER_ID = R.R_AUTHOR "
strSql3 = strSql3 & " AND R.TOPIC_ID = " & Topic_ID & " "
' DEM --> if not a Moderator, all unapproved posts should not be viewed.
if AdminAllowed = 0 then
strSql3 = strSql3 & " AND (R.R_STATUS < "
if Moderation = "Y" then
' Ignore unapproved/rejected posts
strSql3 = strSql3 & "2"
else
' Ignore any previously rejected topic
strSql3 = strSql3 & "3"
end if
strSql3 = strSql3 & " OR R.R_AUTHOR = " & MemberID & ")"
end if
strSql4 = " ORDER BY R.R_DATE ASC"
if strDBType = "mysql" then 'MySql specific code
if mypage > 1 then
intOffset = cLng((mypage-1) * strPageSize)
strSql5 = " LIMIT " & intOffset & ", " & strPageSize & " "
end if
'## Forum_SQL - Get the total pagecount
strSql1 = "SELECT COUNT(R.TOPIC_ID) AS REPLYCOUNT "
set rsCount = my_Conn.Execute(strSql1 & strSql2 & strSql3)
iPageTotal = rsCount(0).value
rsCount.close
set rsCount = nothing
if iPageTotal > 0 then
maxpages = (iPageTotal \ strPageSize )
if iPageTotal mod strPageSize <> 0 then
maxpages = maxpages + 1
end if
if iPageTotal < (strPageSize + 1) then
intGetRows = iPageTotal
elseif (mypage * strPageSize) > iPageTotal then
intGetRows = strPageSize - ((mypage * strPageSize) - iPageTotal)
else
intGetRows = strPageSize
end if
else
iPageTotal = 0
maxpages = 0
end if
if iPageTotal > 0 then
set rsReplies = Server.CreateObject("ADODB.Recordset")
rsReplies.Open strSql & strSql2 & strSql3 & strSql4 & strSql5, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
arrReplyData = rsReplies.GetRows(intGetRows)
iReplyCount = UBound(arrReplyData, 2)
rsReplies.Close
set rsReplies = nothing
else
iReplyCount = ""
end if
else 'end MySql specific code
set rsReplies = Server.CreateObject("ADODB.Recordset")
rsReplies.cachesize = strPageSize
rsReplies.open strSql & strSql2 & strSql3 & strSql4, my_Conn, adOpenStatic, adLockReadOnly, adCmdText
if not (rsReplies.EOF or rsReplies.BOF) then
rsReplies.pagesize = strPageSize
rsReplies.absolutepage = mypage '**
maxpages = cLng(rsReplies.pagecount)
if maxpages >= mypage then
arrReplyData = rsReplies.GetRows(strPageSize)
iReplyCount = UBound(arrReplyData, 2)
else
iReplyCount = ""
end if
else '## No replies found in DB
iReplyCount = ""
end if
rsReplies.Close
set rsReplies = nothing
end if
Response.Write " " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & getCurrentIcon(strIconFolderOpen,"","align=""absmiddle""") & " All Forums " & vbNewLine & _
" " & getCurrentIcon(strIconBar,"","align=""absmiddle""")
if Cat_Status <> 0 then
Response.Write getCurrentIcon(strIconFolderOpen,"","align=""absmiddle""")
else
Response.Write getCurrentIcon(strIconFolderClosed,"","align=""absmiddle""")
end if
Response.Write " " & ChkString(Cat_Name,"display") & " " & vbNewLine & _
" " & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBar,"","align=""absmiddle""")
if ArchiveView = "true" then
Response.Write getCurrentIcon(strIconFolderArchived,"","align=""absmiddle""")
else
if Forum_Status <> 0 and Cat_Status <> 0 then
Response.Write getCurrentIcon(strIconFolderOpen,"","align=""absmiddle""")
else
Response.Write getCurrentIcon(strIconFolderClosed,"","align=""absmiddle""")
end if
end if
Response.Write " " & ChkString(Forum_Subject,"display") & " " & vbNewLine
if ArchiveView = "true" then
Response.Write " " & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBar,"","align=""absmiddle""") & getCurrentIcon(strIconFolderArchived,"","align=""absmiddle""") & " "
elseif Cat_Status <> 0 and Forum_Status <> 0 and Topic_Status <> 0 then
Response.Write " " & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBar,"","align=""absmiddle""") & getCurrentIcon(strIconFolderOpenTopic,"","align=""absmiddle""") & " "
else
Response.Write " " & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBlank,"","align=""absmiddle""") & getCurrentIcon(strIconBar,"","align=""absmiddle""") & getCurrentIcon(strIconFolderClosedTopic,"","align=""absmiddle""") & " "
end if
if Request.QueryString("SearchTerms") <> "" then
Response.Write SearchHiLite(ChkString(Topic_Subject,"title"))
else
Response.Write ChkString(Topic_Subject,"title")
end if
Response.Write " | " & vbNewLine & _
" " & vbNewLine
call PostingOptions()
Response.Write " | " & vbNewLine & _
"
" & vbNewLine & _
"
" & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
"" & vbNewLine
if maxpages > 1 then
Response.Write "" & vbNewLine & _
" " & vbNewLine & _
" "
if mypage > 1 then Response.Write("Previous Page")
'if mypage > 1 then Response.Write("Previous Page")
if mypage > 1 and mypage < maxpages then Response.Write(" | ")
if mypage < maxpages then Response.Write("Next Page")
'if mypage < maxpages then Response.Write("Next Page")
Response.Write " | " & vbNewLine & _
"
" & vbNewLine & _
"
" & vbNewLine
end if
Response.Write "" & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" Author | " & vbNewLine & _
" " & vbNewLine
if strShowTopicNav = "1" then
Call Topic_nav()
else
Response.Write("Topic")
end if
Response.Write " | " & vbNewLine
if (AdminAllowed = 1) then
if maxpages > 1 then
Call DropDownPaging(1)
Response.Write " " & vbNewLine
call AdminOptions()
Response.Write " | " & vbNewLine
else
Response.Write " " & vbNewLine
call AdminOptions()
Response.Write " | " & vbNewLine
end if
else
if maxpages > 1 then
Call DropDownPaging(1)
else
Response.Write " | " & vbNewLine
end if
end if
Response.Write " " & vbNewLine
if mypage = 1 then
Call GetFirst()
end if
'## Forum_SQL
strSql = "UPDATE " & strActivePrefix & "TOPICS "
strSql = strSql & " SET T_VIEW_COUNT = (T_VIEW_COUNT + 1) "
strSql = strSql & " WHERE (TOPIC_ID = " & Topic_ID & ")"
my_conn.Execute (strSql),,adCmdText + adExecuteNoRecords
if iReplyCount = "" then '## No replies found in DB
' Nothing
else
intI = 0
rM_NAME = 0
rM_RECEIVE_EMAIL = 1
rM_AIM = 2
rM_ICQ = 3
rM_MSN = 4
rM_YAHOO = 5
rM_PM = 6
rM_TITLE = 7
rMEMBER_ID = 8
rM_HOMEPAGE = 9
rM_LEVEL = 10
rM_POSTS = 11
rM_COUNTRY = 12
rREPLY_ID = 13
rFORUM_ID = 14
rR_AUTHOR = 15
rTOPIC_ID = 16
rR_MESSAGE = 17
rR_LAST_EDIT = 18
rR_LAST_EDITBY = 19
rR_SIG = 20
rR_STATUS = 21
rR_DATE = 22
if CanShowSignature = 1 then
rM_SIG = 23
end if
for iForum = 0 to iReplyCount
Reply_MemberName = arrReplyData(rM_NAME, iForum)
Reply_MemberReceiveEmail = arrReplyData(rM_RECEIVE_EMAIL, iForum)
Reply_MemberAIM = arrReplyData(rM_AIM, iForum)
Reply_MemberICQ = arrReplyData(rM_ICQ, iForum)
Reply_MemberMSN = arrReplyData(rM_MSN, iForum)
Reply_MemberYAHOO = arrReplyData(rM_YAHOO, iForum)
Reply_MemberPM = arrReplyData(rM_PM, iForum)
Reply_MemberTitle = arrReplyData(rM_TITLE, iForum)
Reply_MemberID = arrReplyData(rMEMBER_ID, iForum)
Reply_MemberHomepage = arrReplyData(rM_HOMEPAGE, iForum)
Reply_MemberLevel = arrReplyData(rM_LEVEL, iForum)
Reply_MemberPosts = arrReplyData(rM_POSTS, iForum)
Reply_MemberCountry = arrReplyData(rM_COUNTRY, iForum)
Reply_ReplyID = arrReplyData(rREPLY_ID, iForum)
Reply_ForumID = arrReplyData(rFORUM_ID, iForum)
Reply_Author = arrReplyData(rR_AUTHOR, iForum)
Reply_TopicID = arrReplyData(rTOPIC_ID, iForum)
Reply_Content = arrReplyData(rR_MESSAGE, iForum)
Reply_LastEdit = arrReplyData(rR_LAST_EDIT, iForum)
Reply_LastEditBy = arrReplyData(rR_LAST_EDITBY, iForum)
Reply_Sig = arrReplyData(rR_SIG, iForum)
Reply_Status = arrReplyData(rR_STATUS, iForum)
Reply_Date = arrReplyData(rR_DATE, iForum)
if CanShowSignature = 1 then
Reply_MemberSig = trim(arrReplyData(rM_SIG, iForum))
end if
if intI = 0 then
CColor = strAltForumCellColor
else
CColor = strForumCellColor
end if
Response.Write " " & vbNewLine & _
" " & vbNewLine & _
" " & profileLink(ChkString(Reply_MemberName,"display"),Reply_Author) & " " & vbNewLine
if strShowRank = 1 or strShowRank = 3 then
Response.Write " " & ChkString(getMember_Level(Reply_MemberTitle, Reply_MemberLevel, Reply_MemberPosts),"display") & " " & vbNewLine
end if
if strShowRank = 2 or strShowRank = 3 then
Response.Write " " & getStar_Level(Reply_MemberLevel, Reply_MemberPosts) & " " & vbNewLine
end if
Response.Write " " & vbNewLine & _
" " & vbNewLine
if strCountry = "1" and trim(Reply_MemberCountry) <> "" then
Response.Write " " & Reply_MemberCountry & " " & vbNewLine
end if
Response.Write " " & Reply_MemberPosts & " Posts | " & vbNewLine & _
" 1) then
Response.Write (" colspan=""3"" ")
else
Response.Write (" colspan=""2"" ")
end if
Response.Write "valign=""top"">" & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine
' DEM --> Start of Code altered for moderation
if Reply_Status < 2 then
Response.Write " " & getCurrentIcon(strIconPosticon,"","hspace=""3""") & "Posted - " & ChkDate(Reply_Date, " : " ,true) & "" & vbNewline
elseif Reply_Status = 2 then
Response.Write " NOT MODERATED!!!" & vbNewline
elseif Reply_Status = 3 then
Response.Write " " & getCurrentIcon(strIconPosticonHold,"","hspace=""3""") & "ON HOLD" & vbNewline
end if
' DEM --> End of Code added for moderation.
Response.Write " " & profileLink(getCurrentIcon(strIconProfile,"Show Profile","align=""absmiddle"" hspace=""6"""),Reply_MemberID) & vbNewLine
if mLev > 2 or Reply_MemberReceiveEmail = "1" then
if (mlev <> 0) or (mlev = 0 and strLogonForMail <> "1") then
Response.Write " " & getCurrentIcon(strIconEmail,"Email Poster","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if strHomepage = "1" then
if Reply_MemberHomepage <> " " then
Response.Write " " & getCurrentIcon(strIconHomepage,"Visit " & ChkString(Reply_MemberName,"display") & "'s Homepage","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (AdminAllowed = 1 or Reply_MemberID = MemberID) then
if (Cat_Status <> 0 and Forum_Status <> 0 and Topic_Status <> 0) or (AdminAllowed = 1) then
Response.Write " " & getCurrentIcon(strIconEditTopic,"Edit Reply","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (strAIM = "1") then
if Trim(Reply_MemberAIM) <> "" then
Response.Write " " & getCurrentIcon(strIconAIM,"Send " & ChkString(Reply_MemberName,"display") & " an AOL message","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if strICQ = "1" then
if Trim(Reply_MemberICQ) <> "" then
Response.Write " " & getCurrentIcon(strIconICQ,"Send " & ChkString(Reply_MemberName,"display") & " an ICQ Message","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (strMSN = "1") then
if Trim(Reply_MemberMSN) <> "" then
Response.Write " " & getCurrentIcon(strIconMSNM,"Click to see " & ChkString(Reply_MemberName,"display") & "'s MSN Messenger address","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if strYAHOO = "1" then
if Trim(Reply_MemberYAHOO) <> "" then
Response.Write " " & getCurrentIcon(strIconYahoo,"Send " & ChkString(Reply_MemberName,"display") & " a Yahoo! Message","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
If (Reply_MemberPM = "1" and strPMStatus = "1") Then
if Trim(Reply_MemberPM) <> "" then
Response.Write " " & getCurrentIcon(strIconPmprivatemessage,"Send " & ChkString(Reply_MemberName,"display") & " a Private Message","align=""absmiddle"" hspace=""0""") & "" & vbNewLine
End If
End IF
if ((Cat_Status <> 0 and Forum_Status <> 0 and Topic_Status = 1) or (AdminAllowed = 1 and Topic_Status <= 1)) and ArchiveView = "" then
Response.Write " " & getCurrentIcon(strIconReplyTopic,"Reply with Quote","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
if (strIPLogging = "1") then
if (AdminAllowed = 1) then
Response.Write " " & getCurrentIcon(strIconIP,"View user's IP address","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (AdminAllowed = 1 or Reply_MemberID = MemberID) then
if (Cat_Status <> 0 and Forum_Status <> 0 and Topic_Status <> 0) or (AdminAllowed = 1) then
Response.Write " " & getCurrentIcon(strIconDeleteReply,"Delete Reply","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
' DEM --> Start of Code added for Full Moderation
if (AdminAllowed = 1 and Reply_Status > 1) then
ReplyString = "REPLY_ID=" & Reply_ReplyID & "&CAT_ID=" & Cat_ID & "&FORUM_ID=" & Forum_ID & "&TOPIC_ID=" & Topic_ID
Response.Write " " & getCurrentIcon(strIconFolderModerate,"Approve/Hold/Reject this Reply","align=""absmiddle"" hspace=""6""") & "" & vbNewline
end if
' DEM --> End of Code added for Full Moderation
end if
Response.Write "
| " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" "
if Request.QueryString("SearchTerms") <> "" then
Response.Write SearchHiLite(formatStr(Reply_Content))
else
Response.Write formatStr(Reply_Content)
end if
Response.Write " | " & vbNewLine & _
" " & vbNewLine
if CanShowSignature = 1 and Reply_Sig = 1 and Reply_MemberSig <> "" then
Response.Write " " & vbNewLine & _
" " & formatStr(Reply_MemberSig) & " | " & vbNewLine & _
" " & vbNewLine
end if
if strEditedByDate = "1" and Reply_LastEditBy <> "" then
if Reply_LastEditBy <> Reply_Author then
Reply_LastEditByName = getMemberName(Reply_LastEditBy)
else
Reply_LastEditByName = chkString(Reply_MemberName,"display")
end if
Response.Write " " & vbNewLine & _
" " & _
"Edited by - " & Reply_LastEditByName & " on " & chkDate(Reply_LastEdit, " " ,true) & " | " & vbNewLine & _
" " & vbNewLine
end if
Response.Write " " & vbNewLine & _
" " & getCurrentIcon(strIconGoUp,"Go to Top of Page","align=""right""") & " | " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" | " & vbNewLine & _
" " & vbNewLine
intI = intI + 1
if intI = 2 then
intI = 0
end if
next
end if
Response.Write " " & vbNewLine
if maxpages > 1 then
Call DropDownPaging(2)
else
Response.Write " | " & vbNewLine
end if
Response.Write " 1 and (AdminAllowed = 1) then Response.Write(" colspan=""2""")
Response.Write ">" & vbNewLine
if strShowTopicNav = "1" then
Call Topic_nav()
else
Response.Write("Topic")
end if
Response.Write " | " & vbNewLine
if (AdminAllowed = 1) then
if maxpages > 1 then
Response.Write " | " & vbNewLine
end if
Response.Write " " & vbNewLine
call AdminOptions()
Response.Write " | " & vbNewLine
else
Response.Write " | " & vbNewLine
end if
Response.Write " " & vbNewLine & _
" " & vbNewLine & _
" | " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" | " & vbNewLine & _
"
" & vbNewLine & _
"
" & vbNewLine
if maxpages > 1 then
Response.Write "" & vbNewLine & _
" " & vbNewLine & _
" "
if mypage > 1 then Response.Write("Previous Page")
'if mypage > 1 then Response.Write("Previous Page")
if mypage > 1 and mypage < maxpages then Response.Write(" | ")
if mypage < maxpages then Response.Write("Next Page")
'if mypage < maxpages then Response.Write("Next Page")
Response.Write " | " & vbNewLine & _
"
" & vbNewLine & _
"
" & vbNewLine
end if
Response.Write "" & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine
Call PostingOptions()
Response.Write " | " & vbNewLine & _
" " & vbNewLine
%>
<%
Response.Write " | " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine
if strShowQuickReply = "1" and strDBNTUserName <> "" and ((Cat_Status = 1) and (Forum_Status = 1) and (Topic_Status = 1)) and ArchiveView = "" then
call QuickReply()
end if
WriteFooter
end if
sub GetFirst()
CColor = strForumFirstCellColor
Response.Write " |
" & vbNewLine & _
" " & vbNewLine & _
" " & profileLink(ChkString(Member_Name,"display"),TMember_ID) & " " & vbNewLine
if strShowRank = 1 or strShowRank = 3 then
Response.Write " " & ChkString(getMember_Level(Member_Title, Member_Level, Member_Posts),"display") & " " & vbNewLine
end if
if strShowRank = 2 or strShowRank = 3 then
Response.Write " " & getStar_Level(Member_Level, Member_Posts) & " " & vbNewLine
end if
Response.Write " " & vbNewLine & _
" " & vbNewLine
if strCountry = "1" and trim(Member_Country) <> "" then
Response.Write " " & Member_Country & " " & vbNewLine
end if
Response.Write " " & Member_Posts & " Posts | " & vbNewLine & _
" 1) then
Response.Write (" colspan=""3"" ")
else
Response.Write (" colspan=""2"" ")
end if
Response.Write "valign=""top"">" & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine
if Topic_Status < 2 then
Response.Write " " & getCurrentIcon(strIconPosticon,"","hspace=""3""") & "Posted - " & ChkDate(Topic_Date, " : " ,true) & "" & vbNewline
elseif Topic_Status = 2 then
Response.Write " NOT MODERATED!!!" & vbNewline
elseif Topic_Status = 3 then
Response.Write " " & getCurrentIcon(strIconPosticonHold,"","hspace=""3""") & "ON HOLD" & vbNewline
end if
Response.Write " " & profileLink(getCurrentIcon(strIconProfile,"Show Profile","align=""absmiddle"" hspace=""6"""),TMember_ID) & vbNewLine
if mLev > 2 or Member_ReceiveMail = "1" then
if (mlev <> 0) or (mlev = 0 and strLogonForMail <> "1") then
Response.Write " " & getCurrentIcon(strIconEmail,"Email Poster","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (strHomepage = "1") then
if Member_Homepage <> " " then
Response.Write " " & getCurrentIcon(strIconHomepage,"Visit " & ChkString(Member_Name,"display") & "'s Homepage","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (AdminAllowed = 1 or TMember_ID = MemberID) then
if ((Cat_Status <> 0) and (Forum_Status <> 0) and (Topic_Status <> 0)) or (AdminAllowed = 1) then
Response.Write " " & getCurrentIcon(strIconEditTopic,"Edit Topic","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (strAIM = "1") then
if Trim(Member_AIM) <> "" then
Response.Write " " & getCurrentIcon(strIconAIM,"Send " & ChkString(Member_Name,"display") & " an AOL message","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (strICQ = "1") then
if Trim(Member_ICQ) <> "" then
Response.Write " " & getCurrentIcon(strIconICQ,"Send " & ChkString(Member_Name,"display") & " an ICQ Message","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (strMSN = "1") then
if Trim(Member_MSN) <> "" then
Response.Write " " & getCurrentIcon(strIconMSNM,"Click to see " & ChkString(Member_Name,"display") & "'s MSN Messenger address","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (strYAHOO = "1") then
if Trim(Member_YAHOO) <> "" then
Response.Write " " & getCurrentIcon(strIconYahoo,"Send " & ChkString(Member_Name,"display") & " a Yahoo! Message","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
If (Member_PM = "1" and strPMStatus = "1") Then
if Trim(Member_PM) <> "" then
Response.Write " " & getCurrentIcon(strIconPmprivatemessage,"Send " & ChkString(Member_Name,"display") & " a Private Message","align=""absmiddle"" hspace=""0""") & "" & vbNewLine
End If
End IF
if ((Cat_Status <> 0 and Forum_Status <> 0 and Topic_Status = 1) or (AdminAllowed = 1 and Topic_Status <= 1) and ArchiveView = "" ) then
Response.Write " " & getCurrentIcon(strIconReplyTopic,"Reply with Quote","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
if (strIPLogging = "1") then
if (AdminAllowed = 1) then
Response.Write " " & getCurrentIcon(strIconIP,"View user's IP address","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
end if
if (AdminAllowed = 1) or (TMember_ID = MemberID and Topic_Replies < 1) then
Response.Write " " & getCurrentIcon(strIconDeleteReply,"Delete Topic","align=""absmiddle"" hspace=""6""") & "" & vbNewLine
end if
' DEM --> Start of Code added for Full Moderation
if (AdminAllowed = 1 and Topic_Status > 1) then
TopicString = "TOPIC_ID=" & Topic_ID & "&FORUM_ID=" & Forum_ID & "&CAT_ID=" & Cat_ID
Response.Write " " & getCurrentIcon(strIconFolderModerate,"Approve/Hold/Reject this Topic","align=""absmiddle"" hspace=""6""") & "" & vbNewline
End if
' End of Code added for Full Moderation
Response.Write "
| " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" "
if Request.QueryString("SearchTerms") <> "" then
Response.Write SearchHiLite(formatStr(Topic_Message))
else
Response.Write formatStr(Topic_Message)
end if
Response.Write " | " & vbNewLine & _
" " & vbNewLine
if CanShowSignature = 1 and Topic_Sig = 1 and Topic_MemberSig <> "" then
Response.Write " " & vbNewLine & _
" " & formatStr(Topic_MemberSig) & " | " & vbNewLine & _
" " & vbNewLine
end if
if strEditedByDate = "1" and Topic_LastEditBy <> "" then
if Topic_LastEditBy <> Topic_Author then
Topic_LastEditByName = getMemberName(Topic_LastEditBy)
else
Topic_LastEditByName = chkString(Member_Name,"display")
end if
Response.Write " " & vbNewLine & _
" " &_
"Edited by - " & Topic_LastEditByName & " on " & chkDate(Topic_LastEdit, " ", true) & " | " & vbNewLine & _
" " & vbNewLine
end if
Response.Write " " & vbNewLine & _
" | " & vbNewLine & _
"
" & vbNewLine
End Sub
sub PostingOptions()
Response.Write " " & vbNewLine
if (mlev = 4 or mlev = 3 or mlev = 2 or mlev = 1) or (lcase(strNoCookies) = "1") or (strDBNTUserName = "") then
if ((Cat_Status = 1) and (Forum_Status = 1)) then
Response.Write " " & getCurrentIcon(strIconFolderNewTopic,"","align=""absmiddle""") & " New Topic" & vbNewLine
else
if (AdminAllowed = 1) then
Response.Write " " & getCurrentIcon(strIconFolderLocked,"","align=""absmiddle""") & " New Topic" & vbNewLine
else
Response.Write " " & getCurrentIcon(strIconFolderLocked,"","align=""absmiddle""") & " Forum Locked" & vbNewLine
end if
end if
if ((Cat_Status = 1) and (Forum_Status = 1) and (Topic_Status = 1)) and ArchiveView = "" then
Response.Write " " & getCurrentIcon(strIconReplyTopic,"","align=""absmiddle""") & " Reply to Topic" & vbNewLine
else
if ((AdminAllowed = 1 and Topic_Status <= 1) and ArchiveView = "") then
Response.Write " "
' DEM --> Added if statement to show normal icon for unmoderated posts.
if Topic_Status = 1 and Cat_Status <> 0 and Forum_Status <> 0 then
Response.Write getCurrentIcon(strIconReplyTopic,"","align=""absmiddle""") & " "
else
Response.Write getCurrentIcon(strIconClosedTopic,"","align=""absmiddle""") & " "
end if
Response.Write "Reply to Topic" & vbNewLine
else
if Topic_Status = 0 then
Response.Write getCurrentIcon(strIconClosedTopic,"","align=""absmiddle""") & " Topic Locked" & vbNewline
end if
end if
end if
if lcase(strEmail) = "1" and Topic_Status < 2 then
if Cat_Status <> 0 and Forum_Status <> 0 and Topic_Status <> 0 and mLev > 0 then
if strSubscription > 0 and Cat_Subscription > 0 and Forum_Subscription > 0 then
if InArray(strTopicSubs, Topic_ID) then
Response.Write "
" & ShowSubLink ("U", Cat_ID, Forum_ID, Topic_ID, "Y") & vbNewLine
elseif strBoardSubs <> "Y" and not(InArray(strForumSubs,Forum_ID) or InArray(strCatSubs,Cat_ID)) then
Response.Write "
" & ShowSubLink ("S", Cat_ID, Forum_ID, Topic_ID, "Y") & vbNewLine
end if
end if
end if
if ((mlev <> 0) or (mlev = 0 and strLogonForMail <> "1")) and lcase(strShowSendToFriend) = "1" then
Response.Write "
" & getCurrentIcon(strIconSendTopic,"","align=""absmiddle""") & " Send Topic to a Friend" & vbNewLine
end if
end if
if lcase(strShowPrinterFriendly) = "1" and Topic_Status < 2 then
Response.Write "
" & getCurrentIcon(strIconPrint,"","align=""absmiddle""") & " Printer Friendly" & vbNewLine
end if
end if
Response.Write " "
end sub
sub AdminOptions()
Response.Write " " & vbNewLine
if (AdminAllowed = 1) or (lcase(strNoCookies) = "1") then
if (Cat_Status = 0) then
if (mlev = 4) then
Response.Write " " & getCurrentIcon(strIconFolderUnlocked,"Un-Lock Category","") & "" & vbNewLine
else
Response.Write " " & getCurrentIcon(strIconFolderUnlocked,"Category Locked","") & vbNewLine
end if
else
if (Forum_Status = 0) then
Response.Write " " & getCurrentIcon(strIconFolderUnlocked,"Un-Lock Forum","") & "" & vbNewLine
else
if (Topic_Status <> 0) then
Response.Write " " & getCurrentIcon(strIconFolderLocked,"Lock Topic","") & "" & vbNewLine
else
Response.Write " " & getCurrentIcon(strIconFolderUnlocked,"Un-Lock Topic","") & "" & vbNewLine
end if
end if
end if
if ((Cat_Status <> 0) and (Forum_Status <> 0) and (Topic_Status <> 0)) or (AdminAllowed = 1) then
Response.Write " " & getCurrentIcon(strIconFolderPencil,"Edit Topic","hspace=""0""") & "" & vbNewLine
end if
Response.Write " " & getCurrentIcon(strIconFolderDelete,"Delete Topic","") & "" & vbNewLine & _
" " & getCurrentIcon(strIconFolderNewTopic,"New Topic","") & "" & vbNewLine
if Topic_Status <= 1 and ArchiveView = "" then
Response.Write " " & getCurrentIcon(strIconReplyTopic,"Reply to Topic","") & "" & vbNewLine
end if
end if
' DEM --> Start of Code added for Full Moderation
if (AdminAllowed = 1 and CheckForUnModeratedPosts("TOPIC", Cat_ID, Forum_ID, Topic_ID) > 0) then
TopicString = "TOPIC_ID=" & Topic_ID & "&FORUM_ID=" & Forum_ID & "&CAT_ID=" & Cat_ID & "&REPLY_ID=X"
Response.Write " " & getCurrentIcon(strIconFolderModerate,"Approve/Hold/Reject all posts for this Topic","") & "" & vbNewline
end if
' DEM --> End of Code added for Full Moderation
Response.Write " "
end sub
sub DropDownPaging(fnum)
if maxpages > 1 then
if mypage = "" then
pge = 1
else
pge = mypage
end if
scriptname = request.servervariables("script_name")
Response.Write(" " & vbNewLine)
end if
top = "0"
end sub
Sub Topic_nav()
if prevTopic = "" then
strSQL = "SELECT T_SUBJECT, TOPIC_ID "
strSql = strSql & "FROM " & strActivePrefix & "TOPICS "
strSql = strSql & "WHERE T_LAST_POST > '" & Topic_LastPost
strSql = strSql & "' AND FORUM_ID = " & Forum_ID
strSql = strSql & " AND T_STATUS < 2" ' Ignore unapproved/held posts
strSql = strSql & " ORDER BY T_LAST_POST;"
set rsPrevTopic = my_conn.Execute(TopSQL(strSql,1))
if rsPrevTopic.EOF then
prevTopic = getCurrentIcon(strIconBlank,"","align=""top"" hspace=""6""")
else
prevTopic = "" & getCurrentIcon(strIconGoLeft,"Previous Topic","align=""top"" hspace=""6""") & ""
end if
rsPrevTopic.close
set rsPrevTopic = nothing
else
prevTopic = prevTopic
end if
if NextTopic = "" then
strSQL = "SELECT T_SUBJECT, TOPIC_ID "
strSql = strSql & "FROM " & strActivePrefix & "TOPICS "
strSql = strSql & "WHERE T_LAST_POST < '" & Topic_LastPost
strSql = strSql & "' AND FORUM_ID = " & Forum_ID
strSql = strSql & " AND T_STATUS < 2" ' Ignore unapproved/held posts
strSql = strSql & " ORDER BY T_LAST_POST DESC;"
set rsNextTopic = my_conn.Execute(TopSQL(strSql,1))
if rsNextTopic.EOF then
nextTopic = getCurrentIcon(strIconBlank,"","align=""top"" hspace=""6""")
else
nextTopic = "" & getCurrentIcon(strIconGoRight,"Next Topic","align=""top"" hspace=""6""") & ""
end if
rsNextTopic.close
set rsNextTopic = nothing
else
nextTopic = nextTopic
end if
Response.Write (" " & prevTopic & " Topic " & nextTopic)
end sub
function SearchHiLite(fStrMessage)
'function derived from HiLiTeR by 2eNetWorX
fArr = split(replace(Request.QueryString("SearchTerms"),";",""), ",")
strBuffer = ""
for iPos = 1 to len(fStrMessage)
bChange = False
'Looks for html tags
if mid(fStrMessage, iPos, 1) = "<" then
bInHTML = True
end if
'Looks for End of html tags
if bInHTML = True then
if mid(fStrMessage, iPos, 1) = ">" then
bInHTML = False
end if
end if
if bInHTML <> True then
for i = 0 to UBound(fArr)
if fArr(i) <> "" then
if lcase(mid(fStrMessage, iPos, len(fArr(i)))) = lcase(fArr(i)) then
bChange = True
strBuffer = strBuffer & "" & _
mid(fStrMessage, iPos, len(fArr(i))) & ""
iPos = iPos + len(fArr(i)) - 1
end if
end if
next
end if
if Not bChange then
strBuffer = strBuffer & mid(fStrMessage, iPos, 1)
end if
next
SearchHiLite = strBuffer
end function
Sub QuickReply()
intSigDefault = getSigDefault(MemberID)
Response.Write " " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" " & vbNewLine & _
" | " & vbNewLine & _
"
" & vbNewLine & _
"
" & vbNewLine & _
"
" & vbNewLine
end sub
%>