<% const upshashkey = "oiYhaTdaDa" dim pos,workrecord,words(2000),wordloc,wordcount,morewords Dim statuscode, statusmessage dim myconn 'VP-ASP 6.50 - Handle UPS 2007 Web Services Changes Dim ignoreerror ignoreerror = True Sub AnalyzeXML If getupsconfig("xtracexml",false, myconn)="Yes" then debugwrite "Data returned" debugwrite server.htmlencode(result) end if pos=0 Workrecord= Replace(result,"<","~") Workrecord= Replace(workrecord,">","~") Parserecord workrecord, words, Wordcount,"~" 'debugwrite "wordcount=" & wordcount wordloc=0 morewords=TRUE do while morewords=TRUE ' debugwrite "wordloc=" & wordloc ' debugwrite "words=" & words(wordloc) ProcessWord Words(wordloc) wordloc=wordloc+1 If wordloc>wordcount then morewords=false end if Loop If Statuscode<>"1" then xmlerror = "ERROR: DATA RETRIEVAL FAILED" end if end sub Sub AnalyzeLicenseRequestXML If getupsconfig("xtracexml",false, myconn)="Yes" then debugwrite "Data returned" debugwrite server.htmlencode(result) end if pos=0 Workrecord= Replace(result,"<","~") Workrecord= Replace(workrecord,">","~") Parserecord workrecord, words, Wordcount,"~" 'debugwrite "wordcount=" & wordcount wordloc=0 morewords=TRUE do while morewords=TRUE ' debugwrite "wordloc=" & wordloc ' debugwrite "words=" & words(wordloc) ProcessWord Words(wordloc) wordloc=wordloc+1 If wordloc>wordcount then morewords=false end if Loop If statusmessage = "Invalid license for the tool" then xmlerror = "ERROR: You need to re-register with UPS." end if If Statuscode<>"1" then xmlerror = "ERROR: DATA RETRIEVAL FAILED" end if end sub Sub Processword (fieldname) Dim tempoption, tempprice, ufieldname dim code,shippingmethod ufieldname=ucase(fieldname) Select Case uFieldname Case "USERID" Morewords=FALSE Statusmessage=words(wordloc+1) exit sub Case "RESPONSESTATUSCODE" Statuscode=words(wordloc+1) wordloc=wordloc+1 exit sub Case "ERRORCODE" Statuscode=words(wordloc+1) wordloc=wordloc+1 exit sub Case "RESPONSESTATUSDESCRIPTION" StatusMessage=words(wordloc+1) wordloc=wordloc+1 exit sub Case "/RATEDSHIPMENT" shippingcount=shippingcount+1 wordloc=wordloc+1 exit sub Case "DELIVERYDATE" ShippingDates(shippingcount)=words(wordloc+1) wordloc=wordloc+1 exit sub Case "RATEDSHIPMENT" wordloc=wordloc+5 code=words(wordloc) ServiceType=Convertshippingcode(code) wordloc=wordloc+1 ChargesFound=false exit sub Case "/RATEDPACKAGE" AddServicePrice servicetype, serviceprice, servicedate wordloc=wordloc+1 exit sub Case "TOTALCHARGES" ' tempoption=ShippingMethods(shippingcount) wordloc=wordloc+6 If chargesfound=false then ServicePrice=words(wordloc+1) wordloc=wordloc+1 chargesfound=true end if exit sub Case "/RATINGSERVICESELECTIONRESPONSE" MoreWords=False wordloc=wordloc+1 exit sub 'VP-ASP 6.50 - handle UPS 2007 changes Case "ERRORDESCRIPTION" If Not ignoreerror Then MoreWords=FALSE Statusmessage=words(wordloc+1) & "
" End If exit sub Case "ERRORSEVERITY" If UCase(words(wordloc+1)) = "WARNING" Then ignoreerror = True Else ignoreerror = False End If Exit sub Case "ACCESSLICENSETEXT" MoreWords=FALSE Statusmessage=words(wordloc+1) exit sub Case "ACCESSLICENSENUMBER" MoreWords=FALSE Statusmessage=words(wordloc+1) exit sub End select end sub Sub AddUPSAccessKeyToConfig dim sql, rs 'VP-ASP 6.50 - broadened defintion of IF statement to cover cases where xmysql hasn't been set if ucase(xdatabasetype) = "MYSQL" OR ucase(xdatabasetype) = "MYSQL351" OR getconfig("xMYSQL")="Yes" then sql = "select * from ups_config limit 0,1" else sql = "select TOP 1 * from ups_config" end if Set rs = Server.CreateObject("ADODB.RecordSet") rs.open SQL, myconn, adOpenKeyset, adLockOptimistic, adcmdText if not rs.eof then 'VP-ASP 6.50 - broadened defintion of IF statement to cover cases where xmysql hasn't been set if ucase(xdatabasetype) = "MYSQL" OR ucase(xdatabasetype) = "MYSQL351" OR getconfig("xMYSQL")="Yes" then 'VP-ASP 6.50 - precautionary security fix sql = "update ups_config set xupsacctno = '" & cleanchars(request("upsaccountno")) & "', AccessLicenceNum = '" & replace(EnDeCrypt(statusmessage,upshashkey), "'", "''") & "'" myconn.execute sql else 'VP-ASP 6.50 - precautionary security fix rs("xupsacctno") = cleanchars(request("upsaccountno")) rs("AccessLicenceNum") = EnDeCrypt(statusmessage,upshashkey) rs.update end if end if closerecordset rs ' ReloadConfig ' sql = "update ups_config set xupsacctno = '" & request("upsaccountno") & "', AccessLicenceNum = '" & EnDeCrypt(statusmessage,upshashkey) & "'" ' myconn.execute(sql) End Sub Sub AddUPSUserDataToConfig dim sql, rs 'VP-ASP 6.50 - broadened defintion of IF statement to cover cases where xmysql hasn't been set if ucase(xdatabasetype) = "MYSQL" OR ucase(xdatabasetype) = "MYSQL351" OR getconfig("xMYSQL")="Yes" then sql = "select * from ups_config limit 0,1" else sql = "select TOP 1 * from ups_config" end if Set rs = Server.CreateObject("ADODB.RecordSet") rs.open SQL, myconn, adOpenKeyset, adLockOptimistic, adcmdText if not rs.eof then 'VP-ASP 6.50 - broadened defintion of IF statement to cover cases where xmysql hasn't been set if ucase(xdatabasetype) = "MYSQL" OR ucase(xdatabasetype) = "MYSQL351" OR getconfig("xMYSQL")="Yes" then sql = "update ups_config set username = '" if ucase(statusmessage) <> "SUCCESS" then sql = sql & EnDeCrypt(statusmessage, upshashkey) & "', " else sql = sql & EnDeCrypt(getsess("username"), upshashkey) & "', " end if sql = sql & "Password = '" & EnDeCrypt(getsess("password"), upshashkey) & "'" myconn.execute sql else if ucase(statusmessage) <> "SUCCESS" then rs("Username") = EnDeCrypt(statusmessage, upshashkey) else rs("Username") = EnDeCrypt(getsess("username"), upshashkey) end if rs("Password") = EnDeCrypt(getsess("password"), upshashkey) rs.update end if end if closerecordset rs ' ReloadConfig ' sql = "update ups_config set username = '" & statusmessage & "', Password = '" & getsess("password") & "'" ' myconn.execute(sql) End Sub Sub AddUPSToShipMethods dim sql, rs 'CHECK IF UPS ALREADY EXISTS IN SHIPEMTHODS TABLE sql="select * from shipmethods where shiproutine = 'upsxmlrealtime.asp'" set rs=myconn.execute(sql) 'IF NOT, ADD IT if rs.eof then sql = "insert into shipmethods (shipmethod,shiproutine, shipcountry) VALUES ('UPS Real-Time','upsxmlrealtime.asp', 'other')" end if set rs=myconn.execute(sql) 'UPDATE SHIPPINGCALC IN CONFIG TO BE OTHER - NOT REQUIRED FOR 600 'sql = "update configuration set fieldvalue = 'other' WHERE fieldname = 'xshippingcalc'" 'set rs=myconn.execute(sql) 'ReloadConfig set rs = nothing End Sub Sub RemoveUPSFromConfig dim sql, rs 'VP-ASP 6.50 - broadened defintion of IF statement to cover cases where xmysql hasn't been set if ucase(xdatabasetype) = "MYSQL" OR ucase(xdatabasetype) = "MYSQL351" OR getconfig("xMYSQL")="Yes" then sql = "select * from ups_config limit 0,1" else sql = "select TOP 1 * from ups_config" end if Set rs = Server.CreateObject("ADODB.RecordSet") rs.open SQL, myconn, adOpenKeyset, adLockOptimistic, adcmdText if not rs.eof then 'VP-ASP 6.50 - broadened defintion of IF statement to cover cases where xmysql hasn't been set if ucase(xdatabasetype) = "MYSQL" OR ucase(xdatabasetype) = "MYSQL351" OR getconfig("xMYSQL")="Yes" then sql = "update ups_config set xupsacctno = '', AccessLicenceNum = '', username = '', password = ''" myconn.execute sql else rs("xupsacctno") = "" rs("AccessLicenceNum") = "" rs("Username") = "" rs("Password") = "" rs.update end if end if closerecordset rs sql = "delete from shipmethods WHERE shiproutine = 'upsxmlrealtime.asp'" set rs=myconn.execute(sql) set rs = nothing 'reloadconfig 'ReloadConfig End Sub Sub RequestLicense Dim xmlstring 'Create request doc xmlstring=xmlstring&"" ' xmlstring=xmlstring&"" xmlstring=xmlstring&"" xmlstring=xmlstring&"" xmlstring=xmlstring&"EULA Text" xmlstring=xmlstring&"1.0001" xmlstring=xmlstring&"" xmlstring=xmlstring&"AccessLicense" xmlstring=xmlstring&"AllTools" xmlstring=xmlstring&"" xmlstring=xmlstring&"" & GetUPSConfig("developerkey", true, myconn) & "" xmlstring=xmlstring&"" xmlstring=xmlstring&"US" xmlstring=xmlstring&"FR" xmlstring=xmlstring&"" xmlstring=xmlstring&"" xmlstring=xmlstring&"TrackXML" xmlstring=xmlstring&"1.0" xmlstring=xmlstring&"" xmlstring=xmlstring&"" xmlstring=xmlstring&"RateXML" xmlstring=xmlstring&"1.0" xmlstring=xmlstring&"" xmlstring=xmlstring&"" Shopxmlhttp getupsconfig("xml",false, myconn), getupsconfig("gatewaylocation_license",false, myconn), xmlstring, result, "POST", xmlerror ' dim xmlString ' xmlString = "" ' xmlString = xmlstring & "" ' xmlString = xmlstring & "" ' xmlString = xmlstring & "" ' xmlString = xmlstring & "License Test" ' xmlString = xmlstring & "1.0001" ' xmlString = xmlstring & "" ' xmlString = xmlstring & "AccessLicense" ' xmlString = xmlstring & "" ' xmlString = xmlstring & "FBD953535386AF70" ' xmlString = xmlstring & "" ' xmlString = xmlstring & "US" ' xmlString = xmlstring & "FR" ' xmlString = xmlstring & "" ' xmlString = xmlstring & "" ' xmlString = xmlstring & "RateXML" ' xmlString = xmlstring & "1.0" ' xmlString = xmlstring & "" 'xmlString = xmlstring & "" ' Shopxmlhttp getupsconfig("xml",false, myconn), getupsconfig("gatewaylocation_license",false, myconn), xmlstring, result, "POST", xmlerror End Sub Function GetUPSConfig (fieldname, encrypted, myconn) dim sql, upsrs, tempconfig, upsconn sql="select " & fieldname & " from ups_config" set upsrs=myconn.execute(sql) 'VP-ASP 6.09 - changed this IF from one line to two for greater accuracy 'if (NOT upsrs.eof) AND (upsrs(fieldname) > "") then if NOT upsrs.eof Then If upsrs(fieldname) > "" then if encrypted = true then tempconfig = EnDeCrypt(upsrs(fieldname),upshashkey) else tempconfig = upsrs(fieldname) end if End If end if closerecordset upsrs GetUPSConfig = tempconfig end function Sub AccessLicenseRequest RequestLicense if result > "" then ' upslicense = cstr(result) ' upslicense = right(upslicense, len(upslicense) - instr(upslicense, "") - 18) ' upslicense = left(upslicense, instrrev(upslicense, "") - 1) Dim xmldoc Set xmlDoc = Server.CreateObject("MSXML2.DOMDocument") xmlDoc.async = False If xmlDoc.loadxml(result) Then xmlDoc.setProperty "SelectionLanguage", "XPath" Set upslicense = xmlDoc.selectSingleNode("AccessLicenseAgreementResponse/AccessLicenseText") else response.write "LICENSE ERROR reading XML: " & xmldoc.parseError.reason & " (line: " & xmldoc.parseError.line & ")" response.end statuscode = 0 exit sub end if else response.write "LICENSE ERROR reading result" response.end statuscode = 0 exit sub end if xmlstring = xmlstring & "" ' encoding=""ISO-8859-1"" xmlstring = xmlstring & "" ' xml:lang=""en-US"" xmlstring = xmlstring & "" xmlstring = xmlstring & "" xmlstring = xmlstring & "Access Key Request" xmlstring = xmlstring & "1.0001" xmlstring = xmlstring & "" xmlstring = xmlstring & "AccessLicense" xmlstring = xmlstring & "AllTools" xmlstring = xmlstring & "" xmlstring = xmlstring & ""& getsess("companyname")&"" xmlstring = xmlstring & "
" xmlstring = xmlstring & ""& getsess("streetaddress")&"" xmlstring = xmlstring & ""& getsess("City")&"" xmlstring = xmlstring & ""&getsess("strState")&"" xmlstring = xmlstring & ""&getsess("PostalCode")&"" xmlstring = xmlstring & ""&getsess("strCountry")&"" xmlstring = xmlstring & "
" xmlstring = xmlstring & "" xmlstring = xmlstring & ""& getsess("ContactName")&"" xmlstring = xmlstring & ""& getsess("Title")&"" xmlstring = xmlstring & ""&getsess("phonenumber")&"" xmlstring = xmlstring & ""&getsess("emailaddress")&"" xmlstring = xmlstring & "" xmlstring = xmlstring & ""&getsess("websiteurl")&"" xmlstring = xmlstring & ""&getsess("upsaccountno")&"" xmlstring = xmlstring & "" & GetUPSConfig("developerkey", true, myconn) & "" xmlstring = xmlstring & "" xmlstring = xmlstring & ""&getsess("strCountry")&"" xmlstring = xmlstring & "EN" xmlstring = xmlstring & ""& Server.HTMLEncode(upslicense.nodeTypedValue) &"" xmlstring = xmlstring & "" xmlstring = xmlstring & "" xmlstring = xmlstring & "TrackXML" xmlstring = xmlstring & "1.0" xmlstring = xmlstring & "" xmlstring = xmlstring & "" xmlstring = xmlstring & "RateXML" xmlstring = xmlstring & "1.0" xmlstring = xmlstring & "" xmlstring = xmlstring & "" xmlstring = xmlstring & ""&getsess("upscontact")&"" xmlstring = xmlstring & "VP-ASP" xmlstring = xmlstring & "Rock Salt International Pty Ltd" xmlstring = xmlstring & "6.00" xmlstring = xmlstring & "" xmlstring = xmlstring & "
" Shopxmlhttp getupsconfig("xml",false, myconn), getupsconfig("gatewaylocation_license",false, myconn), xmlstring, result, "POST", xmlerror AnalyzeLicenseRequestXML ' xmlstring ="" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "License Test" ' xmlstring = xmlstring & "1.0001" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "AccessLicense" ' xmlstring = xmlstring & "AllTools" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "" & request("companyname") & "" ' xmlString = xmlstring & "
" ' xmlString = xmlstring & "" & request("streetaddress") & "" ' xmlString = xmlstring & "" & request("city") & "" ' xmlString = xmlstring & "" & request("strstate") & "" ' xmlString = xmlstring & "" & request("postalcode") & "" ' xmlString = xmlstring & "" & request("strcountry") & "" ' xmlString = xmlstring & "
" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "" & request("contactname") & "" ' xmlString = xmlstring & "" & request("title") & "" ' xmlString = xmlstring & "" & request("emailaddress") & "" ' xmlString = xmlstring & "" & request("phonenumber") & "" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "" & request("websiteurl") & "" ' xmlstring = xmlstring & "" & request("upsaccountno") & "" ' xmlstring = xmlstring & "" & GetUPSConfig("developerkey", true, myconn) & "" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "US" ' xmlstring = xmlstring & "EN" ' xmlstring = xmlstring & "" & upslicense.text ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "RateXML" ' xmlstring = xmlstring & "1.0" ' xmlstring = xmlstring & "" ' xmlstring = xmlstring & "
"' '' ' Shopxmlhttp getupsconfig("xml",false, myconn), getupsconfig("gatewaylocation_license",false, myconn), xmlstring, result, "POST", xmlerror ' AnalyzeXML End Sub Sub AddFormToSession 'VP-ASP 6.50 - precautionary security fix setsess "contactname", cleanchars(request("contactname")) setsess "title", cleanchars(request("title")) setsess "companyname", cleanchars(request("companyname")) setsess "streetaddress", cleanchars(request("streetaddress")) setsess "city", cleanchars(request("city")) setsess "strState", cleanchars(request("strState")) setsess "strCountry", cleanchars(request("strCountry")) setsess "postalcode", cleanchars(request("postalcode")) setsess "phonenumber", cleanchars(request("phonenumber")) setsess "websiteurl", cleanchars(request("websiteurl")) setsess "emailaddress", cleanchars(request("emailaddress")) setsess "upsaccountno", cleanchars(request("upsaccountno")) setsess "upscontact", cleanchars(request("upscontact")) End Sub Sub LicenseError %>
There has been an error:
<%=statusmessage%>
Please click the Back button on your browser to try again.

