%
class aspXML
Private top 'Stack current element
Private TagArray() 'Stack of tags
Private XML 'XML code
'>>>>>>>> Setup Initialize event, called automtially when creating an instant of this class using
' Set MyXML = new aspXML
Private Sub Class_Initialize
Redim TagArray(10)
top = -1
XML = "" & vbCrLf
End Sub
'>>>>>>>> Setup Terminate event, called automtially when killing an instant of this class using
' Set MyXML = nothing
Private Sub Class_Terminate
top = null
XML = null
Erase TagArray
End Sub
'>>>>>>>> Reset the class, as if it was just created, Use with care
Public Function Reset
call Class_Terminate
call Class_Initialize
End Function
'>>>>>>>> Open a new element tag
Public Function OpenTag(tagName)
tagName = FormatXML(tagName)
top = top + 1
if top > ubound(TagArray) then
ReDim Preserve TagArray(ubound(TagArray) + 10)
end if
TagArray(top) = tagName
XML = XML & "<" & tagName & ">"
if top = 0 then XML = XML & vbCrLf 'Code format, root tag is on separate line
end function
'>>>>>>>> Opens a new tag, add the data, and close the tag
Public Function QuickTag(tagName, Data)
tagName = FormatXML(tagName)
XML = XML & "<" & tagName & ">" & CheckString(Data) & "" & tagName & ">" & vbCrLf
end function
'>>>>>>>> Put an empty tag, uses less code than opening and closing a normal tag (in case, if needed :)
Public Function EmptyTag(tagName)
tagName = FormatXML(tagName)
XML = XML & "<" & tagName & " />" & vbCrLf
end function
'>>>>>>>> Add an attribute to the last open tag (can be used before or after adding data)
Public Function AddAttribute(attribName, attribValue)
lastTag = inStrRev(XML, ">")
TextRemoved = Right(XML, len(XML) - lastTag)
XML = Left(XML, lastTag - 1)
XML = XML & " " & FormatXML(attribName) & "=""" & attribValue & """>"
XML = XML & TextRemoved
End function
'>>>>>>>> Add data to current open tag (automatic check if need CDATA or no)
Public Function AddData(Data)
XML = XML & CheckString(Data)
end function
'>>>>>>>> Add data to current open tag, formated as XSL date
Public Function AddDate(strDate)
if isDate(strDate) then
strDate = cDate(strDate)
XML = XML & year(strDate) & "-" & LeadingZero(month(strDate), 2) & "-" & LeadingZero(day(strDate),2) & "T" & LeadingZero(Hour(strDate),2) & ":" & LeadingZero(Minute(strDate),2) & ":" & LeadingZero(Second(strDate),2)
end if
end function
'>>>>>>>> Add Comment in the current location
Public Function AddComment(Data)
XML = XML & ""
end function
'>>>>>>>> Close last open tag
Public Function CloseTag()
tagName = TagArray(top)
XML = XML & "" & tagName & ">" & vbCrLf
top = top - 1
end function
'>>>>>>>> Close all open tags, including main root tag
'after calling this function, it is not recomended opening new
'tags as XML can only have 1 root element
Public Function CloseAllTags()
while (top >= 0)
tagName = TagArray(top)
XML = XML & "" & tagName & ">" & vbCrLf
top = top - 1
wend
end function
'>>>>>>>> Returns the XML final code
Public Function GetXML()
GetXML = XML
end function
'---------------------------------------------------------------
' Special internal functions
'---------------------------------------------------------------
'>>>>>>>> Format the tag name if contains special characters
Private function FormatXML(data)
if isNumeric(left(data,1)) then
data = FormatNumericXML(data)
end if
data = replace(data, "?", "_x003F_")
data = replace(data, " ", "_x0020_")
data = replace(data, "/", "_x002F_")
data = replace(data, "=", "_x003D_")
data = replace(data, "%", "_x0025_")
data = replace(data, "\", "_x005C_")
data = replace(data, "~", "_x007E_")
data = replace(data, "@", "_x0040_")
data = replace(data, "#", "_x0023_")
data = replace(data, "$", "_x0024_")
data = replace(data, "%", "_x0025_")
data = replace(data, "^", "_x005E_")
data = replace(data, "&", "_x0026_")
data = replace(data, "*", "_x002A_")
data = replace(data, "(", "_x0028_")
data = replace(data, ")", "_x0029_")
data = replace(data, "+", "_x002B_")
data = replace(data, "{", "_x007B_")
data = replace(data, "}", "_x007D_")
data = replace(data, "|", "_x007C_")
data = replace(data, "'", "_x0027_")
data = replace(data, "<", "_x003C_")
data = replace(data, ">", "_x003E_")
data = replace(data, ",", "_x002C_")
data = replace(data, ";", "_x003B_")
FormatXML = data
end function
'>>>>>>>> Format the tag name if starts with digit
Private function FormatNumericXML(data)
StrLeft = Left(data, 1)
StrRight = Right(data, (len(data) - 1))
ReturnValue = "_x003" & StrLeft & "_" & StrRight
FormatNumericXML = ReturnValue
end function
'>>>>>>>> Format the data with or without CData
Private function CheckString(data)
need = false
if instr(data, "<") then need = true
if instr(data, "&") then need = true
if need then
CheckString = ""
else
CheckString = data
end if
end function
'>>>>>>>> Leading Zeros function, for AddDate function
Private Function LeadingZero(data, numdigits)
while len(data) < numdigits
data = "0" & data
wend
LeadingZero = data
End Function
end class
Dim bol_allEntriesDone
%>
マイクロマシン/MEMS展
東京ビッグサイト 東ホール, 29.07.2009 - 31.07.2009MSA-500 マイクロシステム アナライザ
|
|
<%
Sub SendMailCDO(aTo, Subject, TextBody, aFrom, charset)
Const cdoOutlookExvbsss = 2
Const cdoIIS = 1
'Dim Message As New CDO.Message
'Create CDO message object
Set Message = CreateObject("CDO.Message")
With Message
'Load IIS configuration
.Configuration.Load cdoIIS
'Set email adress, subject And body
.To = aTo
.Subject = Subject
.TextBody = TextBody
.BodyPart.Charset = charset
'Set sender address If specified.
If Len(aFrom) > 0 Then .From = aFrom
'Send the message
.Send
End With
End Sub
bol_allEntriesDone = 0
SetLocale "de"
dim datumEndeASP
datumEndeASP = replace("31.07.2009",".","/")
'response.write "Form invisible Sprache Script de HEUTE " & DATE & " ENDDATUM " & CDate(datumEndeASP)
if ("invisible" = "visible" ) then
if Request.Form("send") = 1 then
' ARE ALL REQUIRED FIELDS FILLED?
int_minimumCharCount = 1
if Len(Request.Form("vorname")) > int_minimumCharCount and Len(Request.Form("nachname")) > int_minimumCharCount and Len(Request.Form("firma")) > int_minimumCharCount and Len(Request.Form("telefon")) > int_minimumCharCount and Len(Request.Form("email")) > int_minimumCharCount and instr(Request.Form("email"),"@")<> 0 then
' HIDE FORM HTML
bol_allEntriesDone = 2
' CATCH MAIL DATA
strEmpaenger1 = Request.Form("toEmail")
strAbsender1 = Request.Form("email")
strEmpaenger2 = Request.Form("Email")
strAbsender2 = Request.Form("toemail")
strBetreff = "Registration: マイクロマシン/MEMS展"
strBetreffConfirmation = "Your message: マイクロマシン/MEMS展"
strNachricht = "Anrede: " & Request.Form("anrede") & vbCrLf
strNachricht = strNachricht & "Vorname *: " & Request.Form("vorname") & vbCrLf
strNachricht = strNachricht & "Nachname *: " & Request.Form("nachname") & vbCrLf
strNachricht = strNachricht & "Position: " & Request.Form("Titel") & vbCrLf
strNachricht = strNachricht & "Firma *: " & Request.Form("firma") & vbCrLf
strNachricht = strNachricht & "Abteilung: " & Request.Form("abteilung") & vbCrLf
strNachricht = strNachricht & "Straße: " & Request.Form("strasse") & vbCrLf
strNachricht = strNachricht & "PLZ: " & Request.Form("PLZOrt") & vbCrLf
strNachricht = strNachricht & "Ort: " & Request.Form("region") & vbCrLf
strNachricht = strNachricht & "Land: " & Request.Form("land") & vbCrLf
strNachricht = strNachricht & "Telefon *: " & Request.Form("telefon") & vbCrLf
strNachricht = strNachricht & "Fax: " & Request.Form("fax") & vbCrLf
strNachricht = strNachricht & "E-Mail *: " & Request.Form("email") & vbCrLf
strNachricht = strNachricht & "-----------------------------------------------------" & vbCrLf
strNachricht = strNachricht & "Anfrage an:: " & Request.Form("visiting_date") & vbCrLf
strNachricht = strNachricht & "Zeit Ihres Besuchs: " & Request.Form("visiting_time") & vbCrLf
strNachricht = strNachricht & "Betreff:" & Request.Form("AnzahlPersonen") & vbCrLf
strNachricht = strNachricht & "Message: " & Request.Form("nachricht") & vbCrLf
strNachricht = strNachricht & "-----------------------------------------------------" & vbCrLf
strNachricht = strNachricht & "Ich möchte gerne zurückgerufen werden: " & Request.Form("telephoneCall") & vbCrLf
strNachricht = strNachricht & "-----------------------------------------------------" & vbCrLf
strNachricht = strNachricht & "Ich möchte über Produktneuheiten informiert werden: " & Request.Form("keepUpdatedOnNewProducts")
SendMailCDO strEmpaenger1, strBetreff, strNachricht, strAbsender1, "utf-8"
SendMailCDO strEmpaenger2, strBetreffConfirmation, strNachricht, strAbsender2, "utf-8"
set myXML = new aspXML
myXML.OpenTag "Email"
myXML.OpenTag "Message"
myXML.AddAttribute "date", date()
myXML.QuickTag "Betreff", "マイクロマシン/MEMS展"
myXML.QuickTag "salutation", Request.Form("anrede")
myXML.QuickTag "forename", Request.Form("vorname")
myXML.QuickTag "surname", Request.Form("nachname")
myXML.QuickTag "title", Request.Form("Titel")
myXML.QuickTag "company", Request.Form("firma")
myXML.QuickTag "abteilung", Request.Form("abteilung")
myXML.QuickTag "street", Request.Form("strasse")
myXML.QuickTag "town_and_zipcode", Request.Form("PLZOrt")
myXML.QuickTag "state", Request.Form("region")
myXML.QuickTag "country", Request.Form("land")
myXML.QuickTag "phone", Request.Form("telefon")
myXML.QuickTag "fax", Request.Form("fax")
myXML.QuickTag "email", Request.Form("email")
myXML.QuickTag "visiting_date", Request.Form("visiting_date")
myXML.QuickTag "visiting_time", Request.Form("visiting_time")
myXML.QuickTag "number_of_persons", Request.Form("AnzahlPersonen")
myXML.QuickTag "text", Request.Form("nachricht")
myXML.QuickTag "telephon_call", Request.Form("telephoneCall")
myXML.QuickTag "keepMeUpdatedOnNewProducts", Request.Form("keepUpdatedOnNewProducts")
myXML.CloseTag
myXML.CloseAllTags
dim timestamp
timestamp = DateDiff("s", CDate(#01/01/1970#), Now)
Set objFs= CreateObject("Scripting.FileSystemObject")
strDateiname = "D:\Polytec_Daten\Websites\polytec\wwwroot\mails_and_more\\" & timestamp & ".xml"
' Einen Textstream (objTextStream) zur Textdatei oeffnen
Set objTextStream = objFs.CreateTextFile(strDateiname, True)
' Inhalt fuer Datei in String strWriteString speichern:
strWriteString = myXML.GetXML
' String in Datei schreiben:
objTextStream.Write strWriteString
' Objekte schliessen
objTextStream.Close
Set objTextStream = Nothing
Set objFs = Nothing
//Response.write myXML.GetXML
Set myXML = nothing
%>
<%
' CLEAR CACHE
Set objMail = Nothing
Set objConfig = Nothing
else
bol_allEntriesDone = 1
end if
end if
if bol_allEntriesDone <> 2 then
%>
<%
else
%>
Online Anmeldung
<P>Vielen Dank für Ihre Anmeldung.</P>
<P>Folgende Daten sind bei uns eingegangen:</P>
<%
end if
end if
%>