<% @ Language=VBScript %> <% Option Explicit %> <% '**************************************************************************************** '** Copyright Notice '** '** Web Wiz Forums(TM) '** http://www.webwizforums.com '** '** Copyright (C)2001-2008 Web Wiz(TM). All Rights Reserved. '** '** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS UNDER LICENSE FROM 'WEB WIZ'. '** '** IF YOU DO NOT AGREE TO THE LICENSE AGREEMENT THEN 'WEB WIZ' IS UNWILLING TO LICENSE '** THE SOFTWARE TO YOU, AND YOU SHOULD DESTROY ALL COPIES YOU HOLD OF 'WEB WIZ' SOFTWARE '** AND DERIVATIVE WORKS IMMEDIATELY. '** '** If you have not received a copy of the license with this work then a copy of the latest '** license contract can be found at:- '** '** http://www.webwizguide.com/license '** '** For more information about this software and for licensing information please contact '** 'Web Wiz' at the address and website below:- '** '** Web Wiz, Unit 10E, Dawkins Road Industrial Estate, Poole, Dorset, BH15 4JD, England '** http://www.webwizguide.com '** '** Removal or modification of this copyright notice will violate the license contract. '** '**************************************************************************************** '*************************** SOFTWARE AND CODE MODIFICATIONS **************************** '** '** MODIFICATION OF THE FREE EDITIONS OF THIS SOFTWARE IS A VIOLATION OF THE LICENSE '** AGREEMENT AND IS STRICTLY PROHIBITED '** '** If you wish to modify any part of this software a license must be purchased '** '**************************************************************************************** 'Set the response buffer to true as we maybe redirecting and setting a cookie Response.Buffer = true 'Make sure this page is not cached Response.Expires = -1 Response.ExpiresAbsolute = Now() - 2 Response.AddHeader "pragma","no-cache" Response.AddHeader "cache-control","private" Response.CacheControl = "No-Store" 'Dimension variables Dim sarryForums 'Holds the recordset array for all the categories and forums Dim saryMemebrStats 'Holds the member stats Dim strCategory 'Holds the category name Dim intCatID 'Holds the id for the category Dim strForumName 'Holds the forum name Dim strForumDiscription 'Holds the forum description Dim strForumPassword 'Holds the forum password if there is one Dim lngNumberOfTopics 'Holds the number of topics in a forum Dim lngNumberOfPosts 'Holds the number of Posts in the forum Dim lngTotalNumberOfTopics 'Holds the total number of topics in a forum Dim lngTotalNumberOfPosts 'Holds the total number of Posts in the forum Dim intNumberofForums 'Holds the number of forums Dim lngLastEntryMeassgeID 'Holds the message ID of the last entry Dim dtmLastEntryDate 'Holds the date of the last entry to the forum Dim strLastEntryUser 'Holds the the username of the user who made the last entry Dim lngLastEntryUserID 'Holds the ID number of the last user to make and entry Dim dtmLastEntryDateAllForums 'Holds the date of the last entry to all fourms Dim strLastEntryUserAllForums 'Holds the the username of the user who made the last entry to all forums Dim lngLastEntryUserIDAllForums 'Holds the ID number of the last user to make and entry to all forums Dim blnForumLocked 'Set to true if the forum is locked Dim intForumColourNumber 'Holds the number to calculate the table row colour Dim blnHideForum 'Set to true if this is a hidden forum Dim intCatShow 'Holds the ID number of the category to show if only showing one category Dim intActiveUsers 'Holds the number of active users Dim intActiveGuests 'Holds the number of active guests Dim intActiveMembers 'Holds the number of logged in active members Dim strMembersOnline 'Holds the names of the members online Dim intSubForumID 'Holds the sub forum ID number Dim strSubForumName 'Holds the sub forum name Dim strSubForums 'Holds if there are sub forums Dim dtmLastSubEntryDate 'Holds the date of the last entry to the forum Dim strLastSubEntryUser 'Holds the the username of the user who made the last entry Dim lngLastSubEntryUserID 'Holds the ID number of the last user to make and entry Dim lngSubForumNumberOfPosts 'Holds the number of posts in the subforum Dim lngSubForumNumberOfTopics 'Holds the number of topics in the subforum Dim strSubForumPassword 'Holds sub forum password Dim intTotalRecords 'Holds the number of records Dim intCurrentRecord 'Holds the current record position Dim intTempRecord 'Holds a temporary record position for looping through records for any checks Dim blnSubRead 'Holds if the user has entry to the sub forum Dim lngNoOfMembers 'Holds the number of forum members Dim intArrayPass 'Active users array counter Dim strBirthdays 'String containing all those with birtdays today Dim dtmNow 'Now date with off-set Dim intBirtdayLoopCounter 'Holds the bitrhday loop counter Dim intLastForumEntryID 'Holds the last forum ID for the last entry for link in forum stats Dim intTotalViewingForum 'Holds the number of people viewing the forum, including sub forums Dim intAnonymousMembers 'Holds the number of intAnonymous members online Dim intUnReadPostCount 'Holds the count for the number of unread posts in the forum Dim intUnReadForumPostsLoop 'Loop to count the number of unread posts in a forum Dim lngTopicID 'Holds the topic ID Dim strSubject 'Holds the subject Dim lngSubTopicID 'Holds the topic ID Dim strSubSubject 'Holds the subject 'Initialise variables lngTotalNumberOfTopics = 0 lngTotalNumberOfPosts = 0 intNumberofForums = 0 intForumColourNumber = 0 intActiveMembers = 0 intActiveGuests = 0 intActiveUsers = 0 intAnonymousMembers = 0 intTotalRecords = 0 lngNoOfMembers = 0 intBirtdayLoopCounter = 0 'Read in the category to show If IsNumeric(Request.QueryString("C")) Then intCatShow = CInt(Request.QueryString("C")) Else intCatShow = 0 End If 'If we have not yet checked for unread posts since last visit run it now If Session("dtmUnReadPostCheck") = "" Then Call UnreadPosts() 'Read in array if at application level ElseIf isArray(Application("sarryUnReadPosts" & strSessionID)) Then sarryUnReadPosts = Application("sarryUnReadPosts" & strSessionID) 'Read in the unread posts array ElseIf isArray(Session("sarryUnReadPosts")) Then sarryUnReadPosts = Session("sarryUnReadPosts") End If 'Read the various categories, forums, and permissions from the database in one hit for extra performance 'Initalise the strSQL variable with an SQL statement to query the database strSQL = "" & _ "SELECT " & strDbTable & "Category.Cat_ID, " & strDbTable & "Category.Cat_name, " & strDbTable & "Forum.Forum_ID, " & strDbTable & "Forum.Sub_ID, " & strDbTable & "Forum.Forum_name, " & strDbTable & "Forum.Forum_description, " & strDbTable & "Forum.No_of_topics, " & strDbTable & "Forum.No_of_posts, " & strDbTable & "Author.Username, " & strDbTable & "Forum.Last_post_author_ID, " & strDbTable & "Forum.Last_post_date, " & strDbTable & "Forum.Password, " & strDbTable & "Forum.Locked, " & strDbTable & "Forum.Hide, " & strDbTable & "Permissions.View_Forum, " & strDbTable & "Forum.Last_topic_ID, " & strDbTable & "Topic.Subject " & _ "FROM (((" & strDbTable & "Category INNER JOIN " & strDbTable & "Forum ON " & strDbTable & "Category.Cat_ID = " & strDbTable & "Forum.Cat_ID) LEFT JOIN " & strDbTable & "Topic ON " & strDbTable & "Forum.Last_topic_ID = " & strDbTable & "Topic.Topic_ID) INNER JOIN " & strDbTable & "Author ON " & strDbTable & "Forum.Last_post_author_ID = " & strDbTable & "Author.Author_ID) INNER JOIN " & strDbTable & "Permissions ON " & strDbTable & "Forum.Forum_ID = " & strDbTable & "Permissions.Forum_ID " & _ "WHERE (" & strDbTable & "Permissions.Author_ID = " & lngLoggedInUserID & " OR " & strDbTable & "Permissions.Group_ID = " & intGroupID & ") " & _ "ORDER BY " & strDbTable & "Category.Cat_order, " & strDbTable & "Forum.Forum_Order, " & strDbTable & "Permissions.Author_ID DESC;" 'Set error trapping On Error Resume Next 'Query the database rsCommon.Open strSQL, adoCon 'If an error has occurred write an error to the page If Err.Number <> 0 Then Call errorMsg("An error has occurred while executing SQL query on database.", "get_forum_data", "default.asp") 'Disable error trapping On Error goto 0 'Place the recordset into an array If NOT rsCommon.EOF Then sarryForums = rsCommon.GetRows() intTotalRecords = Ubound(sarryForums,2) + 1 End If 'Close the recordset rsCommon.Close 'SQL Query Array Look Up table '0 = Cat_ID '1 = Cat_name '2 = Forum_ID '3 = Sub_ID '4 = Forum_name '5 = Forum_description '6 = No_of_topics '7 = No_of_posts '8 = Last_post_author '9 = Last_post_author_ID '10 = Last_post_date '11 = Password '12 = Locked '13 = Hide '14 = Read '15 = Last_topic_ID '16 = Topic.Subject 'Get the last signed up user and member stats and birthdays for use at bottom of page If blnDisplayBirthdays Then 'Get the now date with time off-set dtmNow = getNowDate() 'Initalise the strSQL variable with an SQL statement to query the database strSQL = "SELECT " & strDbTable & "Author.Username, " & strDbTable & "Author.Author_ID, " & strDbTable & "Author.DOB " & _ "FROM " & strDbTable & "Author" & strDBNoLock & " " & _ "WHERE MONTH(" & strDbTable & "Author.DOB) = " & Month(dtmNow) & " " & _ "AND DAY(" & strDbTable & "Author.DOB) = " & Day(dtmNow) & " " & _ "ORDER BY " & strDbTable & "Author.Author_ID DESC;" 'Set error trapping On Error Resume Next 'Query the database rsCommon.Open strSQL, adoCon 'If an error has occurred write an error to the page If Err.Number <> 0 AND strDatabaseType = "mySQL" Then Call errorMsg("An error has occurred while executing SQL query on database.
Please check that the MySQL Server version is 4.1 or above.", "get_birthdays", "default.asp") ElseIf Err.Number <> 0 Then Call errorMsg("An error has occurred while executing SQL query on database.", "get_birthdays", "default.asp") End If 'Disable error trapping On Error goto 0 'Place the recordset into an array If NOT rsCommon.EOF Then 'Read the recordset into an array saryMemebrStats = rsCommon.GetRows() 'Loop through to get all members with birthdays today Do While intBirtdayLoopCounter <= Ubound(saryMemebrStats, 2) 'If bitrhday is found for this date then add it to string If Month(dtmNow) = Month(saryMemebrStats(2, intBirtdayLoopCounter)) AND Day(dtmNow) = Day(saryMemebrStats(2, intBirtdayLoopCounter)) Then 'If there is already one birthday then place a comma before the next If strBirthdays <> "" Then strBirthdays = strBirthdays & ", " 'Place the birthday into the Birthday array strBirthdays = strBirthdays & "" & saryMemebrStats(0, intBirtdayLoopCounter) & " (" & Fix(DateDiff("m", saryMemebrStats(2, intBirtdayLoopCounter), Year(dtmNow) & "-" & Month(dtmNow) & "-" & Day(dtmNow))/12) & ")" End If 'Increment loop counter by 1 intBirtdayLoopCounter = intBirtdayLoopCounter + 1 Loop End If 'Close recordset rsCommon.close End If 'Read in some stats about the last members strSQL = "SELECT " & strDBTop1 & " " & strDbTable & "Author.Username, " & strDbTable & "Author.Author_ID " If NOT strDatabaseType = "mySQL" Then strSQL = strSQL & ", (SELECT COUNT (*) FROM " & strDbTable & "Author WHERE 1 = 1) AS memberCount " strSQL = strSQL & _ "FROM " & strDbTable & "Author" & strDBNoLock & " " & _ "ORDER BY " & strDbTable & "Author.Author_ID DESC " & strDBLimit1 & ";" 'Set error trapping On Error Resume Next 'Query the database rsCommon.Open strSQL, adoCon 'If an error has occurred write an error to the page If Err.Number <> 0 Then Call errorMsg("An error has occurred while executing SQL query on database.", "get_last_USR_+_count", "default.asp") 'Disable error trapping On Error goto 0 'Place the recordset into an array If NOT rsCommon.EOF Then 'Read in member count from database (if NOT mySQL) If NOT strDatabaseType = "mySQL" Then lngNoOfMembers = CLng(rsCommon("memberCount")) 'Read the recordset into an array saryMemebrStats = rsCommon.GetRows() End If 'Close recordset rsCommon.close 'We have tgo use a seporate query to count the number of members in mySQL If strDatabaseType = "mySQL" Then 'Count the number of members strSQL = "SELECT Count(" & strDbTable & "Author.Author_ID) AS memberCount " & _ "FROM " & strDbTable & "Author;" 'Set error trapping On Error Resume Next 'Query the database rsCommon.Open strSQL, adoCon 'If an error has occurred write an error to the page If Err.Number <> 0 Then Call errorMsg("An error has occurred while executing SQL query on database.", "member_count", "default.asp") 'Disable error trapping On Error goto 0 'Read in member count from database lngNoOfMembers = CLng(rsCommon("memberCount")) 'Close recordset rsCommon.close End If 'If active users is enabled update the active users application array If blnActiveUsers Then 'Call active users function saryActiveUsers = activeUsers("", strTxtForumIndex, "default.asp", 0) End If 'Set the status bar tools 'Active Topics Links strStatusBarTools = strStatusBarTools & "   " & strTxtActiveTopics & " " strStatusBarTools = strStatusBarTools & "   " & strTxtUnAnsweredTopics & " " 'If RSS XML enabled then display an RSS button to link to XML file If blnRSS Then strStatusBarTools = strStatusBarTools & " " %> <% = strMainForumName %><% If blnLCode Then Response.Write(" - Powered by Web Wiz Forums™") %> <% '***** START WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ****** If blnLCode Then Response.Write(vbCrLf & "" & _ vbCrLf & "") End If Response.Write(vbCrLf & vbCrLf & "" & vbCrLf) '***** END WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ****** 'If RSS Feed is enabled then have an alt link to the XML file for supporting browsers If blnRSS Then Response.Write(vbCrLf & "") %> <% 'If the user has not logged in (guest user ID = 2) then show them a quick login form If lngLoggedInUserID = 2 AND blnWindowsAuthentication = False AND (blnMemberAPI = False OR blnMemberAPIDisableAccountControl = False) Then Response.Write(" ") End If Response.Write(vbCrLf & " ") %>
<% = strTxtTheTimeNowIs & " " & TimeFormat(now()) %>
<% 'If this is not the first time the user has visted the site display the last visit time and date If IsDate(getCookie("lVisit", "LV")) Then If dtmLastVisitDate < CDate(getCookie("lVisit", "LV")) Then Response.Write(strTxtYouLastVisitedOn & " " & DateFormat(dtmLastVisitDate) & " " & strTxtAt & " " & TimeFormat(dtmLastVisitDate)) End If End If %>
" & _ vbCrLf & "
" & strTxtQuickLogin & _ vbCrLf & " " & _ vbCrLf & " " & _ vbCrLf & " " & _ vbCrLf & " " & _ vbCrLf & " " & _ vbCrLf & "
" & _ vbCrLf & "
EgoNews

