<% @ Language=VBScript %> <% Option Explicit %> <% '**************************************************************************************** '** Copyright Notice '** '** Web Wiz Forums(TM) '** https://www.webwizforums.com '** '** Copyright (C)2001-2024 Web Wiz Ltd. All Rights Reserved. '** '** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS UNDER LICENSE FROM WEB WIZ LTD. '** '** IF YOU DO NOT AGREE TO THE LICENSE AGREEMENT THEN WEB WIZ LTD. 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:- '** '** https://www.webwiz.net/license '** '** For more information about this software and for licensing information please contact '** 'Web Wiz' at the address and website below:- '** '** Web Wiz Ltd, Unit 18, The Glenmore Centre, Fancy Road, Poole, Dorset, BH12 4FB, England '** https://www.webwiz.net '** '** Removal or modification of this copyright notice will violate the license contract. '** '**************************************************************************************** 'Set the response buffer to true as we maybe redirecting Response.Buffer = True Dim lngProfileNum 'Holds the profile number of the user we are getting the profile for Dim strUsername 'Holds the users username Dim intUsersGroupID 'Holds the users group ID Dim strEmail 'Holds the new users e-mail address Dim blnShowEmail 'Boolean set to true if the user wishes there e-mail address to be shown Dim strLocation 'Holds the new users location Dim strHomepage 'Holds the new users homepage if they have one Dim strAvatar 'Holds the avatar image Dim strICQNum 'Holds the users ICQ Number Dim strAIMAddress 'Holds the users AIM address Dim strMSNAddress 'Holds the users MSN address Dim strYahooAddress 'Holds the users Yahoo Address Dim strOccupation 'Holds the users Occupation Dim strInterests 'Holds the users Interests Dim dtmJoined 'Holds the joined date Dim lngNumOfPosts 'Holds the number of posts the user has made Dim lngNumOfPoints 'Holds the number of points the user has Dim dtmDateOfBirth 'Holds the users Date Of Birth Dim dtmLastVisit 'Holds the date the user last came to the forum Dim strGroupName 'Holds the group name Dim intRankStars 'Holds the rank stars Dim strRankCustomStars 'Holds the custom stars image if there is one Dim blnProfileReturned 'Boolean set to false if the user's profile is not found in the database Dim blnGuestUser 'Set to True if the user is a guest or not logged in Dim blnActive 'Set to true of the users account is active Dim strRealName 'Holds the persons real name Dim strMemberTitle 'Holds the members title Dim blnIsUserOnline 'Set to true if the user is online Dim strPassword 'Holds the password Dim strSignature 'Holds the signature Dim strSkypeName 'Holds the users Skype Name Dim intArrayPass 'Holds the array loop Dim intAge 'Holds the age of the user Dim strAdminNotes 'Holds the admin notes on the user Dim blnAccSuspended 'Holds if the user account is suspended Dim strOnlineLocation 'Holds the users location in the forum Dim strOnlineURL 'Holds the users online location URL Dim blnNewsletter 'set to true if user is signed up to newsletter Dim strGender 'Holds the users gender Dim strLadderName 'Ladder group name Dim strLastLoginIP 'Holds the login/registration IP for user Dim intOnlineForumID 'Holds the forum id for active user Dim strCustItem1 'Custom item 1 Dim strCustItem2 'Custom item 2 Dim strCustItem3 'Custom item 3 Dim lngNumOfAnwsers 'Number of asnwsers Dim lngNumOfThanked 'Number of thanks Dim strFacebookUsername 'Holds the facebook username Dim strTwitterUsername 'Holds the twitter username Dim strLinkedInUsername 'Holds the linkedin username Dim blnViewProfile 'set to true if the user has permission to view the profile Dim intIsoLoop Dim strCountryCode 'Initalise variables blnSslEnabledPage = True blnProfileReturned = True blnViewProfile = False blnGuestUser = False blnShowEmail = False blnModerator = False blnIsUserOnline = False lngNumOfPosts = 0 lngNumOfPoints = 0 lngNumOfAnwsers = 0 lngNumOfThanked = 0 'If the user is using a banned IP address then don't let the view a profile If bannedIP() Then blnBanned = True 'Read in the profile number to get the details on lngProfileNum = LngC(Request.QueryString("PF")) 'If who can view profiles is not set then set it to members If strMemberProfileView = "" Then strMemberProfileView = "members" 'If the user has logged in then the Logged In User ID number will be more than 0 If strMemberProfileView = "everyone" OR intGroupID <> 2 Then 'First see if the user is a in a moderator group for any forum 'Initalise the strSQL variable with an SQL statement to query the database strSQL = "SELECT " & strDbTable & "Permissions.Moderate " & _ "FROM " & strDbTable & "Permissions " & _ "WHERE (" & strDbTable & "Permissions.Group_ID = " & intGroupID & " OR " & strDbTable & "Permissions.Author_ID = " & lngLoggedInUserID & ") AND " & strDbTable & "Permissions.Moderate=" & strDBTrue & ";" 'Query the database rsCommon.Open strSQL, adoCon 'If a record is returned then the user is a moderator in one of the forums If NOT rsCommon.EOF Then blnModerator = True 'Clean up rsCommon.Close 'Read the members profile If (strMemberProfileView = "everyone") OR (strMemberProfileView = "members") OR (strMemberProfileView = "admins-moderators" AND (blnAdmin OR blnModerator)) OR (strMemberProfileView = "admins" AND blnAdmin) Then 'Set the veriable that the user is allowed to view the profile to true blnViewProfile = True 'Initalise the strSQL variable with an SQL statement to query the database strSQL = "" & _ "SELECT " & strDbTable & "Author.*, " & strDbTable & "Group.Name, " & strDbTable & "Group.Stars, " & strDbTable & "Group.Custom_stars, " & strDbTable & "LadderGroup.Ladder_Name, " & strDbTable & "Group.Signatures " & _ "FROM (" & strDbTable & "Author INNER JOIN " & strDbTable & "Group ON " & strDbTable & "Author.Group_ID = " & strDbTable & "Group.Group_ID) " & _ "LEFT JOIN " & strDbTable & "LadderGroup ON " & strDbTable & "Group.Ladder_ID = " & strDbTable & "LadderGroup.Ladder_ID " & _ "WHERE " & strDbTable & "Author.Author_ID = " & lngProfileNum 'Query the database rsCommon.Open strSQL, adoCon 'Read in the details if a profile is returned If NOT rsCommon.EOF Then 'Read in the new user's profile from the recordset strUsername = rsCommon("Username") strRealName = rsCommon("Real_name") strCustItem1 = rsCommon("Custom1") strCustItem2 = rsCommon("Custom2") strCustItem3 = rsCommon("Custom3") intUsersGroupID = CInt(rsCommon("Group_ID")) strEmail = rsCommon("Author_email") strGender = rsCommon("Gender") blnShowEmail = CBool(rsCommon("Show_email")) strHomepage = rsCommon("Homepage") strLocation = rsCommon("Location") strAvatar = rsCommon("Avatar") strMemberTitle = rsCommon("Avatar_title") strFacebookUsername = rsCommon("Facebook") strTwitterUsername = rsCommon("Twitter") strLinkedInUsername = rsCommon("LinkedIn") strICQNum = rsCommon("ICQ") strAIMAddress = rsCommon("AIM") strMSNAddress = rsCommon("MSN") strYahooAddress = rsCommon("Yahoo") strOccupation = rsCommon("Occupation") strInterests = rsCommon("Interests") If isDate(rsCommon("DOB")) Then dtmDateOfBirth = CDate(rsCommon("DOB")) dtmJoined = CDate(rsCommon("Join_date")) lngNumOfPosts = CLng(rsCommon("No_of_posts")) If isNull(rsCommon("Points")) Then lngNumOfPoints = 0 Else lngNumOfPoints = CLng(rsCommon("Points")) If isNull(rsCommon("Answered")) Then lngNumOfAnwsers = 0 Else lngNumOfAnwsers = CLng(rsCommon("Answered")) If isNull(rsCommon("Thanked")) Then lngNumOfThanked = 0 Else lngNumOfThanked = CLng(rsCommon("Thanked")) dtmLastVisit = rsCommon("Last_visit") strGroupName = rsCommon("Name") intRankStars = CInt(rsCommon("Stars")) strRankCustomStars = rsCommon("Custom_stars") blnActive = CBool(rsCommon("Active")) strSignature = rsCommon("Signature") strSkypeName = rsCommon("Skype") strAdminNotes = rsCommon("Info") blnAccSuspended = CBool(rsCommon("Banned")) If isNull(rsCommon("Newsletter")) = False Then blnNewsletter = CBool(rsCommon("Newsletter")) Else blnNewsletter = False strLadderName = rsCommon("Ladder_Name") If isNull(rsCommon("Login_IP")) Then strLastLoginIP = "Unknown" Else strLastLoginIP = rsCommon("Login_IP") 'If signatures are not allowed for this group update the global blnSignatures to be fales for this page so the signature is not displayed If CBool(rsCommon("Signatures")) = False Then blnSignatures = False 'Else no profile is returned so set an error variable Else blnProfileReturned = False End If 'Reset Server Objects rsCommon.Close 'Clean up email link If strEmail <> "" Then strEmail = formatInput(strEmail) End If 'If active user is enabled then get the users location If blnActiveUsers Then 'Call active users function saryActiveUsers = activeUsers(strTxtViewing & " " & strTxtProfile, "‘" & strUsername & "’ " & strTxtProfile, "member_profile.asp?PF=" & lngProfileNum, 0) 'Get the users online status For intArrayPass = 1 To UBound(saryActiveUsers, 2) If saryActiveUsers(1, intArrayPass) = lngProfileNum Then blnIsUserOnline = True strOnlineLocation = saryActiveUsers(6, intArrayPass) strOnlineURL = saryActiveUsers(7, intArrayPass) intOnlineForumID = IntC(saryActiveUsers(9, intArrayPass)) End If Next 'Check the permissions to see if the user has permission to see the topic subject for active users If intOnlineForumID > 0 Then 'Check permissions Call forumPermissions(intOnlineForumID, intGroupID) 'If the user doesn't have read permissions then remove the Location URL (which includes topic subjects) If blnRead = False Then strOnlineURL = "" End If End If End If 'Else the user is not logged in Else 'Set the Guest User boolean to true as the user must be a guest blnGuestUser = True End If 'Set the active user location If blnGuestUser OR blnViewProfile = False Then 'If active users is enabled update the active users application array If blnActiveUsers Then 'Call active users function saryActiveUsers = activeUsers(strTxtViewing & " " & strTxtProfile & " [" & strTxtAccessDenied & "]", "", "", 0) End If End If 'If no avatar then use generic If strAvatar = "" OR blnAvatar = false Then strAvatar = "avatars/blank_avatar.jpg" 'If SSL is enabled, but the avatar is not HTTPS then remove avatar If strSslEnabled = "Enabled" AND InStr(strAvatar, "http://") Then strAvatar = "avatars/blank_avatar.jpg" 'Set bread crumb trail strBreadCrumbTrail = strBreadCrumbTrail & strNavSpacer & strTxtProfile %> <% = strTxtProfile %> <% '***** START WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ****** Response.Write("") '***** END WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ****** %>

