<% 'Copyright (C) 2004-2007 Canol Gökel ' '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 iyzi Forum must remain intact in 'the scripts and in the outputted HTML. ' 'The "iyzi Forum" text with a link back to http://www.iyziforum.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 my web site at: 'http://www.iyziforum.com ' 'E-Mail: canol@canol.info %> <% LocationName = "Topic" & Request.QueryString("TopicID") TopicID = Request.QueryString("TopicID") FilterPosts = Request.QueryString("FilterPosts") Page = Request.QueryString("Page") If Page = "" Then Page = 1 Else Page = CInt(Page) End If DisplayedRecordsLow = (Page - 1) * SettingsRepliesPerPage SQL = "Select" SQL = SQL & " iyzi_" & AdditionalTableWord & "Posts.PostID, iyzi_" & AdditionalTableWord & "Posts.CategoryID, iyzi_" & AdditionalTableWord & "Posts.Subject, iyzi_" & AdditionalTableWord & "Posts.Message, iyzi_" & AdditionalTableWord & "Posts.MemberName, iyzi_" & AdditionalTableWord & "Posts.PostedOn, iyzi_" & AdditionalTableWord & "Posts.MembersReadAllMessages, iyzi_" & AdditionalTableWord & "Posts.ReplyCount, iyzi_" & AdditionalTableWord & "Posts.Sticky, iyzi_" & AdditionalTableWord & "Posts.Status, iyzi_" & AdditionalTableWord & "Posts.ContainsPendingPost" SQL = SQL & ", iyzi_" & AdditionalTableWord & "Members.MemberID, iyzi_" & AdditionalTableWord & "Members.PersonalMessage, iyzi_" & AdditionalTableWord & "Members.Signature, iyzi_" & AdditionalTableWord & "Members.AvatarLocation, iyzi_" & AdditionalTableWord & "Members.AvatarHeight, iyzi_" & AdditionalTableWord & "Members.AvatarWidth" SQL = SQL & " From iyzi_" & AdditionalTableWord & "Posts LEFT JOIN iyzi_" & AdditionalTableWord & "Members" SQL = SQL & " ON iyzi_" & AdditionalTableWord & "Posts.MemberID = iyzi_" & AdditionalTableWord & "Members.MemberID" SQL = SQL & " Where iyzi_" & AdditionalTableWord & "Posts.PostID = " & OrganizeData(TopicID, "DBNumber") If InStr(SettingsAdmins, "-" & MemberMemberID & "-") = 0 and InStr(SettingsModerators, "-" & MemberMemberID & "-") = 0 Then SQL = SQL & " and iyzi_" & AdditionalTableWord & "Posts.Status = '1'" End If Set TopicAndWriter = Connection.Execute(SQL) TopicPostID = TopicAndWriter("PostID") TopicCategoryID = TopicAndWriter("CategoryID") TopicSubject = TopicAndWriter("Subject") TopicMessage = TopicAndWriter("Message") TopicMemberID = TopicAndWriter("MemberID") TopicMemberName = TopicAndWriter("MemberName") TopicDate = TopicAndWriter("PostedOn") TopicMembersReadAllMessages = TopicAndWriter("MembersReadAllMessages") TopicReplyCount = TopicAndWriter("ReplyCount") TopicSticky = TopicAndWriter("Sticky") TopicStatus = TopicAndWriter("Status") TopicContainsPendingPost = TopicAndWriter("ContainsPendingPost") TopicWriterMemberID = TopicAndWriter("MemberID") If IsNull(TopicWriterMemberID) Then DeletedMember = "1" End If TopicWriterMemberName = TopicAndWriter("MemberName") TopicWriterPersonalMessage = Trim(TopicAndWriter("PersonalMessage")) TopicWriterSignature = Trim(TopicAndWriter("Signature")) TopicWriterAvatarLocation = Trim(TopicAndWriter("AvatarLocation")) TopicWriterAvatarHeight = TopicAndWriter("AvatarHeight") If TopicWriterAvatarHeight > SettingsMaxAvatarHeight Then TopicWriterAvatarHeight = SettingsMaxAvatarHeight End If TopicWriterAvatarWidth = TopicAndWriter("AvatarWidth") If TopicWriterAvatarWidth > SettingsMaxAvatarWidth Then TopicWriterAvatarWidth = SettingsMaxAvatarWidth End If TopicAndWriter.Close Set TopicAndWriter = Nothing SQL = "Select Name From iyzi_" & AdditionalTableWord & "Categories Where CategoryID = " & OrganizeData(TopicCategoryID, "DBNumber") Set Category = Connection.Execute(SQL) CategoryName = Category("Name") Category.Close Set Category = Nothing SQL="Select Count(*) as ReplyCount From iyzi_" & AdditionalTableWord & "Posts Where ParentPostID=" & OrganizeData(TopicID, "DBNumber") If FilterPosts = "PendingPosts" and (InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0) Then SQL = SQL & " and Status = '0'" ElseIf InStr(SettingsAdmins, "-" & MemberMemberID & "-") = 0 and InStr(SettingsModerators, "-" & MemberMemberID & "-") = 0 Then SQL = SQL & " and Status = '1'" End If Set CountReplies = Connection.Execute(SQL) TopicReplyCount = CInt(CountReplies("ReplyCount")) CountReplies.Close Set CountReplies = Nothing If Not MemberMemberID = "" Then If InStr(TopicMembersReadAllMessages, "-" & MemberMemberID & "-") = 0 Then If DatabaseType = "Access" Then SQL = "Update iyzi_" & AdditionalTableWord & "Posts Set MembersReadAllMessages = MembersReadAllMessages & " & MemberMemberID & " & '-' Where PostID = " & TopicPostID ElseIf DatabaseType = "MySQL" Then SQL = "Update iyzi_" & AdditionalTableWord & "Posts Set MembersReadAllMessages = concat(MembersReadAllMessages, '" & MemberMemberID & "', '-') Where PostID = " & TopicPostID End If Connection.Execute(SQL) End If End If Title = TopicSubject & " - " & SettingsForumTitle TopicMessageDescription = Replace(TopicMessage, """", "") TopicMessageDescription = Replace(TopicMessageDescription, vbcrlf, " ") Description = Left(TopicMessageDescription, 255) %>
<%=LanGuideMainPage%> <% If UBound(CategoriesArray) > 1 Then Response.Write " » " & CategoryName & "" End If %> » <%=OrganizeData(TopicSubject, "Display")%> <% If TopicReplyCount > SettingsRepliesPerPage Then Response.Write "   (" & LanPages & ": " If Fix(TopicReplyCount / SettingsRepliesPerPage) = TopicReplyCount / SettingsRepliesPerPage Then PageCount = Fix(TopicReplyCount / SettingsRepliesPerPage) Else PageCount = Fix(TopicReplyCount / SettingsRepliesPerPage) + 1 End If If Page + 5 > PageCount Then TopLimit = PageCount Else TopLimit = Page + 5 End If If Page - 5 < 1 Then LowLimit = 1 Else LowLimit = Page - 5 End If If LowLimit > 1 Then Response.Write " "" Then Response.Write "&FilterPosts=" & FilterPosts End If Response.Write """ title=""" & LanTitleGoesToFirstPage & """>1" If LowLimit > 2 Then Response.Write " ..." Else Response.Write ", " End If End If For PageNumber = LowLimit to TopLimit If PageNumber <> 1 Then Response.Write " " End If If PageNumber = Page Then Response.Write "" & PageNumber & "" If Not PageNumber = TopLimit Then Response.Write ", " End If Else Response.Write "" & PageNumber & "" If Not PageNumber = TopLimit Then Response.Write ", " End If End If Next If Not TopLimit = PageCount Then If TopLimit < PageCount - 1 Then Response.Write " ..." Else Response.Write ", " End If Response.Write " " & PageCount & "" End If Response.Write ")" End If %>
<% If (InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0) and SettingsPostApproval = "1" and (FilterPosts <> "" or TopicContainsPendingPost = "1") Then %>
<%=LanModeratorOptions%>
<% If FilterPosts = "" and TopicContainsPendingPost = "1" Then %> [ <%=LanShowPendingPosts%> ] <% ElseIf FilterPosts <> "" Then %> [ <%=LanShowAllPosts%> ] <% End If %>
<% End If If TopicStatus = "0" Then AdditionalClass = "PostPending" Else AdditionalClass = "PostLight" End If If Page = 1 and ((FilterPosts = "PendingPosts" and TopicStatus = "0") or (FilterPosts = "" and TopicStatus <> "0") or (FilterPosts = "" and TopicStatus = "0" and (InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0))) Then %>
<% If DeletedMember = 0 Then If SettingsAvatarFeature = "1" and TopicWriterAvatarLocation <> "" and Left(TopicWriterAvatarLocation, Len("images/avatars/quick_avatars/")) <> "images/avatars/quick_avatars/" Then Response.Write "" ElseIf SettingsAvatarFeature = "1" and TopicWriterAvatarLocation <> "" and Left(TopicWriterAvatarLocation, Len("images/avatars/quick_avatars/")) = "images/avatars/quick_avatars/" Then Response.Write "" End If End If %>
<% Response.Write "