<% 'Check there are categories to display If intTotalRecords = 0 Then %>
  <% = strTxtForum %> <% = strTxtTopics %> <% = strTxtPosts %> <% = strTxtLastPost %>
<% = strTxtNoForums %>

<% 'Else there the are categories so write the HTML to display categories and the forum names and a discription Else 'Loop round to show all the categories and forums Do While intCurrentRecord <= Ubound(sarryForums,2) 'Loop through the array looking for forums that are to be shown 'if a forum is found to be displayed then show the category and the forum, if not the category is not displayed as there are no forums the user can access Do While intCurrentRecord <= Ubound(sarryForums,2) 'Read in details blnHideForum = CBool(sarryForums(13,intCurrentRecord)) blnRead = CBool(sarryForums(14,intCurrentRecord)) 'If this forum is to be shown then leave the loop and display the cat and the forums If blnHideForum = False OR blnRead Then Exit Do 'Move to next record intCurrentRecord = intCurrentRecord + 1 Loop 'If we have run out of records jump out of loop If intCurrentRecord > Ubound(sarryForums,2) Then Exit Do 'Read in the details from the array of this category intCatID = CInt(sarryForums(0,intCurrentRecord)) strCategory = sarryForums(1,intCurrentRecord) %> <% 'Display the category name Response.Write vbCrLf & " " 'If the user only wants to see one category, only display the forums for that category If intCatShow = intCatID OR intCatShow = 0 Then 'Loop round to display all the forums for this category Do While intCurrentRecord <= Ubound(sarryForums,2) 'Initialise variables strSubForums = "" 'Read in the details for this forum intForumID = CInt(sarryForums(2, intCurrentRecord)) intSubForumID = CInt(sarryForums(3, intCurrentRecord)) strForumName = sarryForums(4, intCurrentRecord) strForumDiscription = sarryForums(5, intCurrentRecord) lngNumberOfTopics = CLng(sarryForums(6, intCurrentRecord)) lngNumberOfPosts = CLng(sarryForums(7, intCurrentRecord)) strLastEntryUser = sarryForums(8, intCurrentRecord) If isNumeric(sarryForums(9, intCurrentRecord)) Then lngLastEntryUserID = CLng(sarryForums(9, intCurrentRecord)) Else lngLastEntryUserID = 0 If isDate(sarryForums(10, intCurrentRecord)) Then dtmLastEntryDate = CDate(sarryForums(10, intCurrentRecord)) Else dtmLastEntryDate = CDate("2001-01-01 00:00:00") If isNull(sarryForums(11, intCurrentRecord)) Then strForumPassword = "" Else strForumPassword = sarryForums(11, intCurrentRecord) blnForumLocked = CBool(sarryForums(12, intCurrentRecord)) blnHideForum = CBool(sarryForums(13, intCurrentRecord)) blnRead = CBool(sarryForums(14, intCurrentRecord)) If isNumeric(sarryForums(15, intCurrentRecord)) Then lngTopicID = CLng(sarryForums(15, intCurrentRecord)) Else lngTopicID = 0 strSubject = sarryForums(16, intCurrentRecord) 'Set the last forum ID for forum stats intLastForumEntryID = intForumID 'If this forum is to be hidden but the user is allowed access to it set the hidden boolen back to false If blnHideForum AND blnRead Then blnHideForum = False 'Calculate the number of people viewing the forum If blnForumViewing AND blnActiveUsers Then intTotalViewingForum = viewingForum(intForumID) End If 'If the forum is not a hidden forum to this user, display it If blnHideForum = False AND intSubForumID = 0 Then 'Stats *********** 'Count the number of forums intNumberofForums = intNumberofForums + 1 'Add all the posts and topics together to get the total number for the stats at the bottom of the page lngTotalNumberOfPosts = lngTotalNumberOfPosts + lngNumberOfPosts lngTotalNumberOfTopics = lngTotalNumberOfTopics + lngNumberOfTopics 'Calculate the last forum entry across all forums for the statistics at the bottom of the forum If dtmLastEntryDateAllForums < dtmLastEntryDate Then strLastEntryUserAllForums = strLastEntryUser lngLastEntryUserIDAllForums = lngLastEntryUserID dtmLastEntryDateAllForums = dtmLastEntryDate End If 'Unread Posts ********* intUnReadPostCount = 0 'If there is a newer post than the last time the unread posts array was initilised run it again If dtmLastEntryDate > CDate(Session("dtmUnReadPostCheck")) Then Call UnreadPosts() 'Count the number of unread posts in this forum If isArray(sarryUnReadPosts) AND dtmLastEntryDate > dtmLastVisitDate AND blnRead Then For intUnReadForumPostsLoop = 0 to UBound(sarryUnReadPosts,2) 'Increament unread post count If CInt(sarryUnReadPosts(2,intUnReadForumPostsLoop)) = intForumID AND sarryUnReadPosts(3,intUnReadForumPostsLoop) = "1" Then intUnReadPostCount = intUnReadPostCount + 1 Next End If 'Get the row number intForumColourNumber = intForumColourNumber + 1 'Display if this forum has any subforums '*************************************** 'Initilise variables intTempRecord = 0 'Loop round to read in any sub forums in the stored array recordset Do While intTempRecord <= Ubound(sarryForums,2) 'Becuase the member may have an individual permission entry in the permissions table for this forum, 'it maybe listed twice in the array, so we need to make sure we don't display the same forum twice If intSubForumID = CInt(sarryForums(2,intTempRecord)) Then intTempRecord = intTempRecord + 1 'If there are no records left exit loop If intTempRecord > Ubound(sarryForums,2) Then Exit Do 'If this is a subforum of the main forum then get the details If CInt(sarryForums(3,intTempRecord)) = intForumID Then 'Read in sub forum details from the database intSubForumID = CInt(sarryForums(2,intTempRecord)) strSubForumName = sarryForums(4,intTempRecord) lngSubForumNumberOfTopics = CLng(sarryForums(6,intTempRecord)) lngSubForumNumberOfPosts = CLng(sarryForums(7,intTempRecord)) strLastSubEntryUser = sarryForums(8,intTempRecord) If isNumeric(sarryForums(9,intTempRecord)) Then lngLastSubEntryUserID = CLng(sarryForums(9,intTempRecord)) Else lngLastEntryUserID = 0 If isDate(sarryForums(10,intTempRecord)) Then dtmLastSubEntryDate = CDate(sarryForums(10,intTempRecord)) Else dtmLastSubEntryDate = CDate("2001-01-01 00:00:00") If isNull(sarryForums(11, intCurrentRecord)) Then strSubForumPassword = "" Else strSubForumPassword = sarryForums(11, intCurrentRecord) blnHideForum = CBool(sarryForums(13,intTempRecord)) blnSubRead = CBool(sarryForums(14,intTempRecord)) If isNumeric(sarryForums(15, intTempRecord)) Then lngSubTopicID = CLng(sarryForums(15, intTempRecord)) Else lngSubTopicID = 0 strSubSubject = sarryForums(16, intTempRecord) 'If this sub forum is to be hidden and but the user is allowed access to it set the hidden boolen back to false If blnHideForum = True AND blnSubRead = True Then blnHideForum = False 'If the sub forum is to be hidden then don't show it If blnHideForum = False Then 'Stats ********** 'Count the number of forums intNumberofForums = intNumberofForums + 1 'Add all the posts and topics together to get the total number for the stats at the bottom of the page lngTotalNumberOfPosts = lngTotalNumberOfPosts + lngSubForumNumberOfPosts lngTotalNumberOfTopics = lngTotalNumberOfTopics + lngSubForumNumberOfTopics 'Add the number of posts and topics of sub-forums to the number of posts in the main forum lngNumberOfPosts = lngNumberOfPosts + lngSubForumNumberOfPosts lngNumberOfTopics = lngNumberOfTopics + lngSubForumNumberOfTopics 'Calculate the last forum entry across all forums for the statistics at the bottom of the forum If dtmLastEntryDateAllForums < dtmLastSubEntryDate Then strLastEntryUserAllForums = strLastSubEntryUser lngLastEntryUserIDAllForums = lngLastSubEntryUserID dtmLastEntryDateAllForums = dtmLastSubEntryDate End If 'If the subforums last entry is newer than that of the main forum, then display that as the last post in the forum If (dtmLastEntryDate < dtmLastSubEntryDate) AND blnSubRead AND strSubForumPassword = "" Then intLastForumEntryID = intSubForumID strLastEntryUser = strLastSubEntryUser lngLastEntryUserID = lngLastSubEntryUserID dtmLastEntryDate = dtmLastSubEntryDate lngTopicID = lngSubTopicID strSubject = strSubSubject End If 'Unread Posts ********* 'If there is a newer post than the last time the unread posts array was initilised run it again If dtmLastSubEntryDate > CDate(Session("dtmUnReadPostCheck")) Then Call UnreadPosts() 'Count the number of unread posts in this forum If isArray(sarryUnReadPosts) AND dtmLastSubEntryDate > dtmLastVisitDate AND blnSubRead Then For intUnReadForumPostsLoop = 0 to UBound(sarryUnReadPosts,2) 'Increament unread post count If CInt(sarryUnReadPosts(2,intUnReadForumPostsLoop)) = intSubForumID AND sarryUnReadPosts(3,intUnReadForumPostsLoop) = "1" Then intUnReadPostCount = intUnReadPostCount + 1 Next End If 'Calculate the number of people viewing the forum If blnForumViewing AND blnActiveUsers Then intTotalViewingForum = intTotalViewingForum + viewingForum(intSubForumID) End If 'If there are other sub forums place a comma inbetween If strSubForums <> "" Then strSubForums = strSubForums & ", " 'Display the sub forum strSubForums = strSubForums & "" & strSubForumName & "" End If End If 'Move to next record intTempRecord = intTempRecord + 1 Loop 'If there are sub forums If strSubForums <> "" Then strSubForums = "
" & strTxtSub & " " & strTxtForums & ": " & strSubForums 'Write the HTML of the forum descriptions and hyperlinks to the forums 'Calculate row colour Response.Write(vbCrLf & " ") Else Response.Write("class=""oddTableRow"">") 'Display the status forum icons Response.Write(vbCrLf & " " & _ vbCrLf & " " & _ vbCrLf & " " & _ vbCrLf & " " & _ vbCrLf & " " & _ vbCrLf & " ") End If 'Move to the next database record intCurrentRecord = intCurrentRecord + 1 'If there are more records in the array to display then run some test to see what record to display next and where If intCurrentRecord <= Ubound(sarryForums,2) Then 'Becuase the member may have an individual permission entry in the permissions table for this forum, 'it maybe listed twice in the array, so we need to make sure we don't display the same forum twice If intForumID = CInt(sarryForums(2,intCurrentRecord)) Then intCurrentRecord = intCurrentRecord + 1 'If there are no records left exit loop If intCurrentRecord > Ubound(sarryForums,2) Then Exit Do 'If this is a subforum jump to the next record, unless we have run out of forums Do While CInt(sarryForums(3,intCurrentRecord)) > 0 'Go to next record intCurrentRecord = intCurrentRecord + 1 'If we have run out of records jump out of loop If intCurrentRecord > Ubound(sarryForums,2) Then Exit Do Loop 'If there are no records left exit loop If intCurrentRecord > Ubound(sarryForums,2) Then Exit Do 'See if the next forum is in a new category, if so jump out of this loop to display the next category If intCatID <> CInt(sarryForums(0,intCurrentRecord)) Then Exit Do End If 'Loop back round to display next forum Loop 'Else we are not displaying forums in this category so we need to move to the next category in the array Else 'Loop through the forums array till we get to the next category Do While CInt(sarryForums(0,intCurrentRecord)) = intCatID 'Go to next record intCurrentRecord = intCurrentRecord + 1 'If we have run out of records jump out of forums loop into the category loop If intCurrentRecord > Ubound(sarryForums,2) Then Exit Do Loop End If %>
  <% = strTxtForum %> <% = strTxtTopics %> <% = strTxtPosts %> <% = strTxtLastPost %>