<% = strTxtProfile %>

<% 'If there is a problem then display error message If blnProfileReturned = False OR blnGuestUser OR blnActiveMember = False OR blnBanned OR blnViewProfile = False Then %>
<% = strTxtError %> <% = strTxtError %><% 'If no profile can be found then display the appropriate message If blnProfileReturned = False Then Response.Write ("

" & strTxtNoUserProfileFound) 'If the user is a guest then tell them they must register or login before they can view other users profiles ElseIf blnGuestUser OR blnActiveMember = False OR blnBanned Then Response.Write ("

" & strTxtRegisteredToViewProfile) 'If mem suspended display message If blnBanned Then Response.Write("

" & strTxtForumMemberSuspended) 'Else account not yet active ElseIf blnActiveMember = false Then Response.Write("

" & strTxtForumMembershipNotAct) If blnMemberApprove = False Then Response.Write("

" & strTxtToActivateYourForumMem) 'If admin activation is enabled let the user know If blnMemberApprove Then Response.Write("

" & strTxtYouAdminNeedsToActivateYourMembership) 'If email is on then place a re-send activation email link ElseIf blnEmailActivation AND blnLoggedInUserEmail Then Response.Write("

" & strTxtResendActivationEmail & "") End If End If 'If user does not have permission to view profile ElseIf blnViewProfile = False Then Response.Write ("