UPS, UPS brandmark, and the Color Brown are trademarks of United Parcel Service of America, Inc. All Rights Reserved.

<% End sub Sub RegistrationRequest Dim xmlstring 'Create request doc xmlstring=xmlstring&"" xmlstring=xmlstring&"" xmlstring=xmlstring&"" xmlstring=xmlstring&"" xmlstring=xmlstring&"x893" xmlstring=xmlstring&"1.0001" xmlstring=xmlstring&"" xmlstring=xmlstring&"Register" xmlstring=xmlstring&"suggest" xmlstring=xmlstring&"" setsess "username", generaterandomthing xmlstring=xmlstring&"" & getsess("username") & "" setsess "password", generaterandomthing xmlstring=xmlstring&"" & getsess("password") & "" xmlstring=xmlstring&"" xmlstring=xmlstring&"" & getsess("contactname") & "" xmlstring=xmlstring&"" & getsess("companyname") & "" xmlstring=xmlstring&"" & getsess("title") & "" xmlstring=xmlstring&"
" xmlstring=xmlstring&"" & getsess("streetaddress") & "" xmlstring=xmlstring&"" & getsess("city") & "" xmlstring=xmlstring&"" & getsess("strstate") & "" xmlstring=xmlstring&"" & getsess("postalcode") & "" xmlstring=xmlstring&"" & getsess("strcountry") & "" xmlstring=xmlstring&"
" xmlstring=xmlstring&"" & getsess("phonenumber") & "" xmlstring=xmlstring&"" & getsess("emailaddress") & "" xmlstring=xmlstring&"" & getsess("upsaccountno") & "" xmlstring=xmlstring&"" & getsess("postalcode") & "" xmlstring=xmlstring&"" & getsess("strcountry") & "" xmlstring=xmlstring&"
" xmlstring=xmlstring&"
" Shopxmlhttp getupsconfig("xml",false, myconn), getupsconfig("gatewaylocation_register",false, myconn), xmlstring, result, "POST", xmlerror AnalyzeXML End Sub Function generaterandomthing dim randomnumber randomize() randomnumber = Int((9999 - 1000 + 1) * Rnd + 1000) generateRandomThing = left(replace(getsess("contactname")," ",""), 3) & randomnumber & left(replace(getsess("phonenumber"), " ", ""), 3) end Function Sub AddMerchantInfoToConfig dim sql, rs 'VP-ASP 6.50 - broadened defintion of IF statement to cover cases where xmysql hasn't been set if ucase(xdatabasetype) = "MYSQL" OR ucase(xdatabasetype) = "MYSQL351" OR getconfig("xMYSQL")="Yes" then sql = "select * from ups_config limit 0,1" else sql = "select TOP 1 * from ups_config" end if Set rs = Server.CreateObject("ADODB.RecordSet") rs.open SQL, myconn, adOpenKeyset, adLockOptimistic, adcmdText if not rs.eof then 'VP-ASP 6.50 - broadened defintion of IF statement to cover cases where xmysql hasn't been set if ucase(xdatabasetype) = "MYSQL" OR ucase(xdatabasetype) = "MYSQL351" OR getconfig("xMYSQL")="Yes" then 'VP-ASP 6.50 - precautionary security fix sql = "update ups_config set xMerchantCountry = '" & cleanchars(request("strCountry")) & "', xMerchantState = '" & cleanchars(request("strState")) & "', " sql = sql & "xMerchantCity = '" & cleanchars(request("city")) & "', xMerchantPostcode = '" & cleanchars(request("postalcode")) & "'" myconn.execute sql else 'VP-ASP 6.50 - precautionary security fix rs("xMerchantCountry") = cleanchars(request("strCountry")) rs("xMerchantState") = cleanchars(request("strState")) rs("xMerchantCity") = cleanchars(request("city")) rs("xMerchantPostcode") = cleanchars(request("postalcode")) rs.update end if end if closerecordset rs End Sub Sub ReloadConfig() dim initname initname="init" & "_" & xshopid application(initname)="" LoadApplicationVariables setconfig shoplcname,"" End Sub %>