" & strCategory & "
") %><% Response.Write("") 'Display forum Response.Write("" & strForumName & "") 'Display the number of people viewing in that forum If blnForumViewing AND blnActiveUsers Then If intTotalViewingForum > 0 Then Response.Write(" (" & intTotalViewingForum & " " & strTxtViewing & ")") End If 'Display forum details Response.Write("
" & strForumDiscription & strSubForums & "
" & lngNumberOfTopics & "" & lngNumberOfPosts & "") If lngNumberOfPosts <> 0 Then 'Don't disply last post details if there are none 'Don't dispaly details if the user has no read access on the forum If blnRead AND strForumPassword = "" Then 'Display last post subject Response.Write("") If blnBoldNewTopics AND intUnReadPostCount > 0 Then 'Unread topic subjects in bold Response.Write("" & TrimString(strSubject, 25) & "") Else Response.Write(TrimString(strSubject, 25)) End If Response.Write("
") 'Who last post is by Response.Write(strTxtBy & " " & strLastEntryUser & " ") 'If there are unread posts in the forum display differnt icon If intUnReadPostCount > 0 Then Response.Write("") 'Else there are no unread posts so display a normal last post link Else Response.Write("") End If End If 'Last Post date Response.Write("
" & DateFormat(dtmLastEntryDate) & " " & strTxtAt & " " & TimeFormat(dtmLastEntryDate)) End If Response.Write("

