<% @ Language=VBScript %>
<% Option Explicit %>
<!--#include file="common.asp" -->
<!--#include file="functions/functions_date_time_format.asp" -->
<%
'Set the response buffer to true as we maybe redirecting
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 strUsername 'Holds the users username
Dim strHomepage 'Holds the users homepage if they have one
Dim strEmail 'Holds the users e-mail address
Dim blnShowEmail 'Boolean set to true if the user wishes there e-mail address to be shown
Dim lngUserID 'Holds the new users ID number
Dim lngNumOfPosts 'Holds the number of posts the user has made
Dim intMemberGroupID 'Holds the users interger group ID
Dim strMemberGroupName 'Holds the umembers group name
Dim intRankStars 'holds the number of rank stars the user holds
Dim dtmRegisteredDate 'Holds the date the usre registered
Dim intTotalRecordsPages 'Holds the total number of pages
Dim intTotalRecords 'Holds the total number of forum members
Dim intRecordPositionPageNum 'Holds the page number we are on
Dim dtmLastPostDate 'Holds the date of the users las post
Dim intLinkPageNum 'Holds the page number to link to
Dim strSearchCriteria 'Holds the search critiria
Dim strSortBy 'Holds the way the records are sorted
Dim intForumID 'Holds the forum ID if within a forum
Dim intGetGroupID 'Holds the group ID
Dim strRankCustomStars 'Holds custom stars for the user group
Dim sarryMembers 'Holds the getrows db call for members
Dim intPageSize 'Holds the number of memebrs shown per page
Dim intStartPosition 'Holds the start poition for records to be shown
Dim intEndPosition 'Holds the end poition for records to be shown
Dim intCurrentRecord 'Holds the current record position
Dim dtmLastActiveDate 'Holds the date this user was last active
Dim strSortDirection 'Holds the sort order
Dim strLinkPage 'Holds the page to link to
Dim intPageLinkLoopCounter 'Holds the loop counter for the page links
Dim strPassword
'Initalise variables
blnShowEmail = False
intGetGroupID = CInt(Request.QueryString("GID"))
intPageSize = 25
'If this is the first time the page is displayed then the members record position is set to page 1
If Request.QueryString("PN") = "" Then
intRecordPositionPageNum = 1
'Else the page has been displayed before so the members page record postion is set to the Record Position number
Else
intRecordPositionPageNum = CInt(Request.QueryString("PN"))
End If
'Get the search critiria for the members to display
If NOT Request.QueryString("SF") = "" Then
strSearchCriteria = Trim(Mid(Request.QueryString("SF"), 1, 15))
End If
'Take out parts of the username that are not permitted
strSearchCriteria = disallowedMemberNames(strSearchCriteria)
'Get rid of milisous code
strSearchCriteria = formatSQLInput(strSearchCriteria)
'Get the sort critiria
Select Case Request.QueryString("SO")
Case "PT"
strSortBy = strDbTable & "Author.No_of_posts "
Case "LU"
strSortBy = strDbTable & "Author.Join_date "
Case "OU"
strSortBy = strDbTable & "Author.Join_date "
Case "GP"
strSortBy = strDbTable & "Group.Name "
Case "LA"
strSortBy = strDbTable & "Author.Last_visit "
Case Else
strSortBy = strDbTable & "Author.Username "
End Select
'Sort the direction of db results
If Request.QueryString("OB") = "desc" Then
strSortDirection = "asc"
strSortBy = strSortBy & "DESC"
Else
strSortDirection = "desc"
strSortBy = strSortBy & "ASC"
End If
'Read in from db
If intGroupID <> 2 Then
'If this is to show a group the query the database for the members of the group
If intGetGroupID <> 0 Then
'Initalise the strSQL variable with an SQL statement to query the database
strSQL = "SELECT " & strDbTable & "Author.Author_ID, " & strDbTable & "Author.Username, " & strDbTable & "Author.Group_ID, " & strDbTable & "Author.Last_visit, " & strDbTable & "Author.No_of_posts, " & strDbTable & "Author.Join_date, " & strDbTable & "Author.Active, " & strDbTable & "Group.Name, " & strDbTable & "Group.Stars, " & strDbTable & "Group.Custom_stars " & _
"FROM " & strDbTable & "Author" & strDBNoLock & ", " & strDbTable & "Group" & strDBNoLock & " " & _
"WHERE " & strDbTable & "Author.Group_ID = " & strDbTable & "Group.Group_ID AND " & strDbTable & "Author.Group_ID=" & intGetGroupID & " " & _
"ORDER BY " & strSortBy & ";"
'Else get all the members from the database
Else
'Initalise the strSQL variable with an SQL statement to query the database
strSQL = "SELECT " & strDbTable & "Author.Author_ID, " & strDbTable & "Author.Username, " & strDbTable & "Author.Group_ID, " & strDbTable & "Author.Last_visit, " & strDbTable & "Author.No_of_posts, " & strDbTable & "Author.Join_date, " & strDbTable & "Author.Active, " & strDbTable & "Group.Name, " & strDbTable & "Group.Stars, " & strDbTable & "Group.Custom_stars " & _
"FROM " & strDbTable & "Author " & strDBNoLock & ", " & strDbTable & "Group " & strDBNoLock & " " & _
"WHERE " & strDbTable & "Author.Group_ID = " & strDbTable & "Group.Group_ID AND " & strDbTable & "Author.Username LIKE '" & strSearchCriteria & "%' " & _
"ORDER BY " & strSortBy & ";"
End If
'Query the database
rsCommon.Open strSQL, adoCon
'If there are records get em from rs
If NOT rsCommon.EOF Then
'Read in the row from the db using getrows for better performance
sarryMembers = rsCommon.GetRows()
'Count the number of records
intTotalRecords = Ubound(sarryMembers,2) + 1
'Count the number of pages for the topics using '\' so that any fraction is omitted
intTotalRecordsPages = intTotalRecords \ intPageSize
'If there is a remainder or the result is 0 then add 1 to the total num of pages
If intTotalRecords Mod intPageSize > 0 OR intTotalRecordsPages = 0 Then intTotalRecordsPages = intTotalRecordsPages + 1
'Start position
intStartPosition = ((intRecordPositionPageNum - 1) * intPageSize)
'End Position
intEndPosition = intStartPosition + intPageSize
'Get the start position
intCurrentRecord = intStartPosition
End If
'Close the recordset as it is no longer needed
rsCommon.Close
End If
'Page to link to for mutiple page (with querystrings if required)
strLinkPage = "members.asp?SF=" & Server.URLEncode(Request.QueryString("SF")) & "&GID=" & intGetGroupID & "&"
'If active users is enabled update the active users application array
If blnActiveUsers Then
If Request.QueryString("SF") = "" Then
'Call active users function
saryActiveUsers = activeUsers("", strTxtViewing & " " & strTxtForumMembers, "members.asp?PN=" & intRecordPositionPageNum, 0)
Else
'Call active users function
saryActiveUsers = activeUsers(strTxtViewing & " " & strTxtForumMembers, strTxtSearchingFor & ": ‘" & Server.HTMLEncode(Request.QueryString("SF")) & "’", strLinkPage & "PN=" & intRecordPositionPageNum, 0)
End If
End If
%>
<!-- #include file="includes/browser_page_encoding_inc.asp" -->
<meta name="generator" content="Microsoft FrontPage 5.0" />
<title><% = strMainForumName %> Members</title>
<script language="JavaScript">
function CheckForm () {
//Check for a somthing to search for
if (document.getElementById('frmMemberSearch').SF.value==""){
msg = "<% = strTxtErrorDisplayLine %>\n\n";
msg += "<% = strTxtErrorDisplayLine1 %>\n";
msg += "<% = strTxtErrorDisplayLine2 %>\n";
msg += "<% = strTxtErrorDisplayLine %>\n\n";
msg += "<% = strTxtErrorDisplayLine3 %>\n";
alert(msg + "\n\t<% = strTxtErrorMemberSerach %>\n\n");
document.getElementById('frmMemberSearch').SF.focus();
return false;
}
return true;
}
</script>
<link href="<% = strCSSfile %>default_style.css" rel="stylesheet" type="text/css" />
<!-- #include file="includes/header.asp" -->
<!-- #include file="includes/navigation_buttons_inc.asp" -->
<table class="basicTable" cellspacing="0" cellpadding="3" align="center">
<tr>
<td align="left" class="heading"><% = strTxtForumMembers %></td>
</tr>
<tr>
<td align="left"><strong><img src="<% = strImagePath %>open_folder_icon.gif" border="0" align="absmiddle"> <a href="default.asp<% = strQsSID1 %>"><strong><% = strMainForumName %></strong></a><% = strNavSpacer %><a href="members.asp<% = strQsSID1 %>"><strong><% = strTxtForumMembers %></strong></a></strong></td>
</tr>
</table>
<br /><%
'If the users account is suspended then let them know
If blnActiveMember = false OR blnBanned Then
Response.Write(vbCrLf & "<table class=""errorTable"" cellspacing=""1"" cellpadding=""3"" align=""center"">" & _
vbCrLf & " <tr>" & _
vbCrLf & " <td><strong>" & strTxtError & "</strong></td>" & _
vbCrLf & " </tr>" & _
vbCrLf & " <tr>" & _
vbCrLf & " <td>")
'If mem suspended display message
If blnBanned Then
Response.Write("<strong>" & strTxtForumMemberSuspended & "</strong>")
'Else account not yet active
ElseIf blnActiveMember = False Then
Response.Write("<br /><br />" & strTxtForumMembershipNotAct)
If blnMemberApprove = False Then Response.Write("<br /><br />" & strTxtToActivateYourForumMem)
'If admin activation is enabled let the user know
If blnMemberApprove Then
Response.Write("<br /><br />" & strTxtYouAdminNeedsToActivateYourMembership)
'If email is on then place a re-send activation email link
ElseIf blnEmailActivation AND blnLoggedInUserEmail Then
Response.Write("<br /><br /><a href=""javascript:winOpener('resend_email_activation.asp" & strQsSID1 & "','actMail',1,1,475,300)"">" & strTxtResendActivationEmail & "</a>")
End If
End If
Response.Write(vbCrLf & " </td>" & _
vbCrLf & " </tr>" & _
vbCrLf & "</table>" & _
vbCrLf & "<br /><br />")
'If the user has not logged in dispaly an error message
ElseIf intGroupID = 2 Then
Response.Write(vbCrLf & "<table class=""errorTable"" cellspacing=""1"" cellpadding=""3"" align=""center"">" & _
vbCrLf & " <tr>" & _
vbCrLf & " <td><strong>" & strTxtError & "</strong></td>" & _
vbCrLf & " </tr>" & _
vbCrLf & " <tr>" & _
vbCrLf & " <td>" & strTxtMustBeRegistered & "</td>" & _
vbCrLf & " </tr>" & _
vbCrLf & "</table>")
%><!--#include file="includes/login_form_inc.asp" --><%
'If the user has logged in then read in the members from the database and dispaly them
Else
'If there are no memebers to display then show an error message
If intTotalRecords <= 0 Then
Response.Write(vbCrLf & "<table class=""errorTable"" cellspacing=""1"" cellpadding=""3"" align=""center"">" & _
vbCrLf & " <tr>" & _
vbCrLf & " <td><strong>" & strTxtError & "</strong></td>" & _
vbCrLf & " </tr>" & _
vbCrLf & " <tr>" & _
vbCrLf & " <td>" & strTxtSorryYourSearchFoundNoMembers & "</td>" & _
vbCrLf & " </tr>" & _
vbCrLf & "</table>" & _
vbCrLf & "<br />")
End If
%>
<form name="frmMemberSearch" id="frmMemberSearch" method="get" action="members.asp" onSubmit="return CheckForm();">
<table cellspacing="1" cellpadding="3" class="tableBorder" align="center">
<tr class="tableLedger">
<td colspan="2" align="left"><% = strTxtMemberSearch %></td>
</tr>
<tr class="tableRow">
<td align="left"><% = strTxtMemberSearch %>:
<input name="SF" id="SF" size="15" maxlength="15" value="<% = Server.HTMLEncode(Request.QueryString("SF")) %>" />
<input type="hidden" name="SID" id="SID" value="<% = strQsSID %>" />
<input type="submit" name="Submit" id="Submit" value="<% = strTxtSearch %>" />
<br /><br />
<a href="members.asp<% = strQsSID1 %>">#</a> <a href="members.asp?SF=A<% = strQsSID2 %>">A</a> <a href="members.asp?SF=B<% = strQsSID2 %>">B</a> <a href="members.asp?SF=C<% = strQsSID2 %>">C</a>
<a href="members.asp?SF=D<% = strQsSID2 %>">D</a> <a href="members.asp?SF=E<% = strQsSID2 %>">E</a> <a href="members.asp?SF=F<% = strQsSID2 %>">F</a>
<a href="members.asp?SF=G<% = strQsSID2 %>">G</a> <a href="members.asp?SF=H<% = strQsSID2 %>">H</a> <a href="members.asp?SF=I<% = strQsSID2 %>">I</a>
<a href="members.asp?SF=J<% = strQsSID2 %>">J</a> <a href="members.asp?SF=K<% = strQsSID2 %>">K</a> <a href="members.asp?SF=L<% = strQsSID2 %>">L</a>
<a href="members.asp?SF=M<% = strQsSID2 %>">M</a> <a href="members.asp?SF=N<% = strQsSID2 %>">N</a> <a href="members.asp?SF=O<% = strQsSID2 %>">O</a>
<a href="members.asp?SF=P<% = strQsSID2 %>">P</a> <a href="members.asp?SF=Q<% = strQsSID2 %>">Q</a> <a href="members.asp?SF=R<% = strQsSID2 %>">R</a>
<a href="members.asp?SF=S<% = strQsSID2 %>">S</a> <a href="members.asp?SF=T<% = strQsSID2 %>">T</a> <a href="members.asp?SF=U<% = strQsSID2 %>">U</a>
<a href="members.asp?SF=V<% = strQsSID2 %>">V</a> <a href="members.asp?SF=W<% = strQsSID2 %>">W</a> <a href="members.asp?SF=X<% = strQsSID2 %>">X</a>
<a href="members.asp?SF=Y<% = strQsSID2 %>">Y</a> <a href="members.asp?SF=Z<% = strQsSID2 %>">Z</a></td>
</tr>
</table>
</form>
<br />
<table class="basicTable" cellspacing="0" cellpadding="3" align="center">
<tr>
<td align="left"><%
'Display some text on search
If intTotalRecords > 0 Then
Response.Write(strTxtSearchResults & " ")
'If this is a keyword search display keywrds
If strSearchCriteria <> "" Then
Response.Write(strTxtFor & " '" & Server.HTMLEncode(strSearchCriteria) & "' ")
End If
Response.Write(strTxtHasFound & " " & FormatNumber(intTotalRecords, 0) & " " & strTxtResultsIn & " " & FormatNumber(Timer() - dblStartTime, 4) & " " & strTxtSecounds & ".")
End If
%></td>
<td align="right" nowrap>
<!-- #include file="includes/page_link_inc.asp" -->
</td>
</tr>
</table>
<table cellspacing="1" cellpadding="3" class="tableBorder" align="center">
<tr class="tableLedger">
<td width="20%"><a href="members.asp?SF=<% = Server.URLEncode(Request.QueryString("SF")) %>&GID=<% = intGetGroupID %>&SO=UN<% = strQsSID2 %>"><% = strTxtUsername %></a><% If Request.QueryString("SO") = "UN" OR Request.QueryString("SO") = "" Then Response.Write(" <a href=""members.asp?SF=" & Server.URLEncode(Request.QueryString("SF")) & "&GID=" & intGetGroupID & "&SO=UN&OB=" & strSortDirection & strQsSID2 & """><img src=""" & strImagePath & strSortDirection & ".gif"" border=""0"" align=""absmiddle"" alt=""" & strTxtReverseSortOrder & """ /></a>") %></td>
<td width="20%"><a href="members.asp?SF=<% = Server.URLEncode(Request.QueryString("SF")) %>&GID=<% = intGetGroupID %>&SO=GP<% = strQsSID2 %>"><% = strTxtType %></a><% If Request.QueryString("SO") = "GP" Then Response.Write(" <a href=""members.asp?SF=" & Server.URLEncode(Request.QueryString("SF")) & "&GID=" & intGetGroupID & "&SO=GP&OB=" & strSortDirection & strQsSID2 & """><img src=""" & strImagePath & strSortDirection & ".gif"" border=""0"" align=""absmiddle"" alt=""" & strTxtReverseSortOrder & """ /></a>") %></td>
<td width="20%"><a href="members.asp?SF=<% = Server.URLEncode(Request.QueryString("SF")) %>&GID=<% = intGetGroupID %>&SO=LU<% = strQsSID2 %>"><% = strTxtRegistered %></a><% If Request.QueryString("SO") = "LU" Then Response.Write(" <a href=""members.asp?SF=" & Server.URLEncode(Request.QueryString("SF")) & "&GID=" & intGetGroupID & "&SO=LU&OB=" & strSortDirection & strQsSID2 & """><img src=""" & strImagePath & strSortDirection & ".gif"" border=""0"" align=""absmiddle"" alt=""" & strTxtReverseSortOrder & """ /></a>") %></td>
<td width="8%" align="center"><a href="members.asp?SF=<% = Server.URLEncode(Request.QueryString("SF")) %>&GID=<% = intGetGroupID %>&SO=PT<% = strQsSID2 %>"><% = strTxtPosts %></a><% If Request.QueryString("SO") = "PT" Then Response.Write(" <a href=""members.asp?SF=" & Server.URLEncode(Request.QueryString("SF")) & "&GID=" & intGetGroupID & "&SO=PT&OB=" & strSortDirection & strQsSID2 & """><img src=""" & strImagePath & strSortDirection & ".gif"" border=""0"" align=""absmiddle"" alt=""" & strTxtReverseSortOrder & """ /></a>") %></td>
<td width="20%"><a href="members.asp?SF=<% = Server.URLEncode(Request.QueryString("SF")) %>&GID=<% = intGetGroupID %>&SO=LA<% = strQsSID2 %>"><% = strTxtLastActive %></a><% If Request.QueryString("SO") = "LA" Then Response.Write(" <a href=""members.asp?SF=" & Server.URLEncode(Request.QueryString("SF")) & "&GID=" & intGetGroupID & "&SO=LA&OB=" & strSortDirection & strQsSID2 & """><img src=""" & strImagePath & strSortDirection & ".gif"" border=""0"" align=""absmiddle"" alt=""" & strTxtReverseSortOrder & """ /></a>") %></td><%
If blnPrivateMessages = True Then
%>
<td width="8%" nowrap><% = strTxtAddBuddy %></td><%
End If
%>
<td width="8%"><% = strTxtSearch %></td>
</tr><%
'If there are no search results display an error msg
If intTotalRecords <= 0 Then
'If there are no search results to display then display the appropriate error message
Response.Write vbCrLf & " <tr class=""tableRow""><td colspan=""7"" align=""center""><br />" & strTxtSorryYourSearchFoundNoMembers & "<br /><br /></td></tr>"
'Disply any search results in the forum
Else
'Do....While Loop to loop through the recorset to display the forum members
Do While intCurrentRecord < intEndPosition
'If there are no member's records left to display then exit loop
If intCurrentRecord >= intTotalRecords Then Exit Do
'Initialise varibles
dtmLastPostDate = ""
'Read in the profile from the recordset
lngUserID = CLng(sarryMembers(0,intCurrentRecord))
strUsername = sarryMembers(1,intCurrentRecord)
If isDate(sarryMembers(3,intCurrentRecord)) Then dtmLastActiveDate = CDate(sarryMembers(3,intCurrentRecord)) Else dtmLastActiveDate = "2000-01-01 00:00:00"
lngNumOfPosts = CLng(sarryMembers(4,intCurrentRecord))
dtmRegisteredDate = CDate(sarryMembers(5,intCurrentRecord))
intMemberGroupID = CInt(sarryMembers(2,intCurrentRecord))
strMemberGroupName = sarryMembers(7,intCurrentRecord)
intRankStars = CInt(sarryMembers(8,intCurrentRecord))
strRankCustomStars = sarryMembers(9,intCurrentRecord)
'If the users account is not active make there account level guest
If CBool(sarryMembers(6,intCurrentRecord)) = False Then intMemberGroupID = 0
'Write the HTML of the Topic descriptions as hyperlinks to the Topic details and message
%>
<tr class="<% If (intCurrentRecord MOD 2 = 0 ) Then Response.Write("evenTableRow") Else Response.Write("oddTableRow") %>">
<td><a href="member_profile.asp?PF=<% = lngUserID %><% = strQsSID2 %>"><% = strUsername %></a></td>
<td class="smText"><% = strMemberGroupName %><br /><img src="<% If strRankCustomStars <> "" Then Response.Write(strRankCustomStars) Else Response.Write(strImagePath & intRankStars & "_star_rating.gif") %>" alt="<% = strMemberGroupName %>"></td>
<td class="smText"><% = DateFormat(dtmRegisteredDate) %></td>
<td align="center"><% = lngNumOfPosts %></td>
<td class="smText"><% = DateFormat(dtmLastActiveDate) %></td><%
If blnPrivateMessages = True Then %>
<td align="center"><a href="pm_buddy_list.asp?name=<% = Server.URLEncode(strUsername) %><% = strQsSID2 %>"><img src="<% = strImagePath %>add_buddy_sm.gif" align="absmiddle" border="0" alt="<% = strTxtAddToBuddyList %>"></a></td><%
End If %>
<td align="center"><a href="search_form.asp?USR=<% = Server.URLEncode(strUsername) %><% = strQsSID2 %>"><img src="<% = strImagePath %>search_sm.gif" border="0" alt="<% = strTxtSearchForPosts %> <% = strUsername %>" align="absmiddle"></a></td>
</tr><%
'Move to the next record
intCurrentRecord = intCurrentRecord + 1
'Loop back round
Loop
End If
%>
</table>
<%
End If
%>
<table class="basicTable" cellspacing="0" cellpadding="4" align="center">
<tr>
<td align="right" nowrap>
<!-- #include file="includes/page_link_inc.asp" -->
</td>
</tr>
</table><%
'Reset Server Objects
Call closeDatabase()
%>
<div align="center"><br />
<%
Response.Write("<br /><span class=""text"" style=""font-size:10px"">Copyright ©2006-2011 <a href=""http://www.prapper.com"" target=""_blank"" style=""font-size:10px"">www.prapper.com</a></span>")
Response.Write("<br /><span class=""text"" style=""font-size:10px"">Contact Us <a href=""mailto:[email protected]"" target=""_blank"" style=""font-size:10px"">[email protected]</a></span>")
'Display the process time
If blnShowProcessTime Then Response.Write "<span class=""smText""><br /><br />" & strTxtThisPageWasGeneratedIn & " " & FormatNumber(Timer() - dblStartTime, 3) & " " & strTxtSeconds & "</span>"
%>
</div>
<!-- #include file="includes/footer.asp" -->