home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
bombers.k12.ar.us
/
bombers.k12.ar.us.tar
/
bombers.k12.ar.us
/
survey_unconfigured
/
EmailMessageDetails.asp
< prev
next >
Wrap
Text File
|
2006-10-25
|
20KB
|
596 lines
<!--#Include File="Include/Top_inc.asp"-->
<%
'***********************************************************************
' Application: SelectSurveyASP Advanced v8.1.11
' Author: Aaron Baril for ClassApps.com
' Page Description: This page allows a user to view and manage
' the list of email addresses for an email list.
'
' COPYRIGHT NOTICE
'
' See attached Software License Agreement
'
' (c) Copyright 2002 - 2006 by ClassApps.com. All rights reserved.
'***********************************************************************
%>
<!--#Include File="Include/Config_inc.asp"-->
<!--#Include File="Include/SurveyUtility_inc.asp"-->
<!--#Include File="Include/Utility_inc.asp"-->
<!--#Include File="Include/adovbs_inc.asp"-->
<!--#Include File="Include/Constants_inc.asp"-->
<!--#Include File="Include/SurveySecurity_inc.asp"-->
<!--#Include File="Include/CurrentUser_inc.asp"-->
<%
'If the user does not have "Create" or "Admin" permission, redirect to the access denied page.
If lngUserSecurityLevel <> SUR_SECURITY_LEVEL_CREATE And lngUserSecurityLevel <> SUR_SECURITY_LEVEL_ADMIN Then
Response.Redirect "AccessDenied.asp?Reason=" & SUR_ACCESS_DENIED_NOT_ADMIN_SECURITY_LEVEL
End If
Dim lngEmailListID
Dim strEmailListName
Dim strSQL
Dim rsEmailsSent
Dim rsEmailMessageDetails
Dim lngEmailMessageID
Dim strSortColumn
Dim strSortOrder
Dim strTempSortOrder
Dim lngNumberPerPage
Dim lngStartNumber
Dim lngTotalEmailsSentCount
Dim lngPreviousNumber
Dim lngNextNumber
Dim lngDisplayedCount
Dim i
Dim lngCurrentPageEndNumber
Dim strTableRowColor
'Initialization
Set rsEmailsSent = Server.CreateObject("ADODB.Recordset")
Set rsEmailMessageDetails = Server.CreateObject("ADODB.Recordset")
lngDisplayedCount = 0
'Initialize the row color
strTableRowColor = "TableRowLightColor"
'The first time the page is called, the values are in the query string. After that, the values are in the form.
If Len(Request.QueryString("EmailListID")) > 0 Then
lngEmailListID = Request.QueryString("EmailListID")
lngEmailMessageID = Request.QueryString("EmailMessageID")
lngTotalEmailsSentCount = GetEmailsSentCount(lngEmailMessageID)
strEmailListName = Request.QueryString("EmailListName")
strSortColumn = "email_address"
strSortOrder = SUR_SORT_ORDER_ASCENDING
lngNumberPerPage = 50
If lngNumberPerPage > lngTotalEmailsSentCount Then
lngCurrentPageEndNumber = lngTotalEmailsSentCount
Else
lngCurrentPageEndNumber = CLng(lngStartNumber) + CLng(lngNumberPerPage)
End If
lngStartNumber = 1
lngPreviousNumber = -1
If lngTotalEmailsSentCount > 50 Then
lngNextNumber = 51
Else
lngNextNumber = -1
End If
Else
lngEmailListID = Request.Form("EmailListID")
lngEmailMessageID = Request.Form("EmailMessageID")
lngTotalEmailsSentCount = GetEmailsSentCount(lngEmailMessageID)
strEmailListName = Request.Form("EmailListName")
strSortColumn = Request.Form("SortColumn")
strSortOrder = Request.Form("SortOrder")
lngNumberPerPage = Request.Form("NumberPerPage")
lngStartNumber = Request.Form("StartNumber")
lngPreviousNumber = CLng(lngStartNumber) - CLng(lngNumberPerPage)
If lngPreviousNumber <= 0 Then
If CLng(lngStartNumber) > 1 Then
lngPreviousNumber = 1
Else
lngPreviousNumber = -1
End If
End If
lngNextNumber = CLng(lngStartNumber) + CLng(lngNumberPerPage)
If CLng(lngNextNumber) > CLng(lngTotalEmailsSentCount) Then
lngNextNumber = -1
End If
If lngNumberPerPage < lngTotalEmailsSentCount Then
lngCurrentPageEndNumber = lngTotalEmailsSentCount
Else
If CLng(lngStartNumber) + CLng(lngNumberPerPage) > lngTotalEmailsSentCount Then
lngCurrentPageEndNumber = lngTotalEmailsSentCount
Else
lngCurrentPageEndNumber = CLng(lngStartNumber) + CLng(lngNumberPerPage) - 1
End If
End If
End If
%>
<html>
<head>
<title>Email Message Details</title>
<link rel="stylesheet" href="Resources/StyleSheet/SurveyStyle.css">
</head>
<script language ="JavaScript" src="ClientInclude/Utility.js"></script>
<script language="JavaScript">
function sortList(strSortColumn, strSortOrder)
{
document.forms['frmSortAndPaginate'].SortColumn.value = strSortColumn;
document.forms['frmSortAndPaginate'].SortOrder.value = strSortOrder;
document.forms['frmSortAndPaginate'].NumberPerPage.value = document.all['cboNumberPerPage'].value;
document.forms['frmSortAndPaginate'].submit();
}
function displayCountChange()
{
document.forms['frmSortAndPaginate'].NumberPerPage.value = document.all['cboNumberPerPage'].value;
document.forms['frmSortAndPaginate'].submit();
}
function paginate(lngStartNumber)
{
document.forms['frmSortAndPaginate'].StartNumber.value = lngStartNumber;
document.forms['frmSortAndPaginate'].NumberPerPage.value = document.all['cboNumberPerPage'].value;
document.forms['frmSortAndPaginate'].submit();
}
</script>
<body class="MainBodyStyle">
<!--#Include File="Include/FrameworkTop_inc.asp"-->
<table border="0" cellspacing="0" cellpadding="0" width="754" class="MediumBlueBackgroundColor">
<tr>
<td height="36" valign="center">
<span class="H1HeadingStyle"><a name="skipnav" tabindex="1">Email Message Details</a></span> <img style="cursor:hand" alt="Help" onClick="javascript:window.open('Help/Help.htm#EmailLists', null, 'menubar=no,toolbar=no,titlebar=no,status=no,left=10,top=10,scrollbars=yes,resizable=yes,height=550,width=770');" border="0" src="Resources/Images/Help.gif">
</td>
</tr>
</table>
<!--#Include File="Include/FrameworkTop2_inc.asp"-->
<table width="740" border="0" cellpadding="0" cellspacing="6" class="LightGrayBackgroundColor">
<tr>
<td width="1"></td>
<td valign="center" height="40">
<span class="H2HeadingStyle">
Message Details
</span>
</td>
<td width="1"> </td>
</tr>
<%
'Get all of the details for the message
strSQL = "SELECT list_name, email_subject, email_from_address, html_yn, title, sent_date, email_sent_count, " & _
"email_response_count, email_body, email_cc_addresses, email_bcc_addresses " & _
"FROM sur_email_list el, sur_email_message em, sur_survey s " & _
"WHERE el.email_list_id = em.email_list_id " & _
"AND em.survey_id = s.survey_id " & _
"AND email_message_id = " & lngEmailMessageID
rsEmailMessageDetails.Open ConvertSQL(strSQL), SURVEY_APP_CONNECTION, adOpenForwardOnly, adLockReadOnly, adCmdText
rsEmailMessageDetails.MoveFirst
%>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td height="1" background="Resources/Images/ThinDivider.gif"></td></tr>
<table border="0" cellpadding="0" cellspacing="6" width="740" class="WhiteBackgroundColor">
<tr>
<td colspan="6" height="8"></td>
</tr>
<tr>
<td width="1" rowspan="12"> </td>
<td width="130" valign="top">
<table width="130" cellpadding="0" cellspacing="0">
<tr>
<td>
<span class="NormalBold">
Message Subject:
</span>
</td>
</tr>
</table>
</td>
<td width="220">
<span class="Normal">
<%=rsEmailMessageDetails("email_subject")%>
</span>
</td>
<td width="100" valign="top">
<span class="NormalBold">
Date Sent:
</span>
</td>
<td width="250">
<span class="Normal">
<%=CustomDateFormatDisplay(rsEmailMessageDetails("sent_date"))%>
</span>
</td>
<td width="1" rowspan="12"> </td>
</tr>
<tr>
<td valign="top">
<span class="NormalBold">
Email List:
</span>
</td>
<td valign="top">
<span class="Normal">
<%=rsEmailMessageDetails("list_name")%>
</span>
</td>
<td valign="top">
<span class="NormalBold">
Survey:
</span>
</td>
<td>
<span class="Normal">
<%=rsEmailMessageDetails("title")%>
</span>
</td>
</tr>
<tr>
<td valign="top">
<span class="NormalBold">
Message Text:
</span>
</td>
<td colspan="3" valign="top">
<span class="Normal">
<%=Replace(rsEmailMessageDetails("email_body"), vbCrLf, "<br>")%>
</span>
</td>
</tr>
<tr>
<td valign="top">
<span class="NormalBold">
CC Emails:
</span>
</td>
<td colspan="3" valign="top">
<span class="Normal">
<%=rsEmailMessageDetails("email_cc_addresses")%>
</span>
</td>
</tr>
<tr>
<td valign="top">
<span class="NormalBold">
BCC Emails:
</span>
</td>
<td colspan="3" valign="top">
<span class="Normal">
<%=rsEmailMessageDetails("email_bcc_addresses")%>
</span>
</td>
</tr>
<tr>
<td>
<span class="NormalBold">
From Email:
</span>
</td>
<td>
<span class="Normal">
<%=rsEmailMessageDetails("email_from_address")%>
</span>
</td>
<td>
<span class="NormalBold">
HTML:
</span>
</td>
<td>
<span class="Normal">
<%
If rsEmailMessageDetails("html_yn") = SUR_BOOLEAN_POSITIVE Then
Response.Write SUR_BOOLEAN_POSITIVE_DISPLAY
Else
Response.Write SUR_BOOLEAN_NEGATIVE_DISPLAY
End If
%>
</span>
</td>
</tr>
<tr>
<td>
<span class="NormalBold">
Response Count:
</span>
</td>
<td>
<span class="Normal">
<%=rsEmailMessageDetails("email_response_count")%>
</span>
</td>
<td>
<span class="NormalBold">
Sent Count:
</span>
</td>
<td>
<span class="Normal">
<%=rsEmailMessageDetails("email_sent_count")%>
</span>
</td>
</tr>
<%
'Clean up
rsEmailMessageDetails.Close
Set rsEmailMessageDetails = Nothing
%>
<tr>
<td valign="center" colspan="4">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td valign="center" colspan="4" align="left" height="34" width="50%">
<span class="QuestionSectionHeadingSpanStyle">
Emails Sent
</span>
</td>
<td valign="bottom" align="right" colspan="4" height="34" width="50%">
<span class="InlineHelpSpanStyle">
Displaying
<%
If CStr(lngStartNumber) = CStr(lngCurrentPageEndNumber) Then
Response.Write lngStartNumber
Else
Response.Write lngStartNumber & "-" & lngCurrentPageEndNumber
End If
%>
of <%=lngTotalEmailsSentCount%>
</span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" colspan="4" align="left">
<table cellpadding="3" cellspacing="0" border="0" width="704" summary="This section displays a list of email addresses that this emails message was sent to.">
<tr class="TableHeadingColor" height="40">
<th id="EmailAddress" width="194" valign="center">
<%
'Determine the sort order if the user clicks this column heading
If strSortColumn = "email_address" Then
If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
strTempSortOrder = SUR_SORT_ORDER_DESCENDING
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
%>
<span class="TableHeadingBold"><a href="javascript:sortList('email_address', '<%=strTempSortOrder%>');">Email Address</a></span>
</th>
<th id="FirstName" width="95" valign="center">
<%
'Determine the sort order if the user clicks this column heading
If strSortColumn = "first_name" Then
If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
strTempSortOrder = SUR_SORT_ORDER_DESCENDING
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
%>
<span class="TableHeadingBold"><a href="javascript:sortList('first_name', '<%=strTempSortOrder%>');">First Name</a></span>
</th>
<th id="LastName" width="135" valign="center">
<%
'Determine the sort order if the user clicks this column heading
If strSortColumn = "last_name" Then
If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
strTempSortOrder = SUR_SORT_ORDER_DESCENDING
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
%>
<span class="TableHeadingBold"><a href="javascript:sortList('last_name', '<%=strTempSortOrder%>');">Last Name</a></span>
</th>
<th id="ResponseDate" width="125" align="left" valign="center">
<%
'Determine the sort order if the user clicks this column heading
If strSortColumn = "response_date" Then
If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
strTempSortOrder = SUR_SORT_ORDER_DESCENDING
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
%>
<span class="TableHeadingBold"><a href="javascript:sortList('response_date', '<%=strTempSortOrder%>');">Response Date</a></span>
</th>
<th id="CurrentStatus" width="90" align="left" valign="center">
<%
'Determine the sort order if the user clicks this column heading
If strSortColumn = "current_status" Then
If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
strTempSortOrder = SUR_SORT_ORDER_DESCENDING
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
Else
strTempSortOrder = SUR_SORT_ORDER_ASCENDING
End If
%>
<span class="TableHeadingBold"><a href="javascript:sortList('current_status', '<%=strTempSortOrder%>');">Status</a></span>
</th>
<th id="Response" width="65" align="center" valign="center">
<span class="TableHeadingBold">Response</span>
</th>
</tr>
<%
'Select the list of all emails sent for this message
strSQL = "SELECT email_address, first_name, last_name, response_date, " & _
"esh.response_id As ResponseIDHistory, r.response_id As ResponseIDResponse, " & _
"em.survey_id, current_status " & _
"FROM (sur_email_message em INNER JOIN (sur_email_address ea INNER JOIN " & _
"sur_email_sent_history esh ON ea.email_address_id = esh.email_address_id) " & _
"ON em.email_message_id = esh.email_message_id) " & _
"LEFT JOIN sur_response r ON esh.response_id = r.response_id " & _
"WHERE esh.email_message_id = " & lngEmailMessageID & _
" ORDER BY " & strSortColumn & " " & strSortOrder
rsEmailsSent.Open ConvertSQL(strSQL), SURVEY_APP_CONNECTION, adOpenForwardOnly, adLockReadOnly, adCmdText
'Move the recordset to the correct starting position
rsEmailsSent.MoveFirst
For i = 1 To lngStartNumber - 1
If Not rsEmailsSent.EOF Then
rsEmailsSent.MoveNext
End If
Next
Do While Not rsEmailsSent.EOF And CLng(lngDisplayedCount) < CLng(lngNumberPerPage)
lngDisplayedCount = lngDisplayedCount + 1
%>
<tr class="<%=strTableRowColor%>">
<td align="left" valign="center" height="29">
<span class="InlineHelpSpanStyle"><a href="mailto:<%=rsEmailsSent("email_address")%>"><%=rsEmailsSent("email_address")%></a></span>
</td>
<td>
<span class="InlineHelpSpanStyle"><%=rsEmailsSent("first_name")%><br></span>
</td>
<td>
<span class="InlineHelpSpanStyle"><%=rsEmailsSent("last_name")%><br></span>
</td>
<td>
<span class="InlineHelpSpanStyle"><%=CustomDateFormatDisplay(rsEmailsSent("response_date"))%><br></span>
</td>
<td>
<span class="InlineHelpSpanStyle"><%=rsEmailsSent("current_status")%><br></span>
</td>
<td align="center">
<%
'Check to see if there was a response to the email invitation
If Len(rsEmailsSent("ResponseIDHistory")) > 0 Or IsNull(rsEmailsSent("ResponseIDHistory")) = False Then
'Only display the link to the response if it was not deleted
If IsNull(rsEmailsSent("ResponseIDResponse")) = True Or Len(rsEmailsSent("ResponseIDResponse")) = 0 Then
%>
<span class="InlineHelpSpanStyle">Deleted</span>
<%
Else
%>
<a href="ResultsIndividual.asp?DisplayHeader=Yes&SurveyID=<%=rsEmailsSent("survey_id")%>&ResponseID=<%=rsEmailsSent("ResponseIDHistory")%>"><img alt="View this response" src="Resources/Icons/Analyze.gif" border="0" onMouseOver="this.style.cursor='hand'"></a>
<%
End If
End If
%>
</td>
</tr>
<%
'Alternate the colors for the rows in the table
If strTableRowColor = "TableRowDarkColor" Then
strTableRowColor = "TableRowLightColor"
Else
strTableRowColor = "TableRowDarkColor"
End If
rsEmailsSent.MoveNext
Loop
%>
</table>
</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2">
<span class="Normal">
<label for="cboNumberPerPage">Show </label>
<select name="cboNumberPerPage" id="cboNumberPerPage" style="width:55px" onChange="javascript:displayCountChange();">
<option <% If lngNumberPerPage = 3 Then Response.Write "selected" End If%> value="3">3</option>
<option <% If lngNumberPerPage = 50 Then Response.Write "selected" End If%> value="50">50</option>
<option <% If lngNumberPerPage = 100 Then Response.Write "selected" End If%> value="100">100</option>
</select>
sent emails per page
</span>
</td>
<td align="right" colspan="2">
<span class="Normal">
<%
If lngPreviousNumber <> -1 Then
%>
<a href="javascript:paginate(<%=lngPreviousNumber%>);">Previous</a>
<%
End If
If lngPreviousNumber <> -1 And lngNextNumber <> -1 Then
%>
|
<%
End If
If lngNextNumber <> -1 Then
%>
<a href="javascript:paginate(<%=lngNextNumber%>);">Next</a>
<%
End If
%>
</span>
</td>
</tr>
<tr>
<td colspan="4" align="right">
<br>
<a href="EmailMessageList.asp?EmailListID=<%=lngEmailListID%>&EmailListName=<%=strEmailListName%>"><img border="0" alt="Back" name="btnBack" src="Resources/Buttons/Back.gif"></a>
</td>
</tr>
</table>
<!--#Include File="Include/FrameworkBottom_inc.asp"-->
</body>
<form name="frmSortAndPaginate" method="post" action="EmailMessageDetails.asp">
<input type="hidden" name="SortColumn" value="<%=strSortColumn%>">
<input type="hidden" name="SortOrder" value="<%=strSortOrder%>">
<input type="hidden" name="NumberPerPage" value="<%=lngNumberPerPage%>">
<input type="hidden" name="StartNumber" value="<%=lngStartNumber%>">
<input type="hidden" name="EmailMessageID" value="<%=lngEmailMessageID%>">
<input type="hidden" name="EmailListID" value="<%=lngEmailListID%>">
<input type="hidden" name="EmailListName" value="<%=strEmailListName%>">
</form>
</html>
<%
'Ensure that the web server returns the page
Response.Flush
'Get the count of emails sent for this message
Function GetEmailsSentCount(lngEmailMessageID)
Dim strSQL
Dim lngCount
Dim rsEmailsSentCount
'Initialization
Set rsEmailsSentCount = Server.CreateObject("ADODB.Recordset")
'Get the total count of emails sent for this message
strSQL = "SELECT count(email_address_id) As EmailsSentCount " & _
"FROM sur_email_sent_history " & _
"WHERE email_message_id = " & lngEmailMessageID
rsEmailsSentCount.Open ConvertSQL(strSQL), SURVEY_APP_CONNECTION, adOpenForwardOnly, adLockReadOnly, adCmdText
lngCount = CLng(rsEmailsSentCount("EmailsSentCount"))
'Clean up
rsEmailsSentCount.Close
Set rsEmailsSentCount = Nothing
GetEmailsSentCount = lngCount
End Function
%>