" & OrganizeData(TopicSubject, "Display") & "

" Response.Write AutoCode(TopicPostID, TopicMessage, SettingsAllowMembersToUseHTMLOnPosts, SettingsAllowMembersToUseiyziCodeOnPosts, 1, SettingsAllowMembersToUseSmiliesOnPosts) If DeletedMember = 0 and Not TopicWriterSignature = "" Then Response.Write "
" If SettingsAdditionalSignatureCode <> "" Then Response.Write AutoCode(0, SettingsAdditionalSignatureCode, "1", "1", "1", "1") End If Response.Write AutoCode(TopicPostID, TopicWriterSignature, SettingsAllowMembersToUseHTMLOnPosts, SettingsAllowMembersToUseiyziCodeOnPosts, 1, SettingsAllowMembersToUseSmiliesOnPosts) Response.Write "
" End If SQL = "Select FileID, FileName From iyzi_" & AdditionalTableWord & "Files Where PostID = " & TopicPostID Set Files = Connection.Execute(SQL) If Not Files.Eof Then ThereAreFiles = "1" End If If ThereAreFiles Then Response.Write "
" End If Do While Not Files.Eof FilesFileID = Files("FileID") FilesFileName = Files("FileName") Response.Write " " Response.Write "" & FilesFileName & "" Files.MoveNext If Not Files.Eof Then Response.Write "   " End If Loop If ThereAreFiles Then Response.Write "
" End If Files.Close Set Files = Nothing %>
<% If (MemberMemberID = TopicWriterMemberID) or (InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0) Then %> <%=LanTitleEditPost%> <% End If If InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0 Then If SettingsPostApproval = "1" and TopicStatus = "0" Then %>  <%=LanTitleApprovePost%> <% ElseIf SettingsPostApproval = "1" and TopicStatus = "1" Then %>  <%=LanTitleRejectPost%> <% End If End If If (MemberMemberID = TopicWriterMemberID) or (InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0) Then %>  <%=LanTitleDeletePost%> <% End If %>
<% If SettingsAdvertisementCodeTopic <> "" Then Response.Write "
" Response.Write SettingsAdvertisementCodeTopic Response.Write "
" End If End If Set RepliesAndWriters = Server.CreateObject("ADODB.RecordSet") SQL = "Select" SQL = SQL & " iyzi_" & AdditionalTableWord & "Posts.PostID, iyzi_" & AdditionalTableWord & "Posts.Subject, iyzi_" & AdditionalTableWord & "Posts.Message, iyzi_" & AdditionalTableWord & "Posts.MemberID, iyzi_" & AdditionalTableWord & "Posts.MemberName, iyzi_" & AdditionalTableWord & "Posts.PostedOn, iyzi_" & AdditionalTableWord & "Posts.Status" SQL = SQL & ", iyzi_" & AdditionalTableWord & "Members.MemberID, iyzi_" & AdditionalTableWord & "Members.PersonalMessage, iyzi_" & AdditionalTableWord & "Members.Signature, iyzi_" & AdditionalTableWord & "Members.AvatarLocation, iyzi_" & AdditionalTableWord & "Members.AvatarHeight, iyzi_" & AdditionalTableWord & "Members.AvatarWidth" SQL = SQL & " From iyzi_" & AdditionalTableWord & "Posts LEFT JOIN iyzi_" & AdditionalTableWord & "Members" SQL = SQL & " ON iyzi_" & AdditionalTableWord & "Posts.MemberID = iyzi_" & AdditionalTableWord & "Members.MemberID" SQL = SQL & " Where iyzi_" & AdditionalTableWord & "Posts.ParentPostID=" & OrganizeData(TopicID, "DBNumber") If FilterPosts = "PendingPosts" and (InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0) Then SQL = SQL & " and iyzi_" & AdditionalTableWord & "Posts.Status = '0'" ElseIf InStr(SettingsAdmins, "-" & MemberMemberID & "-") = 0 and InStr(SettingsModerators, "-" & MemberMemberID & "-") = 0 Then SQL = SQL & " and iyzi_" & AdditionalTableWord & "Posts.Status = '1'" End If SQL = SQL & " Order By iyzi_" & AdditionalTableWord & "Posts.PostedOn ASC" If DatabaseType = "MySQL" Then SQL = SQL & " Limit " & DisplayedRecordsLow & ", " & SettingsRepliesPerPage End If RepliesAndWriters.Open SQL, Connection, 1, 3 If DatabaseType = "Access" and Not RepliesAndWriters.Eof Then RepliesAndWriters.PageSize = SettingsRepliesPerPage RepliesAndWriters.AbsolutePage = Page End If For ReplyNumber = 1 to SettingsRepliesPerPage If RepliesAndWriters.Eof Then Exit For DeletedMember = "0" ReplyPostID = RepliesAndWriters("PostID") ReplySubject = RepliesAndWriters("Subject") ReplyMessage = RepliesAndWriters("Message") ReplyMemberID = RepliesAndWriters("MemberID") ReplyMemberName = RepliesAndWriters("MemberName") ReplyDate = RepliesAndWriters("PostedOn") ReplyStatus = RepliesAndWriters("Status") ReplyWriterMemberID = RepliesAndWriters("MemberID") If IsNull(ReplyWriterMemberID) Then DeletedMember = "1" End If ReplyWriterMemberName = RepliesAndWriters("MemberName") ReplyWriterPersonalMessage = Trim(RepliesAndWriters("PersonalMessage")) ReplyWriterSignature = Trim(RepliesAndWriters("Signature")) ReplyWriterAvatarLocation = Trim(RepliesAndWriters("AvatarLocation")) ReplyWriterAvatarHeight = RepliesAndWriters("AvatarHeight") If ReplyWriterAvatarHeight > SettingsMaxAvatarHeight Then ReplyWriterAvatarHeight = SettingsMaxAvatarHeight End If ReplyWriterAvatarWidth = RepliesAndWriters("AvatarWidth") If ReplyWriterAvatarWidth > SettingsMaxAvatarWidth Then ReplyWriterAvatarWidth = SettingsMaxAvatarWidth End If If TopicStatus = "0" Then AdditionalClass = "PostDisabled" ElseIf ReplyStatus = "0" Then AdditionalClass = "PostPending" ElseIf ReplyNumber Mod 2 = 0 Then AdditionalClass = "PostLight" Else AdditionalClass = "PostDark" End If %>
<% If DeletedMember = "0" Then If (SettingsAvatarFeature = "1") and (ReplyWriterAvatarLocation <> "") and (Left(ReplyWriterAvatarLocation, Len("images/avatars/quick_avatars/")) <> "images/avatars/quick_avatars/") Then Response.Write "" ElseIf (SettingsAvatarFeature = "1") and (ReplyWriterAvatarLocation <> "") and (Left(ReplyWriterAvatarLocation, Len("images/avatars/quick_avatars/")) = "images/avatars/quick_avatars/") Then Response.Write "" End If End If %>
<% If SettingsShowReplySubjects = "1" Then Response.Write "