<% 'Loop back round for next category Loop End If 'Clean up Call closeDatabase() 'If NewsPad is enabled and we have a URL to it display the Web Wiz NewsPad new bulletins If blnWebWizNewsPad AND strWebWizNewsPadURL <> "" Then %>
<% End If %>
<% 'Get the number of active users if enabled If blnActiveUsers Then %> <% 'If birthdays is enabled show who has a birthday today If strBirthdays <> "" Then %> <% End If %>
<% = strTxtWhatsGoingOn %>
<% = strTxtForumStatistics %>
<% = strTxtForumStatistics %> <% Response.Write(strTxtOurUserHavePosted & " " & FormatNumber(lngTotalNumberOfPosts, 0) & " " & strTxtPostsIn & " " & FormatNumber(lngTotalNumberOfTopics, 0) & " " & strTxtTopicsIn & " " & intNumberofForums & " " & strTxtForums & _ "
" & strTxtLastPost & "; " & DateFormat(dtmLastEntryDateAllForums) & " " & strTxtAt & " " & TimeFormat(dtmLastEntryDateAllForums) & " " & strTxtBy & " " & strLastEntryUserAllForums & "") 'Display some statistics for the members If lngNoOfMembers > 0 Then Response.Write("
" & strTxtWeHave & " " & FormatNumber(lngNoOfMembers, 0) & " " & strTxtForumMembers & _ "
" & strTxtTheNewestForumMember & " " & saryMemebrStats(0, 0) & "") End If %>
<% = strTxtActiveUsers %>
<% = strTxtActiveUsers %>" border="0" /> <% 'Get the active users online For intArrayPass = 1 To UBound(saryActiveUsers, 2) 'If this is a guest user then increment the number of active guests veriable If saryActiveUsers(1, intArrayPass) = 2 Then intActiveGuests = intActiveGuests + 1 'Else if the user is Anonymous increment the Anonymous count ElseIf CBool(saryActiveUsers(8, intArrayPass)) Then intAnonymousMembers = intAnonymousMembers + 1 'Else add the name of the members name of the active users to the members online string ElseIf CBool(saryActiveUsers(8, intArrayPass)) = false Then If strMembersOnline <> "" Then strMembersOnline = strMembersOnline & ", " strMembersOnline = strMembersOnline & "" & saryActiveUsers(2, intArrayPass) & "" End If Next 'Calculate the number of members online and total people online intActiveUsers = UBound(saryActiveUsers, 2) 'Calculate the members online by using the total - Guests - Annoymouse Members intActiveMembers = intActiveUsers - intActiveGuests - intAnonymousMembers Response.Write(strTxtInTotalThereAre & " " & intActiveUsers & " " & strTxtActiveUsers & " " & strTxtOnLine & ", " & intActiveGuests & " " & strTxtGuests & ", " & intActiveMembers & " " & strTxtMembers & ", " & intAnonymousMembers & " " & strTxtAnonymousMembers) If strMembersOnline <> "" Then Response.Write(vbCrLf & "
" & strTxtMembers & " " & strTxtOnLine & ": " & strMembersOnline) End If %>
<% = strTxtTodaysBirthdays %>
<% = strTxtTodaysBirthdays %> <% = strBirthdays %>

<% = strTxtMarkAllPostsAsRead %> :: <% = strTxtDeleteCookiesSetByThisForum %>

<% = strTxtCookies %>


<% '***** START WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ****** If blnLCode = True Then If blnTextLinks = True Then Response.Write("Bulletin Board Software by Web Wiz Forums® version " & strVersion & "") If blnACode Then Response.Write(" [Free Express Edition]") Else Response.Write("") If blnACode Then Response.Write("
Powered by Web Wiz Forums Free Express Edition") End If Response.Write("
Copyright ©2001-2008 Web Wiz") End If '***** END WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ****** 'Display the process time If blnShowProcessTime Then Response.Write "

" & strTxtThisPageWasGeneratedIn & " " & FormatNumber(Timer() - dblStartTime, 3) & " " & strTxtSeconds & "
" %>