% Dim nof_rootDir, nof_sitePath, nof_scriptDir, nof_debug, nof_componentName, _ nof_componentId, nof_scriptInterfaceFile, nof_langFile, nof_locale nof_rootDir = Request.Form("nof_rootDir") nof_sitePath = Request.Form("nof_sitePath") nof_scriptDir = Request.Form("nof_scriptDir") nof_debug = Request.Form("nof_debug") nof_componentName = Request.Form("nof_componentName") nof_componentId = Request.Form("nof_componentId") nof_scriptInterfaceFile = Request.Form("nof_scriptInterfaceFile") nof_langFile = Request.Form("nof_langFile") set nof_locale = ssLocaleToDictionary(nof_sitePath & nof_scriptDir, nof_langFile) Call ssSignupMain() Sub ssSignupMain() On Error Resume Next Application("LoginField") = "UserName" Application("PassField") = "Password" Application("MailField") = "Email" Application("AdminField") = "AdminStatus" Application("ValidField") = "ValidationFlag" Dim suiteTags set suiteTags = Server.CreateObject("scripting.dictionary") suiteTags.Add "dbpath", "dbPath" suiteTags.Add "uploaddir", "dbFileUploadDir" suiteTags.Add "sendemail", "sendEmail" suiteTags.Add "smtpip", "emailServer" suiteTags.Add "smtpport", "emailServerPort" suiteTags.Add "emailto", "emailToAddress" suiteTags.Add "emailfrom", "emailFromAddress" suiteTags.Add "debug", "publishInDebugMode" suiteTags.Add "dbcolumns", "dbColumns" suiteTags.Add "language", "language" Dim compGeneralTags set compGeneralTags = Server.CreateObject("scripting.dictionary") compGeneralTags.Add "currentpage", "currentPage" compGeneralTags.Add "nextpage", "nextPage" compGeneralTags.Add "errormark", "errorMark" compGeneralTags.Add "accessdeniedpage", "accessDeniedPage" Dim XMLDoc Set XMLDoc = ssOpenXMLFile(nof_sitePath & nof_scriptDir & "\" & nof_scriptInterfaceFile) If Err.number <> 0 Then ' The method above returns only documented exceptions, ' so we safely pass the error object further Call ssRaiseFatalError(Err, "div", nof_debug) Response.End() End If Dim ComponentNode set ComponentNode = ssGetNode(XMLDoc,,"Component", Array("name","id"), Array(nof_ComponentName, nof_componentId), -1) If ComponentNode Is Nothing Then Err.Raise 400, "ss_signup_post.main.20", ssGetLocaleString("Error.400", Null) Call ssRaiseFatalError(err, "div", nof_debug) Response.End() End If dbPath = ssGetProperty( ComponentNode, suiteTags.Item("dbpath") ) if dbPath = "" then Err.Raise 526, "ss_signuppost.main.40", ssGetLocaleString("Error.526", Null) Call ssRaiseFatalError(err, "div", nof_debug) Response.End end if if not inStr(1, dbPath, "\", 1) > 0 then Dim absPath, relPath set relPath = nothing set relPath = ssReFind(dbPath, "\.\./") absPath = Server.MapPath(".") if not relPath is nothing then if relPath.count > 0 then for i=1 to relPath.count absPath = Left(absPath, inStrRev(absPath,"\") - 1) dbPath = Replace(dbPath, "../", "", 1, 1) next else if inStr(1, dbPath, "./") > 0 then dbPath = Replace(dbPath, "./", "", 1, 1) end if end if set relPath = nothing end if dbPath = absPath & "\" & Replace(dbPath, "/", "\") end if dbFields = ssGetDBFields(ComponentNode, suiteTags.Item("dbcolumns")) if ssFileExists(dbPath) then 'check if the fields are the same tableHead = ssGetLine(dbPath) if LCase(dbFields) <> LCase(tableHead) Then 'create the database Call ssCreateDB(dbPath, dbFields) if (Err.Number <> 0) Then Call ssRaiseFatalError(err, null, nof_debug) Response.End() end if tableHead = ssGetLine(dbPath) end if else 'create the database Call ssCreateDB(dbPath, dbFields) if (Err.Number <> 0) Then Call ssRaiseFatalError(err, "div", nof_debug) Response.End() end if tableHead = ssGetLine(dbPath) end if allTHeads = split(tableHead,",") %>
" & vbCrLf & _ " " & vbCrLf & _ " " & vbCrLf & _ " " end sub function checkFields(ByVal CompNode, ByVal fieldName, ByVal fieldValue) On Error Resume next checkFields = "false" set errEvent = getErrorEvent(CompNode, fieldName, "required") propValue = "" if not errEvent is nothing then propValue = ssGetProperty( errEvent, "message" ) end if if Len(propValue) > 0 then if not Len(fieldValue) > 0 then checkFields = propValue exit function end if end if set errEvent = getErrorEvent(CompNode, fieldName, "invalidemail") propValue = "" if not errEvent is nothing then propValue = ssGetProperty(errEvent, "message" ) end if if inStr(fieldName, "email") > 0 and Len(propValue) > 0 then if not checkEmail(fieldValue) then checkFields = propValue exit function end if end if set errEvent = getErrorEvent(CompNode, fieldName, "short") propValue = "0" if not errEvent is nothing then propValue = ssGetProperty(errEvent, "minimumlength") end if if CLng(propValue) > 0 then if Len(fieldValue) < CLng(propValue) then checkFields = ssGetProperty(errEvent, "message") exit function end if end if set errEvent = getErrorEvent(CompNode, fieldName, "long") propValue = "0" if not errEvent is nothing then propValue = ssGetProperty(errEvent, "maximumlength") end if if CLng(propValue) > 0 then if Len(fieldValue) > CLng(propValue) then checkFields = ssGetProperty(errEvent, "message") exit function end if end if end function %>