" & OrganizeData(ReplySubject, "Display") & "

" End If Response.Write AutoCode(ReplyPostID, ReplyMessage, SettingsAllowMembersToUseHTMLOnPosts, SettingsAllowMembersToUseiyziCodeOnPosts, "1", SettingsAllowMembersToUseSmiliesOnPosts) If DeletedMember = "0" and Not ReplyWriterSignature = "" Then Response.Write "
" If SettingsAdditionalSignatureCode <> "" Then Response.Write AutoCode(0, SettingsAdditionalSignatureCode, "1", "1", "1", "1") End If Response.Write AutoCode(ReplyPostID, ReplyWriterSignature, SettingsAllowMembersToUseHTMLOnPosts, SettingsAllowMembersToUseiyziCodeOnPosts, 1, SettingsAllowMembersToUseSmiliesOnPosts) & "
" End If SQL = "Select FileID, FileName From iyzi_" & AdditionalTableWord & "Files Where PostID = " & ReplyPostID Set Files = Connection.Execute(SQL) If Not Files.Eof Then ThereAreFiles = "1" End If If ThereAreFiles Then Response.Write "
" End If Do While Not Files.Eof FilesFileID = Files("FileID") FilesFileName = Files("FileName") Response.Write " " Response.Write "" & FilesFileName & "" Files.MoveNext If Not Files.Eof Then Response.Write "   " End If Loop If ThereAreFiles Then Response.Write "
" End If Files.Close Set Files = Nothing %>
<% If (MemberMemberID = ReplyWriterMemberID) or (InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0) Then %> <%=LanTitleEditPost%> <% End If If InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0 Then If SettingsPostApproval = "1" and ReplyStatus = "0" Then %>  <%=LanTitleApprovePost%> <% ElseIf SettingsPostApproval = "1" and ReplyStatus = "1" Then %>  <%=LanTitleRejectPost%> <% End If End If If (MemberMemberID = ReplyWriterMemberID) or (InStr(SettingsAdmins, "-" & MemberMemberID & "-") <> 0 or InStr(SettingsModerators, "-" & MemberMemberID & "-") <> 0) Then %>  <%=LanTitleDeletePost%> <% End If %>
<% If Page <> 1 and ReplyNumber = 1 and SettingsAdvertisementCodeTopic <> "" Then Response.Write "
" Response.Write SettingsAdvertisementCodeTopic Response.Write "
" End If RepliesAndWriters.MoveNext Next RepliesAndWriters.Close Set RepliesAndWriters = Nothing %>
<%=LanGuideMainPage%> <% If UBound(CategoriesArray) > 1 Then Response.Write " » " & CategoryName & "" End If %> » <%=OrganizeData(TopicSubject, "Display")%> <% If TopicReplyCount > SettingsRepliesPerPage Then Response.Write "   (" & LanPages & ": " If Fix(TopicReplyCount / SettingsRepliesPerPage) = TopicReplyCount / SettingsRepliesPerPage Then PageCount = Fix(TopicReplyCount / SettingsRepliesPerPage) Else PageCount = Fix(TopicReplyCount / SettingsRepliesPerPage) + 1 End If If Page + 5 > PageCount Then TopLimit = PageCount Else TopLimit = Page + 5 End If If Page - 5 < 1 Then LowLimit = 1 Else LowLimit = Page - 5 End If If LowLimit > 1 Then Response.Write " "" Then Response.Write "&FilterPosts=" & FilterPosts End If Response.Write """ title=""" & LanTitleGoesToFirstPage & """>1" If LowLimit > 2 Then Response.Write " ..." Else Response.Write ", " End If End If For PageNumber = LowLimit to TopLimit If PageNumber <> 1 Then Response.Write " " End If If PageNumber = Page Then Response.Write "" & PageNumber & "" If Not PageNumber = TopLimit Then Response.Write ", " End If Else Response.Write "" & PageNumber & "" If Not PageNumber = TopLimit Then Response.Write ", " End If End If Next If Not TopLimit = PageCount Then If TopLimit < PageCount - 1 Then Response.Write " ..." Else Response.Write ", " End If Response.Write " " & PageCount & "" End If Response.Write ")" End If %>
<% Connection.Close Set Connection = Nothing %>