% @ LANGUAGE = VBScript %>
<% Option Explicit %>
<% Response.Expires = -1 %>
<%
'+--
' Hong-Minh Pho
'
' 14 Feb 2002
'
' Registration Page
'--+
%>
<%
' global variables
Dim strPath
Dim strConnect
Dim strMe
strPath = Request.ServerVariables("PATH_TRANSLATED")
Call ExtractDataRev(strPath,"\")
if Right(strPath,1) <> "\" Then strPath=strPath & "\"
strMe = Request.ServerVariables("SCRIPT_NAME")
strConnect="DRIVER=Microsoft Access Driver (*.mdb); DBQ=" & strPath & "HLC-prereg02.mdb"
Call Main
%>
<%
Sub Main
Dim strErrMsg
Dim strErrLst
Select Case UCase(Request.ServerVariables("REQUEST_METHOD"))
Case "POST":
strErrLst = ValidateFields(strErrMsg)
if Len(strErrLst)>0 Then
Call LoginQuery(Array(strErrLst,strErrMsg))
Else
If AddUser() = 0 Then
Call NotifyMail
Response.Redirect("Thank.htm")
Else
strErrMsg = "Error. Form contents not sent.
"
Call LoginQuery(Array("",strErrMsg))
End if
End if
Case "GET":
Call LoginQuery(Array("",""))
End Select
End Sub
%>
<%
Function SendMail(strHost,strUserName,strFromAddress,strToAddress,strCC,strSubject,strMsg)
Dim objMail
Set objMail=server.CreateObject("IonMail.Mailer")
objMail.Init
objMail.RemoteHost = strHost
objMail.FromName = strUserName
objMail.FromAddress = strFromAddress
objMail.Recipient = strToAddress
objMail.CC = strCC
objMail.Subject = strSubject
objMail.BodyText = strMsg
objMail.SMTPLog = strPath & "Smtp.log"
SendMail=objMail.SendMail
objMail.Remove
End Function
%>
<%
Sub NotifyMail
Dim strSql
Dim strEmailAddress
Dim strFirst
Dim strLast
Dim strAddress1
Dim strAddress2
Dim strCity
Dim strState
Dim strZip
Dim strPhone
Dim strComment
Dim strUsername
Dim strSubject
Dim strMsg
strEmailAddress=Trim(Request.Form("EmailAddress"))
strFirst=Filter("><'%~" & Chr(34),Trim(Request.Form("First")),True)
strLast=Filter("><'%~" & Chr(34),Trim(Request.Form("Last")),True)
strAddress1=Filter("><'%~" & Chr(34),Trim(Request.Form("Address1")),True)
strAddress2=Filter("><'%~" & Chr(34),Trim(Request.Form("Address2")),True)
strCity=Filter("><'%~" & Chr(34),Trim(Request.Form("City")),True)
strState=Filter("><'%~" & Chr(34),UCase(Trim(Request.Form("State"))),True)
strZip=Filter("><'%~" & Chr(34),Trim(Request.Form("Zip")),True)
strPhone=Filter("><'%~" & Chr(34),Trim(Request.Form("Phone")),True)
strComment=Filter("><'%~" & Chr(34),Trim(Request.Form("Comment")),True)
strUserName=strFirst & " " & strLast
strSubject = "HLC Brochure Request"
strMsg = ""
strMsg = strMsg & "NAME: " & strUserName & vbCRLF
strMsg = strMsg & "ADDRESS: " & VbCRLf
strMsg = strMsg & " " & strAddress1 & vbCRLF
strMsg = strMsg & " " & strAddress2 & vbCRLF
strMsg = strMsg & "CITY/STATE/ZIP: " & strCity & ", " & strState & " " & strZip & vbCRLF
strMsg = strMsg & "PHONE: " & strPhone & vbCRLF
strMsg = strMsg & "EMAIL ADDRESS: " & strEmailAddress & vbCRLF
if SendMail("hobbes.cal.org",strUserName,strEmailAddress,"chris@cal.org","chris@cal.org",strSubject, strMsg)>1 Then
Call SendMail("hobbes.cal.org",strUserName,strEmailAddress,"chris@cal.org","chris@cal.org",strSubject, strMsg)
End if
End Sub
%>
<%
Function ChkInstrMap(Byval strMap, Byval strField, Byval strInfo, Byval blnToggle)
Dim blnReturn
Dim strReturn
Dim X
blnReturn = False
strReturn = ""
For X = 1 To Len(strInfo)
If (blnToggle) Then
If InStr(strMap, Mid(strInfo, X, 1)) > 0 Then
blnReturn = True
strReturn = "
" & strField & " Field must NOT contain the listed characters [" & Server.HTMLEncode(strMap) & "]
"
Exit For
End If
Else
If InStr(strMap, Mid(strInfo, X, 1)) = 0 Then
blnReturn = True
strReturn = "" & strField & " Field must ONLY contain the listed characters [" & Server.HTMLEncode(strMap) & "]
"
Exit For
End If
End If
Next
ChkInstrMap = strReturn
End Function
%>
<%
Function ExtractData(strExtra, ByVal strCh )
'+---
' Extract from the left of the string till the delimiter string.
' Returns the extracted string and the remainder string.
'---+
Dim strTmp
Dim lngPos
strTmp = ""
lngPos = InStr(strExtra, strCh)
If lngPos > 0 Then
strTmp = Mid(strExtra, 1, lngPos - 1)
strExtra = Mid(strExtra, lngPos + Len(strCh))
Else
strTmp = strExtra
strExtra = ""
End If
ExtractData = strTmp
End Function
%>
<%
Function ExtractDataRev(strExtra, ByVal strCh )
'+---
' Extract from the Right of the string till the delimiter string.
' Returns the extracted string and the remainder string.
'---+
Dim strTmp
Dim lngPos
strTmp = ""
lngPos = InStrRev(strExtra, strCh)
If lngPos > 0 Then
strTmp = Mid(strExtra, lngPos + Len(strCh), Len(strExtra) - lngPos)
strExtra = Mid(strExtra, 1, lngPos - 1)
Else
strTmp = strExtra
strExtra = ""
End If
ExtractDataRev = strTmp
End Function
%>
<%
Function Filter(strMap,strInput,blnFilter)
Dim X
Dim strReturn
Dim strCh
For X=1 to Len(strInput)
strCh=Mid(strInput,X,1)
if blnFilter Then
if Instr(strMap,strCh)=0 Then strReturn=strReturn & strCh
Else
if Instr(strMap,strCh)>0 Then strReturn=strReturn & strCh
End if
Next
Filter=strReturn
End Function
%>
<%
Function Val(vntValue)
On Error Resume Next
Val = Cdbl(vntValue)
if Err<>0 then Val=0
End Function
%>
<%
Function Quote(strValue)
Quote = chr(34) & strValue & chr(34)
End Function
%>
<%
Function iif(blnExpr,vntTrueResult,vntFalseResult)
if blnExpr Then
iif=vntTrueResult
else
iif=vntFalseResult
end if
End Function
%>
<%
Function ValidateFields(strErrMsg)
Dim strFieldValue
Dim strFieldName
Dim strErrLst
Dim strReturn
strErrLst=""
strFieldName="EmailAddress"
strFieldValue=Trim(Request.Form(strFieldName))
if Len(strFieldValue) = 0 Then
strReturn = "" & "Email Address" & " Field is required and must be filled out!
"
Elseif Len(strFieldValue)<6 then
strReturn = "" & "Email Address" & " Field is too short, it must be at least 6 characters long!
"
Elseif Instr(strFieldValue,"@") > 1 and (Mid(strFieldvalue,Len(strFieldValue)-3,1)= "." or Mid(strFieldvalue,Len(strFieldValue)-2,1)= ".") Then
strReturn = strReturn & ChkInstrMap("'~`^&*$%," & Chr(34), "Email Address", strFieldValue, True)
Else
strReturn = strReturn & "" & "Email Address" & " Field is Invalid
"
End if
strErrMsg = strErrMsg & strReturn
if Len(strReturn)>0 Then strErrLst = strErrLst & strFieldName & "~"
strFieldName="First"
strFieldValue=Trim(Request.Form(strFieldName))
if Len(strFieldValue) = 0 Then
strReturn = "" & "First Name" & " Field is required and must be filled out!
"
else
strReturn = ChkInstrMap("#%@'~`^&*$," & Chr(34), "First", strFieldValue, True)
end if
strErrMsg = strErrMsg & strReturn
if Len(strReturn)>0 Then strErrLst = strErrLst & strFieldName & "~"
strFieldName="Last"
strFieldValue=Trim(Request.Form(strFieldName))
if Len(strFieldValue) = 0 Then
strReturn = "" & "Last Name" & " Field is required and must be filled out!
"
else
strReturn = ChkInstrMap("#%@'~`^&*$," & Chr(34), "Last", strFieldValue, True)
end if
strErrMsg = strErrMsg & strReturn
if Len(strReturn)>0 Then strErrLst = strErrLst & strFieldName & "~"
strFieldName="Address1"
strFieldValue=Trim(Request.Form(strFieldName))
if Len(strFieldValue) = 0 Then
strReturn = "" & "Address" & " Field is required and must be filled out!
"
else
strReturn = ChkInstrMap("#%@'~`^&*$," & Chr(34), "Address", strFieldValue, True)
end if
strErrMsg = strErrMsg & strReturn
if Len(strReturn)>0 Then strErrLst = strErrLst & strFieldName & "~"
strFieldName="State"
strFieldValue=Trim(Request.Form(strFieldName))
if Len(strFieldValue) = 0 Then
strReturn = "" & "State" & " Field is required and must be filled out!
"
else
strReturn = ChkInstrMap("#%@'~`^&*$," & Chr(34), "State", strFieldValue, True)
end if
strErrMsg = strErrMsg & strReturn
if Len(strReturn)>0 Then strErrLst = strErrLst & strFieldName & "~"
strFieldName="Zip"
strFieldValue=Trim(Request.Form(strFieldName))
if Len(strFieldValue) = 0 Then
strReturn = "" & "Zip" & " Field is required and must be filled out!
"
else
strReturn = ChkInstrMap("#%@'~`^&*$," & Chr(34), "Zip", strFieldValue, True)
end if
strErrMsg = strErrMsg & strReturn
if Len(strReturn)>0 Then strErrLst = strErrLst & strFieldName & "~"
strFieldName="Comment"
strFieldValue=Trim(Request.Form(strFieldName))
if Len(strFieldValue) > 199 Then
strReturn = "" & "Comments" & " Field must be less than 200 characters!
"
else
strReturn = ChkInstrMap("#%@'~`^&*$," & Chr(34), "Comment", strFieldValue, True)
end if
strErrMsg = strErrMsg & strReturn
if Len(strReturn)>0 Then strErrLst = strErrLst & strFieldName & "~"
ValidateFields = strErrLst
End Function
%>
<%
Function SqlExecute(ByVal strConnect, ByVal strSql)
On Error Resume Next
Dim objCmd
Set objCmd = Server.CreateObject("ADODB.Command")
objCmd.ActiveConnection = strConnect
objCmd.CommandType = adCmdText
objCmd.CommandTimeout = 30
objCmd.CommandText = strSql
objCmd.Execute
SqlExecute = Err.Number
Set objCmd = Nothing
On Error Goto 0
End Function
%>
<%
Function AddUser()
Dim strSql
Dim strEmailAddress
Dim strFirst
Dim strLast
Dim strAddress1
Dim strAddress2
Dim strCity
Dim strState
Dim strZip
Dim strPhone
Dim strComment
strEmailAddress=Trim(Request.Form("EmailAddress"))
strFirst=Filter("><'%~" & Chr(34),Trim(Request.Form("First")),True)
strLast=Filter("><'%~" & Chr(34),Trim(Request.Form("Last")),True)
strAddress1=Filter("><'%~" & Chr(34),Trim(Request.Form("Address1")),True)
strAddress2=Filter("><'%~" & Chr(34),Trim(Request.Form("Address2")),True)
strCity=Filter("><'%~" & Chr(34),Trim(Request.Form("City")),True)
strState=Filter("><'%~" & Chr(34),UCase(Trim(Request.Form("State"))),True)
strZip=Filter("><'%~" & Chr(34),Trim(Request.Form("Zip")),True)
strPhone=Filter("><'%~" & Chr(34),Trim(Request.Form("Phone")),True)
strComment=Filter("><'%~" & Chr(34),Trim(Request.Form("Comment")),True)
strSql = "INSERT INTO UserList (EMAILADDRESS,FIRST,LAST,ADDRESS1,ADDRESS2,CITY,STATE,ZIP,PHONE,COMMENT,[TIMESTAMP]) "
strSql=strSql & "VALUES ('" & strEmailAddress & "',"
strSql=strSql & "'" & iif(Len(strFirst)>0,strFirst," ") & "',"
strSql=strSql & "'" & iif(Len(strLast)>0,strLast," ") & "',"
strSql=strSql & "'" & iif(Len(strAddress1)>0,strAddress1," ") & "',"
strSql=strSql & "'" & iif(Len(strAddress2)>0,strAddress2," ") & "',"
strSql=strSql & "'" & iif(Len(strCity)>0,strCity," ") & "',"
strSql=strSql & "'" & iif(Len(strState)>0,strState," ") & "',"
strSql=strSql & "'" & iif(Len(strZip)>0,strZip," ") & "',"
strSql=strSql & "'" & iif(Len(strPhone)>0,strPhone," ") & "',"
strSql=strSql & "'" & iif(Len(strComment)>0,strComment," ") & "',"
strSql=strSql & "#" & Now() & "#);"
AddUser = SqlExecute(strConnect, strSql)
End Function
%>
<% Sub LoginQuery (Byval arrErr) %>
<%
Dim strSql
Dim strEmailAddress
Dim strFirst
Dim strLast
Dim strAddress1
Dim strAddress2
Dim strCity
Dim strState
Dim strZip
Dim strPhone
Dim strComment
strEmailAddress=Trim(Request.Form("EmailAddress"))
strFirst=Filter("><'%~" & Chr(34),Trim(Request.Form("First")),True)
strLast=Filter("><'%~" & Chr(34),Trim(Request.Form("Last")),True)
strAddress1=Filter("><'%~" & Chr(34),Trim(Request.Form("Address1")),True)
strAddress2=Filter("><'%~" & Chr(34),Trim(Request.Form("Address2")),True)
strCity=Filter("><'%~" & Chr(34),Trim(Request.Form("City")),True)
strState=Filter("><'%~" & Chr(34),UCase(Trim(Request.Form("State"))),True)
strZip=Filter("><'%~" & Chr(34),Trim(Request.Form("Zip")),True)
strPhone=Filter("><'%~" & Chr(34),Trim(Request.Form("Phone")),True)
strComment=Filter("><'%~" & Chr(34),Trim(Request.Form("Comment")),True)
%>
CAL Response Form
2002 Heritage Languages in America Conference Brochure
Please download a color PDF copy of the conference brochure by clicking here.
Complete, updated conference information - including online registration - is available by clicking here.
Items indicated in red are
required.
|
<%= arrErr(1) %>
<% End Sub %>