" & strTxtYouDoNotHavePermissionToViewPorfiles) End If Response.Write("

" & strTxtReturnToDiscussionForum & "") %>
<% 'If guest user let the user login If blnGuestUser Then %><% End If 'Else display user profile Else 'If the user is an admin or a moderator give them the chance to edit the profile unless it's the main admin account of the guest account If blnAdmin OR (blnModerator AND blnModeratorProfileEdit) Then %>
<% = strTxtSpamCleaner %> | <% = strTxtEditMembersSettings %>
<% 'Else no admin options so just have a line break Else Response.Write("
") End If %> <% 'If there is a signature display it If strAdminNotes <> "" AND (blnAdmin OR blnModerator) Then %> <% End If 'If there are notes on the user display them If blnSignatures AND (strSignature <> "" AND blnAccSuspended = False) Then %> <% End If %>
<% = strTxtProfile & " - " & strUsername %> <% = strTxtActiveStats %>
<% 'If there is a member title display it If strMemberTitle <> "" Then %> <% End If %>
<% = strTxtAvatar %>  
<% = strTxtUsername %>: <% = strUsername %>
<% = strTxtMemberTitle %>: <% = strMemberTitle %>
<% = strTxtGroup %>: <% = strGroupName %> ") %>
<% = strTxtLadderGroup %>: <% If strLadderName = "" OR isNull(strLadderName) Then Response.Write(strTxtNone) Else Response.Write(strLadderName) %>
<% 'If Web Wiz NewsPad integration is enabled show if teh user has subscribed If blnWebWizNewsPad Then %> <% End If %> <% 'If Answer posts are on display the number of answers from the member If NOT strAnswerPosts = "Off" Then %> <% End If 'If thanking members is enabled display the number of times the member has been thanked If blnPostThanks Then %> <% End If 'If active users are enabled display if they are online or not If blnActiveUsers Then %> <% 'If the user is online display their location in the forum If blnIsUserOnline Then %> <% End If End If %>
<% = strTxtAccountStatus %>: <% 'Display account status If blnAccSuspended Then Response.Write(strTxtSuspended) 'If suspended allow their account to be submitted as a spammer account 'If (blnAdmin OR (blnModerator AND blnModViewIpAddresses)) AND blnStopForumSpam AND strStopForumSpamApiKey <> "" Then Response.Write(" - " & strSubmitAsSpammer & "") ElseIf blnActive Then Response.Write(strTxtActive) Else Response.Write(strTxtNotActive) End If %>
<% = strTxtJoined %>: <% = DateFormat(dtmJoined) & " " & strTxtAt & " " & TimeFormat(dtmJoined) %>
<% = strTxtLastVisit %>: <% 'last Login date/time If isDate(dtmLastVisit) Then Response.Write(DateFormat(dtmLastVisit) & " " & strTxtAt & " " & TimeFormat(dtmLastVisit)) 'Last login IP If (blnAdmin OR (blnModerator AND blnModViewIpAddresses)) AND (NOT strLastLoginIP = "Unknown") Then Response.Write(" - " & strTxtIP & ": " & strLastLoginIP & " ") 'Read in country code strCountryCode = IpCountryLookup(strLastLoginIP, strInstallID) 'If we have a country code display it If NOT strCountryCode = "-" Then 'Loop through ISO country array to display all the coutries in a drop down For intIsoLoop = 1 to UBound(saryISOCountryCode,2) If saryISOCountryCode(0,intIsoLoop) = strCountryCode Then Response.Write("(" & saryISOCountryCode(1,intIsoLoop) & ") ") Next End If Response.Write("") End If %>
<% = strTxtNewsletterSubscription %>: <% If blnNewsletter Then Response.Write("") Else Response.Write("") %>
<% = strTxtPoints %>: <% = lngNumOfPoints %>
<% = strTxtPosts %>: <% = lngNumOfPosts %> <% If lngNumOfPosts > 0 AND DateDiff("d", dtmJoined, Now()) > 0 Then Response.Write(" [" & FormatNumber(lngNumOfPosts / DateDiff("d", dtmJoined, Now()), 2) & " " & strTxtPostsPerDay) & "]" %>
<% = strTxtFindPosts %>: <% = strTxtSearchForPosts %> <% = strUsername %> <% = strTxtFindMembersPosts %>
<% = strAnswerPostsWording %>: <% = lngNumOfAnwsers %>
<% = strTxtThanked %>: <% = lngNumOfThanked %>
<% = strTxtStatus %>: <% If blnIsUserOnline Then Response.Write(" " & strTxtOnLine2) Else Response.Write(" " & strTxtOffLine)%>
<% = strTxtOnLine2 & " " & strTxtLocation %>: <% = strOnlineLocation %><% If strOnlineLocation <> "" AND strOnlineURL <> "" Then Response.Write("
") %><% = strOnlineURL %>
<% = strTxtInformation %> <% = strTxtCommunicate %>
<% 'If custom field 1 is required If strCustRegItemName1 <> "" AND (blnViewCustRegItemName1 OR (blnAdmin OR blnModerator)) Then %> <% End If 'If custom field 2 is required If strCustRegItemName2 <> "" AND (blnViewCustRegItemName2 OR (blnAdmin OR blnModerator)) Then %> <% End If 'If custom field 3 is required If strCustRegItemName3 <> "" AND (blnViewCustRegItemName3 OR (blnAdmin OR blnModerator)) Then %> <% End If %> <% 'If homepages are enabled If blnHomePage Then %> <% End If %>
<% = strCustRegItemName1 %>: <% If strCustItem1 <> "" Then Response.Write(strCustItem1) Else Response.Write(strTxtNotGiven) %>
<% = strCustRegItemName2 %>: <% If strCustItem2 <> "" Then Response.Write(strCustItem2) Else Response.Write(strTxtNotGiven) %>
<% = strCustRegItemName3 %>: <% If strCustItem3 <> "" Then Response.Write(strCustItem3) Else Response.Write(strTxtNotGiven) %>
<% = strTxtRealName %>: <% If strRealName <> "" Then Response.Write(strRealName) Else Response.Write(strTxtNotGiven) %>
<% = strTxtGender %>: <% If strGender <> "" Then Response.Write(strGender) Else Response.Write(strTxtNotGiven) %>
<% = strTxtDateOfBirth %>: <% 'If there is a Date of Birth display it If isDate(dtmDateOfBirth) Then 'Calculate the age (use months / 12 as counting years is not accurate) (use FIX to get the whole number) intAge = Fix(DateDiff("m", dtmDateOfBirth, now())/12) 'Display the persons Date of Birth Response.Write(stdDateFormat(dtmDateOfBirth, False)) Else 'Display that a Date of Birth was not given Response.Write(strTxtNotGiven) End If %>
<% = strTxtAge %>: <% If intAge > 0 Then Response.Write(intAge) Else Response.Write(strTxtUnknown) %>
<% = strTxtLocation %>: <% If strLocation = "" Or isNull(strLocation) Then Response.Write(strTxtNotGiven) Else Response.Write(strLocation) %>
<% = strTxtHomepage %>: <% = strTxtHomepage %> <% If strHomepage = "" OR IsNull(strHomepage) OR blnAccSuspended Then Response.Write(strTxtNotGiven) Else Response.Write("" & strTxtHomepage & "") %>
<% = strTxtOccupation %>: <% If strOccupation = "" OR IsNull(strOccupation) Then Response.Write(strTxtNotGiven) Else Response.Write(strOccupation) %>
<% = strTxtInterests %>: <% If strInterests = "" OR IsNull(strInterests) Then Response.Write(strTxtNotGiven) Else Response.Write(strInterests) %>
<% 'If the private messager is on show PM link If blnPrivateMessages Then %> <% End If %>
<% = strTxtPrivateMessage %>: <% = strTxtSendPrivateMessage %> <% Response.Write("" & strTxtSendPrivateMessage & "") %>
<% = strTxtBuddyList %>: <% = strTxtAddToBuddyList %> "><% = strTxtAddToBuddyList %>
<% = strTxtEmailAddress %>: <% = strTxtSendEmail %> <% 'If member account is suspend don't show email If blnAccSuspended AND blnAdmin = False AND strEmail <> "" Then Response.Write(strTxtPrivate) 'If the user has choosen not to display there e-mail then this field will show private ElseIf blnShowEmail = False AND blnAdmin = False AND strEmail <> "" Then Response.Write(strTxtPrivate) 'If no email address given then display not given ElseIf strEmail = "" OR isNull(strEmail) Then Response.Write(strTxtNotGiven) 'If email address is shown and the email messenger of the forum is enabled show link button ElseIf blnEmailMessenger Then Response.Write("" & strTxtSendEmail & "") 'Else the user allows there email address to be shown so show there email address Else Response.Write("" & strEmail & "") End If 'If admin or moderator display the members email address If blnAdmin OR (blnModerator AND blnModeratorProfileEdit) Then Response.Write(" (" & strEmail & ")") %>
<% = strTxtFacebook %>: <% = strTxtFacebook %> <% If strFacebookUsername <> "" Then Response.Write("" & strTxtFacebook &"") Else Response.Write(strTxtNotGiven) %>
<% = strTxtTwitter %>: <% = strTxtTwitter %> <% If strTwitterUsername <> "" Then Response.Write("" & strTwitterUsername &"") Else Response.Write(strTxtNotGiven) %>
<% = strTxtLinkedIn %>: <% = strTxtLinkedIn %> <% If strLinkedInUsername <> "" Then Response.Write("" & strTxtLinkedIn &"") Else Response.Write(strTxtNotGiven) %>
<% = strTxtMSNMessenger %>: <% = strTxtMSNMessenger %> <% If strMSNAddress <> "" Then Response.Write(formatInput(strMSNAddress)) Else Response.Write(strTxtNotGiven) %>
<% = strTxtSkypeName %>: <% = strTxtSkypeName %> <% If strSkypeName <> "" Then Response.Write("" & strTxtSkypeName & "") Else Response.Write(strTxtNotGiven) %>
<% = strTxtYahooMessenger %>: <% = strTxtYahooMessenger %> <% If strYahooAddress <> "" Then Response.Write("" & strTxtYahooMessenger &"") Else Response.Write(strTxtNotGiven) %>
<% = strTxtAIMAddress %>: <% = strTxtAIMAddress %> <% If strAIMAddress <> "" Then Response.Write("" & strTxtAIMAddress & "") Else Response.Write(strTxtNotGiven) %>
<% = strTxtICQNumber %>: <% = strTxtICQNumber %> <% If strICQNum <> "" Then Response.Write("" & strTxtICQNumber & "") Else Response.Write(strTxtNotGiven) %>
<% = strTxtAdminNotes %>
<% 'Put in line breaks strAdminNotes = Replace(strAdminNotes, vbCrLf, "
", 1, -1, 1) 'Display admin notes Response.Write(strAdminNotes) %>
<% = strTxtSignature %>
<% Response.Write(formatSignature(strSignature)) %>
<% End If 'Clean up (done down here are session data may need to be saved) Call closeDatabase() %>
<% '***** START WARNING - REMOVAL OR MODIFICATION OF THIS CODE WILL VIOLATE THE LICENSE AGREEMENT ****** If blnLCode = True Then If blnTextLinks = True Then Response.Write("Forum Software by Web Wiz Forums® version " & strVersion & "") Else Response.Write("") End If Response.Write("
Copyright ©2001-2024 Web Wiz Ltd.") 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 & "
" %>